无法在“角色4应用程序”中运行“Firefox浏览器中的量角器测试脚本”

时间:2017-10-14 06:24:49

标签: angular jasmine webdriver protractor

我是Protractor工具的新手。我无法在多个浏览器中运行我的测试脚本,只能在Chrome中运行。

我正在使用

  1. 节点:v6.11.3
  2. NPM:3.10.10
  3. 量角器:5.1.2
  4. 我需要使用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
    

    如何在多个浏览器中并行设置和运行测试脚本?

2 个答案:

答案 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也有同样的作用。