selenium 1和selenium 2的原理比较

发表于:2018-9-14 11:47

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Yve_Mei    来源:CSDN

  一、 selenium 1的原理
  selenium 1 包括以下两部分:selenium server、 Client Libraries组成
  1. selenium server
  selenium server负责控制浏览器的行为。主要有launcher,Http Proxy,selenium core。selenium core使用Selenium Server嵌入到浏览器页面中。实质上,selenium core是由JS函数组成,这样我们可以实现用程序对浏览器进行操作。
  2. client Libraries
  编写测试用例时控制selenium server的库
  3. selenium RC与TestCase之间的关系
   
  4. testCase 工作过程
  (1).测试案例(Testcase)通过Client Lib的接口向Selenium Server发送Http请求,要求和Selenium Server建立连接。
  为什么要通过发送Http请求控制Selenium Server而不采用其他方式呢?从上文可以看出,Selenium Server是一个独立的中间服务器(确切地说是代理服务器),它可以架设在其他机器上!所以测试案例通过发送HTTP请求去控制Selenium Server是很正常的。
  (2).Selenium Server的Launcher启动浏览器,把Selenium Core加载入浏览器页面当中,并把浏览器的代理设置为Selenium Server的Http Proxy。
  (3).测试案例通过Client Lib的接口向Selenium Server发送Http请求,Selenium Server对请求进行解析,然后通过Http Proxy发送JS命令通知Selenium Core执行操作浏览器的动作。
  (4).Selenium Core接收到指令后,执行操作。
  (5).浏览器收到新的页面请求信息(因为在(4)中,Selenium Core的操作可能引发新的页面请求),于是发送Http请求,请求新的Web页面。
  由于Selenium Server在启动浏览器时做了手脚,所以Selenium Server会接收到所有由它启动的浏览器发送的请求。
  (6).Selenium Server接收到浏览器的发送的Http请求后,自己重组Http请求,获取对应的Web页面。
  (7).Selenium Server的Http Proxy把接收的Web页面返回给浏览器。
  二、 selenium 2-selenium webDriver原理
  1. 直接利用浏览器原生的API,封装成更加面向对象的selenium WebDriver API,直接操作浏览器页面里的元素,甚至操作浏览器本身。如:截屏、窗口大小、启动、关闭、安装插件、配置证书等。
  2. selenium 2是基于对象的测试。不同的对象拥有不同的操作方法。selenium 1则更多的基于方法的API。
  3. WebDriver还支持Android和ios上的浏览器
  4. 便于与junit和testNG结合
  5. selenium Grid实现多平台同时测试,满足兼容性测试需求

   上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号