这些web 自动化常见问题,你不知道就out了!

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各版本 http://ftp.mozilla.org/pub/firefox/releases/

Firefox驱动 镜像 https://npm.taobao.org/mirrors/geckodriver/

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”);

下载地址 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

  1. 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的设置)DesiredCapabilitiescapabilities=newDesiredCapabilities();capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);

  1. IE浏览器缩放设置

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

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

错误总结:

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

解决办法:

忽略此设置:InternetExplorerDriver.IGNORE_ZOOM_SETTING 代码:

DesiredCapabilitiescapabilities=newDesiredCapabilities();capabilities.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING,true);

  1. IE浏览器window丢失问题

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

unable to find element with id – kw

错误总结:

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

解决办法:

最快的解决办法是直接指定一个初始化页面 InternetExplorerDriver.INITIAL_BROWSER_URL 代码:

DesiredCapabilitiescapabilities=newDesiredCapabilities();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”);

  1. 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浏览器各版本 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

写在最后:

忙的时候虽然累,但是忙完了会特别畅快舒服;闲的时候虽然爽,但是闲的时间长了心就慌了。你迷茫的原因往往只有一个,那就是在本该拼命去努力的年纪,想得太多,做得太少。

所以朋友们确定目标,不忘初心,勇往直前,相信最后一定可以开出一朵属于自己的花儿来,加油。
在这里插入图片描述
絮叨:

在这里推荐一个我自己创建的软件测试交流群,QQ:642830685,群中会不定期的分享软件测试资源,测试面试题以及测试行业资讯,大家可以在群中积极交流技术,还有行业大佬为你答疑解惑。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_53519100/article/details/113951926