来源:http://blog.csdn.net/huilan_same/article/details/51896672
http://www.cnblogs.com/thinkCoding/p/6497607.html
Selenium可支持的【真实】浏览器驱动:
PC端驱动:firefox、safari、ie、chrome、opera driver
移动端驱动: Windows Phone、Selendroid、ios-driver、Appium 支持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);
.........