FireFox:
1、检查本地Firefox浏览器的版本
2、去官网下载对应版本的驱动
Change Log :https://github.com/mozilla/geckodriver/blob/release/CHANGES.md
Firefox各版本: http://ftp.mozilla.org/pub/firefox/releases/
Firefox驱动镜像网址 :https://npm.taobao.org/mirrors/geckodriver/
建议大家使用57版本的Firefox。
Firefox与geckodriver对应版本说明:
3、下载驱动,把该驱动放到工程目录下(test的resources下),如没有则在test目录下新建一个resources的文件夹,在文件夹下双击resource
4、设置驱动路径
System.setProperty("webdriver.gecko.driver","src\test\resources\geckodriver.exe");
IE:
1、IE浏览器的驱动跟着Selenium版本走即可,比如当前项目使用的Selenium是V3.141.59,那么去Selenium 的镜像网址下载对应版本的IEDriverServer驱动即可(建议使用32位的);
https://npm.taobao.org/mirrors/selenium
2、下载驱动,把该驱动放到工程目录下(test的resources下),如没有则在test目录下新建一个resources的文件夹,在文件夹下双击resource
3、设置驱动路径
System.setProperty("webdriver.ie.driver","src\test\resources\IEDriverServer.exe");
安装过程可能遇到问题的解决办法:
1、firefox火狐浏览器去完成自动化测试时,代码报了如下错误:Cannot find firefox binary in PATH. mark sure firefox is installed
错误原因:firefox安装在其它路径,不是默认的安装路径
解决办法:指定firefox可执行文件路径:webdriver.firefox.bin
代码设置:
System.setProperty("webdriver.firefox.bin", "D:\Program Files\MozillaFirefox\firefox.exe");
2、使用selenium3.x+firefox火狐浏览器去完成自动化测试时,代码报了如下错误:The path to the driver executable must be set by the webdriver.gecko.driver system properity
错误原因:缺少火狐浏览器驱动包。如果selenium版本是3.x的,需要使用驱动包
解决办法:往项目中添加火狐驱动包,并加载驱动的配置。至于该驱动版本适配的浏览器和selenium版本在驱动的 change log里有说明(如:使用selenium 3.5.1+firefox 56)
代码设置:
System.setProperty("webdriver.gecko.driver","src/test/resources/geckodriver.exe");
3、使用IE浏览器去完成自动化测试时,代码报了如下错误: The path to the driver executable must be set by the webdriver.ie.driver system property
错误原因:缺少IE浏览器驱动包
解决办法:往项目中添加IE驱动包,并加载驱动的配置
代码设置:
System.setProperty("webdriver.ie.driver", "src/test/resources/IEDriverServer.exe");
下载地址:http://www.seleniumhq.org/download/
IE驱动版本与Selenium版本保持相同即可
http://selenium-release.storage.googleapis.com/index.html
4、使用IE浏览器去完成自动化测试时,代码报了如下错误:Protected Mode Settings are not the same for all zones
解决方法1: 浏览器设置(但是换一台电脑就不适用了) 打开IE浏览器->工具->安全->全部勾选启用保护模式
解决方法2: 忽略浏览器保护模式的设置 InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS
代码:
//取消IE安全设置(忽略IE的Protected Mode的设置) DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURI TY_DOMAINS, true);
5、使用IE浏览器去完成自动化测试时,代码报了如下错误: Browser zoom level was set to 125%.It should be set to 100%
错误原因:浏览器缩放级别设置不对导致的(点工具栏页面->缩放设置)
解决办法:忽略此设置:InternetExplorerDriver.IGNORE_ZOOM_SETTING
代码:
DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);
6、使用IE浏览器去完成自动化测试时,代码报了如下错误:unable to find element with id -- kw
错误原因:不是因为没有设置等待时间,而是因为之前的window对象已经丢失
解决办法:最快的解决办法是直接指定一个初始化页面 InternetExplorerDriver.INITIAL_BROWSER_URL
代码:
DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(InternetExplorerDriver.INITIAL_BROWSER_URL,"http://www.baidu.com");