2.5 webDriver的多浏览器测试

Posted 风少

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.5 webDriver的多浏览器测试相关的知识,希望对你有一定的参考价值。

来源:http://blog.csdn.net/huilan_same/article/details/51896672

            http://www.cnblogs.com/thinkCoding/p/6497607.html

 

Selenium可支持的【真实】浏览器驱动:

  PC端驱动:firefox、safari、iechromeopera driver

  移动端驱动: Windows PhoneSelendroidios-driverAppium  支持iphone、ipad、android、FirefoxOS【第三方】

 

  safari、ff都是以插件形式驱动浏览器本身的;ie、chrome都是通过二进制文件来驱动浏览器本身的;

  这些driver都是直接启动并通过调用浏览器的底层接口来驱动浏览器的,因此具有最真实的用户场景模拟,主要用于进行web的兼容性测试使用。

 

selenium可支持的【伪浏览器】驱动:

  htmlUnit 、PhantomJS 

  它们都不是真正的在浏览器、都没有GUI,而是具有支持html、js等解析能力的类浏览器程序;这些程序不会渲染出网页的显示内容,但是支持页面元素的查找、JS的执行等;由于不进行css及GUI渲染,所以运行效率上会比真实浏览器要快很多,主要用在功能性测试上面。htmlunit是Java实现的类浏览器程序,包含在selenium server中,无需驱动,直接实例化即可;其js的解析引擎是Rhino。

 

 

Chrome浏览器驱动 下载

webdriver操作chrome浏览器的驱动程序:http://chromedriver.storage.googleapis.com/index.html

 

运行时,会有错误提示:unknown error: Runtime.executionContextCreated has invalid \'context\'

>>说明安装的chromedriver不是最新版,有可能导致与chrome浏览器版本不兼容而报如下错误 。如上截图中,跳转到父目录,下载最新的版本即可。当前最新的版本是 2.28

 

 

 

chromedriver与chrome的版本也是要相互适宜的 。否则也会有报错。比如提示 “  请停止使用以开发者模式运行的扩展程序 ”

chromedriver版本支持的Chrome版本
v2.29 v56-58
v2.28 v55-57
v2.27 v54-56
v2.26 v53-55
v2.25 v53-55
v2.24 v52-54
v2.23 v51-53
v2.22 v49-52
v2.21 v46-50
v2.20 v43-48
v2.19 v43-47
v2.18 v43-46
v2.17 v42-43
v2.13 v42-45
v2.15 v40-43
v2.14 v39-42
v2.13 v38-41
v2.12 v36-40
v2.11 v36-40
v2.10 v33-36
v2.9 v31-34
v2.8 v30-33
v2.7 v30-33
v2.6 v29-32
v2.5 v29-32
v2.4 v29-32

 

IE浏览器驱动 下载

webdriver操作IE浏览器的驱动程序:访问 http://docs.seleniumhq.org/download 搜索 64 bit Windows IE  下载IEDriverServer.exe

 

import org.openqa.selenium.ie.InternetExplorerDriver;
....
System.setProperty("webdriver.ie.driver","D:\\\\IEDriverServer.exe");         
driver =new InternetExplorerDriver();

 

 多浏览测试时,选择IE驱动,可能会启动失败,这个时候,需要:

 

 

Firefox 下载

 

旧版本安装原因:

 

Firefox不能安装太新的版本,不然会和selenium不能兼容。运行会有报错。比如提示:

 

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055

 

盘古开天以来Firefox的所有版本网址:http://ftp.mozilla.org/pub/firefox/releases/

1.1访问网址后 http://ftp.mozilla.org/pub/firefox/releases/ 。找到想要的版本。比如版本38.0.1

1.2 在点击38.0.1后,进入的网址 http://ftp.mozilla.org/pub/firefox/releases/38.0.1/ 中,选择 win32-EME-free

1.3 在点击win32-EME-free 后,进入的网址http://ftp.mozilla.org/pub/firefox/releases/38.0.1/win32-EME-free/ 中,搜索  zh-CN。即中文版。点击下载后安装即可。

 

 

 

 

HtmlUnit 伪浏览器驱动

htmlunit是Java实现的类浏览器程序,包含在selenium server中,无需驱动,直接实例化即可;其js的解析引擎是Rhino。

优点:HtmlUnitDriver不会实际打开浏览器,运行速度很快。对于用FireFox等浏览器来做测试的自动化测试用例,运行速度通常很慢,HtmlUnitDriver无疑是可以很好地解决这个问题。

缺点:HtmlUnitDriver对javascript的支持不够好,当页面上有复杂JavaScript时,经常会捕获不到页面元素


WebDriver driver = new HtmlUnitDriver(false); driver.get(url);
.........

 

以上是关于2.5 webDriver的多浏览器测试的主要内容,如果未能解决你的问题,请参考以下文章

selenium WebDriver的实现原理

创建你的第一个webdriver python代码

WebDriver自动化测试工具---PhantomJS的使用

Selenium WebDriver - Chrome - C# - 无法在隐身模式下启动selenium浏览器作为最大化的浏览器

Selenium与WebDriver的关系

当浏览器窗口重叠时,并行运行Selenium测试失败