Selenium简介 2018-04-20

分类: core

Tags: core

Selenium简介

Selenium的前世今生

Selenium1.0

Selenium2.0(WebDriver)

Selenium工具套件

Selenium1.0(Selenium RC)与WebDriver实现原理

Selenium RC 工作原理

Selenium RC的代理模式的实现机制如下图所示

selenium-rc工作流程

  1. 我们运用client Library编写代码,编写测试用例,然后执行,通过接口向Selenium server发送http请求,和server建立连接
  2. selenium server用launcher启动浏览器,并把selenium-core这个JS代码注入到浏览器。
  3. server接受测试命令(The Server receives the Selenese commands from your test program using simple HTTP GET/POST requests.—原网站解释),并转换为JS命令发送给浏览器,core执行,控制浏览器进行模拟操作。
  4. 浏览器如果向服务器发送请求,selenium server接收到浏览器的HTTP请求后,发送给服务器,在接收到服务器返回时,自己重组返回的信息,以此欺骗浏览器是从同一个服务器返回(为了绕过浏览器的安全机制:同源策略,Selenium Core的JS脚本的“源”是localhost)

总结:由此见了Selenium 1是通过往浏览器里嵌入JS,同时发送JS命令来控制浏览器,因为每个浏览器对JS的解释机制不同,而且安全限制等,造成了Selenium 1的局限性。

WebDriver工作原理

webdriver-work-flow

从上图中我们可以看出,不同浏览器的WebDriver子类,都需要依赖特定的浏览器原生组件,例如运行Firefox就需要一个add-on名字叫webdriver.xpi。而IE的话就需要用到一个dll文件来转化Web Service的命令为浏览器native的调用。另外,图中还标明了WebDriver Wire协议是一套基于RESTful的web service

Selenium1.0和WebDriver对比

Selenium1.0的优缺点

WebDriver的优缺点

相关文章

  mysql查询   TCP IP协议简介   LoadRunner简介   数据库   软件测试读书笔记   软件测试读书笔记   软件测试读书笔记   三阶魔方复原口诀   window7上 ruby + selenium-webdriver 环境搭建   Metaprogramming Ruby Study


Zhenglina的官方网站©2020
Powered by jekyll
若对文章感兴趣,转载时请注明出处,谢谢