【问题标题】:grunt-protractor-runner and Cross-Browser testinggrunt-protractor-runner 和跨浏览器测试
【发布时间】:2014-07-30 10:22:20
【问题描述】:

我能够在我当前的设置上成功地在 chrome 上运行测试,但是我无法将其他浏览器添加到我的测试中。我正在使用 grunt 模块“grunt-protractor-runner”来运行我的 e2e 测试。

环顾四周,我知道 grunt-protractor-runner 模块确实支持 multiCapabilities,所以从表面上看,我希望编辑目标配置文件以包含 multiCapabilities 并将 chromeOnly 更新为 false 的简单任务。

虽然我可以通过 multiCapabilities,但我无法将 chromeOnly 选项更改为“false”并让我的测试成功运行。将 Firefox 和 Chrome 传递给 multiCapabilities 时出现的错误,

运行 2 个 WebDriver[launcher] 运行程序进程退出,错误代码为: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、protractor 0.23.1、chromedriver 2.9 和 selenium-server-standalone 2.41.0

【问题讨论】:

    标签: selenium-webdriver gruntjs protractor end-to-end


    【解决方案1】:

    看来我已经能够解决这个问题了——它与没有启动独立的 selenium 服务器有关,而 grunt-protractor-runner 自己并不能这样做。

    解决这个问题的方法是使用webdriver-manager start --standalone 在量角器网络驱动程序的位置打开一个新控制台,并像以前一样使用 grunt-protractor-runner 运行测试;或者像我目前一样,使用 grunt-protractor-webdriver 模块并将其包含在要调用的 grunt 任务中。

    在我的 protractor.conf.js 文件中,我删除了 chromeOnly: true 并添加了一个 multiCapabilities 浏览器数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-11
      • 1970-01-01
      • 2019-02-18
      • 2015-11-03
      • 2012-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多