我能够在我当前的设置上成功运行chrome测试,但是我无法在测试中添加其他浏览器。我正在使用grunt模块' grunt-protractor-runner'运行我的e2e测试。
环顾四周我知道grunt-protractor-runner模块确实支持multiCapabilities,所以从表面上看,我希望编辑目标配置文件的简单任务包括multiCapabilities并将chromeOnly更新为false。
虽然我可以传递multiCapabilities,但我无法将chromeOnly选项更改为' false'并让我的测试成功运行。将Firefox和Chrome传递给multiCapabilities时出现错误,
运行2个WebDriver实例[launcher] Runner进程退出错误代码:8
------------------------------------
PID: 7812 (capability: chrome #1)
------------------------------------
Using the selenium server at http://localhost:4444/wd/hub
C:\Project\node_modules\protractor\node_modules\selenium- webdriver\lib\webdriver\promise.js:1702
throw error;
^
------------------------------------
PID: 6444 (capability: firefox #1)
------------------------------------
Using the selenium server at http://localhost:4444/wd/hub
C:\Project\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:1702
throw error;
^
我在Windows 7上运行我的设置,使用grunt-protractor-runner 1.0.1,量角器0.23.1,chromedriver 2.9和selenium-server-standalone 2.41.0
答案 0 :(得分:1)
似乎我已经能够解决这个问题了 - 它与没有启动一个独立的selenium服务器有关,grunt-protractor-runner没有自己做。
解决这个问题的方法是使用webdriver-manager start --standalone
在量角器网络驱动程序的位置打开一个新控制台,然后像以前一样使用grunt-protractor-runner运行测试;或者我现在使用grunt-protractor-webdriver模块并将其包含在要调用的grunt任务中。
在我的protractor.conf.js文件中,我删除了chromeOnly: true
并添加了一个multiCapabilities浏览器数组。