一文搞定web自动化环境常见问题

 🔥 交流讨论:欢迎加入我们一起学习!

🔥 资源分享耗时200+小时精选的「软件测试」资料包

🔥 教程推荐:火遍全网的《软件测试》教程  

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

Firefox

1. Firefox路径问题

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\\Mozilla Firefox\\firefox.exe");

2. selenium 3.x Firefox驱动问题

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

4.selenium for firefox说明

selenium 2.x

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

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

selenium版本Firefox浏览器
2.25.0v 18
2.30.0v 19
2.31.0v 20
2.42.2v 29
2.44.0v 33 (不支持31)
2.52.0v 45.0
2.53.0v 46.0
2.53.1v 47.0.1
selenium 3.x

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

selenium版本geckodriver版本Firefox版本
3.30.15v 48+
3.40.16v 52
3.40.17v 52
3.40.18v 53
3.50.19v 55
3.110.21v 57
  • 从selenium 3.0.0开始就要求firefox为48及以上版本
  • selenium 3.x使用的java版本为jdk 1.8
  • selenium 3.x使用geckodriver作为firefox浏览器的驱动的替代

4、Firefox自动化相关工具链接

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

Firefox驱动https://github.com/mozilla/geckodriver/releases/

Firefox各版本 Directory Listing: /pub/firefox/releases/

Firefox驱动 镜像 CNPM Binaries Mirror

InternetExplorer

1. 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");

下载地址 Downloads | Selenium

建议下载版本:3.7.0
http://selenium-release.storage.googleapis.com/index.html?path=3.7/

IE驱动版本与Selenium版本保持相同即可
http://selenium-release.storage.googleapis.com/index.html

2. IE浏览器保护模式问题

使用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_SECURITY_DOMAINS, true);

3. IE浏览器缩放设置

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

4. IE浏览器window丢失问题

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

Chrome

1. chrome浏览器驱动路径

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

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

解决方案:

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

System.setProperty("webdriver.chrome.driver", "xxx");

2. chrome浏览器与chromeDriver匹配问题

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

chromedriver.exe 已停止工作

错误总结:

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

解决办法:

降级chrome

3.Chrome与ChromeDriver版本对照表

ChromeDriver 版本支持的 Chrome 版本
v2.41v67-69
v2.40v66-68
v2.39v66-68
v2.38v65-67
v2.37v64-66
v2.36v65-67
v2.35v62-64
v2.34v61-63
v2.33v60-62
v2.32v59-61
v2.31v58-60
v2.30v58-60
v2.29v56-58

chrome浏览器各版本
Google Chrome 64bit Windows版_chrome浏览器,chrome插件,谷歌浏览器下载,谈笑有鸿儒

禁止谷歌浏览器更新
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

最后我邀请你进入我们的【软件测试学习交流群:785128166】, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:程序员二黑】自提!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值