Protractor only runs Chrome

Protractor only runs Chrome

本文关键字:Chrome runs only Protractor      更新时间:2023-09-26

我想使用Firefox和phantomJS而不是chrome来运行量角器测试。然而,只有当我指定"chromeOnly:true"选项并指定Chrome作为浏览器时,它才会运行。

否则,它将崩溃并引发错误"无法启动Webdriver会话"。

我的量角器配置:

'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': 'firefox'
  },
  //chromeOnly: true,
  baseUrl: 'http://localhost:8000/',
  framework: 'jasmine',
  // 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
  }
};

"chromeOnly"选项的意思是"直接连接到chrome"(与使用硒服务器相比)。当您删除该选项时,Protractor希望与硒服务器对话以控制浏览器。看见https://github.com/angular/protractor/blob/master/docs/server-setup.md.

由于Firefox现在也支持"直接连接"模式,"chromeOnly"配置选项已重命名为"directConnect"。看见https://github.com/angular/protractor/commit/3c048585ac811726d6c6d493ed6d43f6a3570bee

要直接使用Firefox,您可以保留错误命名的"chromeOnly"选项集,也可以切换到"directConnect"。或者,您可以通过selenium服务器使用Firefox(这意味着您需要启动selenium server,请参阅上面列出的server-setup.md文档)。

请注意,将phantomjs与量角器一起使用将被忽略。取自http://angular.github.io/protractor/#/browser-设置

将phantomjs添加到驱动程序功能中,如果使用本地安装,则包括二进制文件的路径:

capabilities: {
  'browserName': 'phantomjs',
  /* 
   * Can be used to specify the phantomjs binary path.
   * This can generally be ommitted if you installed phantomjs globally.
   */
  'phantomjs.binary.path': require('phantomjs').path,
  /*
   * Command line args to pass to ghostdriver, phantomjs's browser driver.
   * See https://github.com/detro/ghostdriver#faq
   */
  'phantomjs.ghostdriver.cli.args': ['--loglevel=DEBUG']
}

使用

multiCapabilities : [
            {
            'browserName' : 'chrome',
            'chromeOptions' : {
                'binary' : 'chrome.exe',
                'args' : [],
                'extensions' : []
            },
            {
                'browserName' : 'firefox',
                'chromeOptions' : {
                    'binary' : 'path to firefox.exe',
                    'args' : [],
                    'extensions' : []
            }...
        }