我是Protractor工具的新手。我无法在多个浏览器中运行我的测试脚本,只能在Chrome中运行。
我正在使用
我需要使用Visual Studio代码IDE自动化Angular 4应用程序。我在下面添加了我的Protractor.conf.js的“多功能”选项。
multiCapabilities:[{
'browserName' : 'chrome'},
{'browserName':'firefox'}]
测试脚本仅在Chrome浏览器中运行,对于firefox,它显示错误
[11:47:37] I/launcher - 0 instance(s) of WebDriver still running
[11:47:37] I/launcher - firefox #01 failed with exit code: 135
[11:47:37] I/launcher - chrome #11 passed
[11:47:37] I/launcher - overall: 1 process(es) failed to complete
[11:47:37] E/launcher - Process exited with error code 100
如何在多个浏览器中并行设置和运行测试脚本?
答案 0 :(得分:1)
对于Firefox v48及更高版本,您还需要添加木偶功能:
multiCapabilities:[
{'browserName' : 'chrome'},
{'browserName':'firefox',
'marionette': true}]
更新:
Protractor 5.1.1中引入了open issue #4253。解决方法是手动将directConnect
替换为seleniumAddress
并按照错误中的指定手动启动webdriver-manager
:
解决方案是在使用Firefox进行测试时使用selenium standalone。 最新版本的selenium独立服务器兼容 使用Protractor的selenium JS绑定和geckodriver。您可以 使用
更新并启动独立服务器webdriver-manager update webdriver-manager start
并设置
seleniumAddress: http://localhost:4444/wd/hub
答案 1 :(得分:0)
我可以想到你的错误的几个原因。这里有一些建议:
默认情况下,Protractor仅更新Chrome驱动程序。所以请尝试webdriver-manager update
as described here。
如果没有这个技巧,请检查你的firefox驱动程序是否在预期的位置。 Read more about here
如果你仍然没有运气,你可能会在当前的Firefox驱动程序和最新的Firefox浏览器之间找到不兼容的地方(例如,如果你测试新的firefox浏览器版本)。 Read about the same issue for Chrome here。当然,它对Firefox也有同样的作用。