zl程序教程

您现在的位置是:首页 >  其他

当前栏目

[Protractor] Running tests on multiple browsers

On multiple running tests
2023-09-14 08:59:20 时间

Testing your AngularJS application on multiple browsers is important, and Protractor offers this ability through the multiCapabilities configuration option. Learn how to use this option, as well as configure your e2e tests to run on only a single browser for rapid development.

 

By default, protractor will use chrome as default browser. You can also use other browser:

exports.config = {

    capabilities: {
        name: "Firefox",
        browserName: "firefox"
    },
    specs: [
        './e2etest/**/*.spec.js'
    ],
    seleniumAddress: 'http://localhost:4444/wd/hub'
};

 

If you want to run on multi browsers, then you can use 'multiCapabilities':

exports.config = {
    multiCapabilities: [
        {
            name: "Chrome",
            browserName: "chrome"
        },
        {
            name: "Firefox",
            browserName: "firefox"
        }
    ],
    specs: [
        './e2etest/**/*.spec.js'
    ],
    seleniumAddress: 'http://localhost:4444/wd/hub'
};

 

But it probably good when you are actually developing the project, you can run only on one browser for saving time, so you can modify the scripts tags:

    "test-e2e": "protractor conf.js",
    "test-e2e-dev": "protractor conf.js --chrome"

 

More flexable code:

var browsers = {
  firefox: {
    name: 'Firefox',
    browserName: 'firefox'
  },
  chrome: {
    name: 'Chrome',
    browserName: 'chrome'
  }
}

var config = {
  specs: [
    './e2etest/**/*.spec.js'
  ],

  baseUrl: 'http://localhost:3333'
};

if (process.argv[3] === '--chrome') {
  config.capabilities = browsers.chrome;
}  else {
  config.multiCapabilities = [
    browsers.firefox,
    browsers.chrome
  ]
}

exports.config = config;

 

 

package.json:

  "scripts": {
    "test-start": "webdriver-manager start",
    "test-e2e": "protractor conf.js",
    "test-e2e-dev": "protractor conf.js --chrome"
  },