javaselenium遇到的问题和解决方法(还没试,遇到问题可以先看这里)

梦想的初衷 提交于 2019-12-05 03:13:10


Firefox路径问题

 

firefox火狐浏览器去完成自动化测试时,代码报了如下错误:

Cannot find firefox binary in PATH. mark sure firefox is installed

错误原因:

 

firefox安装在其它路径,不是默认的安装路径

 

解决办法:

 

指定firefox可执行文件路径:webdriver.firefox.bin

 

代码设置:

 

 

 

 


selenium 3.x Friefox驱动问题

 

使用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)

 

代码设置:

 

 

 


selenium与驱动版本匹配问题

 

使用selenium2.x版本+firefox去完成自动化测试时,代码报了如下错误:

Unable to connect to host 127.0.0.1 on port 7055 after 45000ms

 

错误总结:

 

firefox浏览器版本和selenium版本不适配。

 

解决办法:

 

建议降级火狐版本到47以下(比如:selenium 2.53.0+firefox 46)

 

 


selenium fox firefox说明

 

selenium 2.x

 

selenium 2.x中自动集成了firefox驱动。

 

因此只须selenium 版本与firefox浏览器版本对应即可

 

 

 

 

selenium 3.x

 

selenium,geckodriver,firefox 对应版本说明:

 

 

 

◆ 从selenium 3.0.0开始就要求firefox为48及以上版本

 

◆ selenium 3.x使用的java版本为jdk 1.8

 

◆ selenium 3.x使用geckodriver作为firefox浏览器的驱动的替代

 

 

 


Firefox自动化相关工具链接

 

Changelog 

 

https://raw.githubusercontent.com/SeleniumHQ/selenium/master/java/CHANGELOG

 

Firefox驱动

 

https://github.com/mozilla/geckodriver/releases/

 

Firefox各版本 

 

http://ftp.mozilla.org/pub/firefox/releases/

 

Firefox驱动 镜像 

 

https://npm.taobao.org/mirrors/geckodriver/

 

 

 


IE浏览器驱动问题

 

使用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/

 

建议下载版本:3.7.0 

 

http://selenium-release.storage.googleapis.com/index.html?path=3.7/

 

 

IE驱动版本与Selenium版本保持相同即可

 

http://selenium-release.storage.googleapis.com/index.html

 

 

IE浏览器保护模式问题

 

使用IE浏览器去完成自动化测试时,代码报了如下错误:

Protected Mode Settings are not the same for all zones

解决方法1:

 

浏览器设置(但是换一台电脑就不适用了) 打开IE浏览器->工具->安全->全部勾选启用保护模式

 

解决方法2:

 

忽略浏览器保护模式的设置

 

InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS 

 

代码:

 

 

 

 


IE浏览器缩放设置

 

使用IE浏览器去完成自动化测试时,代码报了如下错误:

Browser zoom level was set to 125%.It should be set to 100%

错误总结:

 

浏览器缩放级别设置不对导致的(点工具栏页面->缩放设置)

 

解决办法:

 

忽略此设置:

 

InternetExplorerDriver.IGNORE_ZOOM_SETTING 

 

代码:

 

 

 


IE浏览器window丢失问题

 

使用IE浏览器去完成自动化测试时,代码报了如下错误:

unable to find element with id -- kw

错误总结:

 

不是因为没有设置等待时间,而是因为之前的window对象已经丢失

 

解决办法:

 

最快的解决办法是直接指定一个初始化页面

 

InternetExplorerDriver.INITIAL_BROWSER_URL 

 

代码:

 

 

 

Chrome

 

 

chrome浏览器驱动路径

 

使用Chrome做测试时,报了如下错误:

The path to the driver executable must be set by the webdirver.chrome.driver system properity

解决方案:

 

系统设置Chrome驱动文件的路径

 

 

 


chrome浏览器与chromeDriver匹配

 

使用chrome浏览器去完成自动化测试时,chrome浏览器停止运行

chromedriver.exe 已停止工作

错误总结:

 

chrome浏览器版本过高,虽然根据官网上的信息,2.33的chrome驱动支持60-62的谷歌。

 

但是60根本不行。

 

解决办法:

 

降级chrome

 

 

chrome与chromeDriver版本对照表

 

 

chrome浏览器各版本 

 

http://www.chromedownloads.net/chrome64win/

 

禁止谷歌浏览器更新

 

https://jingyan.baidu.com/article/76a7e409f2137afc3b6e15be.html

 

ChromeDriver 镜像 

 

http://npm.taobao.org/mirrors/chromedriver

 

Selenium 镜像 

 

http://npm.taobao.org/mirrors/selenium

 

JDK版本问题

 

使用3.x的selenium来完成自动化测试时,代码报了如下错误:

Exception in thread "main" java.lang.UnsupportedClassVersionError:

错误总结:

 

3.x的selenium需要1.8的jdk,可能jdk版本过低

 

解决办法:

 

降级selenium版本,或提高jdk的版本为1.8

 

来源: https://mp.weixin.qq.com/s/BKcHSuEtfn9zlD9MI8zdkQ

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!