给exe加web页面_一篇文章解决 web 自动化常见问题

3b380974019ae6b4605c65798d879a85.gif点击上方 蓝字关注我们~软件测试大师  让测试so easy

我们继续分享自动化测试相关的小tips,

15af740dd013801786da0352ee5eb921.png

今天的文章告诉小伙伴们 Web 自动化常见的问题该如何去解决。

1 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 说明

1.selenium 2.x

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

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

selenium 版本Firefox 浏览器

2.25.0

v 18

2.30.0

v 19

2.31.0

v 20

2.42.2

v 29

2.44.0

v 33 (不支持 31)

2.52.0

v 45.0

2.53.0

v 46.0

2.53.1

v 47.0.1

2.selenium 3.x

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

selenium 版本geckodriver 版本Firefox 版本

3.3

0.15

v 48+

3.4

0.16

v 52

3.4

0.17

v 52

3.4

0.18

v 53

3.5

0.19

v 55

3.11

0.21

v 57

  • 从 selenium 3.0.0 开始就要求 Firefox 为 48 及以上版本

  • selenium 3.x 使用的 Java 版本为 JDK 1.8

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

5.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/

2 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

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的ProtectedMode的设置)

DesiredCapabilities capabilities

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

=newDesiredCapabilities();capabilities.setCapability(InternetExplorerDriver.INITIAL_BROWSER_URL, "http://www.baidu.com");

3 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.41

v67-69

v2.40

v66-68

v2.39

v66-68

v2.38

v65-67

v2.37

v64-66

v2.36

v65-67

v2.35

v62-64

v2.34

v61-63

v2.33

v60-62

v2.32

v59-61

v2.31

v58-60

v2.30

v58-60

v2.29

v56-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

4JDK 版本问题

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

Exceptioninthread"main"java.lang.UnsupportedClassVersionError:

错误总结:

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

解决办法:

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

有志者立长志,无志者长立志

这里是软件技术大师专门分享

软件工程师成长方向和各种 tips

面试技巧、职场知识以及其他有趣的内容...

f98de7495426135fb2ec920d8bd97d3f.gif

END

1a1a6ef53321ab2f222f947924c1fe76.png

▼往期精彩回顾▼部署安装 Linux 系统 centos6[测试小白必备] 测试报告如何编写? 03389a78838216b4be308e3a7c2b2c53.png点分享 e4440b432a9f545346da557e7fc5079e.png点点赞 0d7eef9234ec24fbf1cee504c48e140c.png点在看
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值