【问题标题】:Angular E2E - Error with Selenium/Protractor ConfigAngular E2E - Selenium/量角器配置错误
【发布时间】:2017-02-10 04:26:45
【问题描述】:

我正在尝试使用量角器进行一些 e2e 测试,但以前从未使用过它。该项目是使用 yeoman-gulp-angular 生成的,并且有一些预定义的测试任务/配置。当我尝试执行任务时,我看到 selenium 已经启动,然后 stacktrace 在 selenium 关闭之前输出了一些错误。配置中是否缺少某些内容?

量角器配置

'use strict';

var paths = require('./.yo-rc.json')['generator-gulp-angular'].props.paths;

// An example configuration file.
exports.config = {
  // The address of a running selenium server.
  //seleniumAddress: 'http://localhost:4444/wd/hub',
  //seleniumServerJar: deprecated, this should be set on node_modules/protractor/config.json

  // Capabilities to be passed to the webdriver instance.
  capabilities: {
    'browserName': 'chrome'
  },

  // Spec patterns are relative to the current working directly when
  // protractor is called.
  specs: [paths.e2e + '/**/*.js'],

  // Options to be passed to Jasmine-node.
  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 30000
  }
};

堆栈跟踪

Starting selenium standalone server...
(node:23800) DeprecationWarning: util.puts is deprecated. Use console.log instead.
Selenium standalone server started at http://[IP]/wd/hub

   Stacktrace:
     UnknownError: unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"23817.1","isDefault":true},"id":1,"name":"","origin":"://"}
  (Session info: chrome=56.0.2924.87)
  (Driver info: chromedriver=2.12.301326 (093c7e07b4a916b690e784b0374c7f618f1ea4be),platform=Mac OS X 10.11.6 x86_64) (WARNING: The server did not provide any stacktrace information)
...
   Stacktrace:
     UnknownError: Error communicating with the remote browser. It may have died.
...
Finished in 4.84 seconds
2 tests, 4 assertions, 4 failures

Shutting down selenium standalone server.

编辑

[launcher] Error: UnknownError: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
xpi","e":true,"v":"1.7","st":1486662567000},"firefox@getpocket.com":{"d":"/Applications/Firefox.app/Contents/Resources/browser/features/firefox@getpocket.com.xpi","e":true,"v":"1.0.5","st":1486662567000},"webcompat@mozilla.org":{"d":"/Applications/Firefox.app/Contents/Resources/browser/features/webcompat@mozilla.org.xpi","e":true,"v":"1.0","st":1486662567000}},"app-global":{"{972ce4c6-7e08-4474-a285-3208198ce6fd}":{"d":"/Applications/Firefox.app/Contents/Resources/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi","e":true,"v":"51.0.1","st":1486662567000}}}

更新

我以为事情已经解决了,但事实并非如此。在运行webdriver-manager updatewebdriver-manager status 之后,我看到了chromedriver version available: 2.27 [last]。当我查看 node_modules/protractor/selenium 时,我看到了chromedriver_2.12.zip。在 node_modules/protractor/config.json 中,我将 chromedriver 的 webdriverVersions 从 2.12 更改为 2.27,这是不可用的。不确定我应该在量角器 /config.json 中指定哪个版本。

test-mbp:fota-admin-portal test$ gulp protractor:src
[11:48:17] Starting 'webdriver-update'...
selenium standalone is up to date.
Updating chromedriver
downloading https://chromedriver.storage.googleapis.com/2.27/chromedriver_mac32.zip...
Error: Got code 404 from https://chromedriver.storage.googleapis.com/2.27/chromedriver_mac32.zip
chromedriver_2.27.zip downloaded to /Users/test/project/node_modules/protractor/selenium/chromedriver_2.27.zip

/Users/test/project/node_modules/adm-zip/adm-zip.js:19
           throw Utils.Errors.INVALID_FILENAME;
           ^
Invalid filename

堆栈跟踪

   Stacktrace:
     UnknownError: unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"26574.1","isDefault":true},"id":1,"name":"","origin":"://"}
  (Session info: chrome=56.0.2924.87)
  (Driver info: chromedriver=2.12.301326 (093c7e07b4a916b690e784b0374c7f618f1ea4be),platform=Mac OS X 10.11.6 x86_64) (WARNING: The server did not provide any stacktrace information)

【问题讨论】:

    标签: angularjs selenium protractor


    【解决方案1】:

    您拥有的chromedriver 版本相当旧,并且与您拥有的最新 chrome 版本不兼容 - 56

    查看Protractor ChangeLog了解chromedriver最新版本的详细信息

    运行 webdriver-manager update 以获取最新的驱动程序,这应该可以解决问题

    您还可以查看chromium site 了解 chromedriver 与 Chrome 的兼容性

    最新版本:ChromeDriver 2.27 支持 Chrome v54-56 此版本 修复了导致 ChromeDriver 在以下页面上失败的错误 SharedWorkers。

    【讨论】:

    • 谢谢!这解决了 chrome 问题,但现在我看到一个 firefox 连接错误,并且我没有在量角器 conf 文件中定义 firefox。从我读过的内容来看,似乎是硒和最新的火狐的问题。问题是当我什至没有在配置文件中传递它时,为什么会调用 firefox?请参阅上面的编辑。
    【解决方案2】:

    从命令提示符执行以下命令,从命令终端更新 chrome 驱动程序。

    “webdriver-manager 更新”

    Chrome 驱动程序更新后,您将能够毫无问题地运行这些案例。

    注意 - 使用“webdriver-manager status”查看驱动程序的版本详细信息。

    如果您有任何问题,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-26
      相关资源
      最近更新 更多