量角器 - 如何在多个浏览器上开始测试,然后只继续其中一个浏览器

时间:2017-07-05 08:52:01

标签: javascript protractor

我在三个浏览器上启动自动化测试,但之后我只想继续使用一个浏览器。有可能吗?

// spec.js
multiCapabilities:[{
'browserName': 'MicrosoftEdge',
},
{
'browserName' : 'chrome',
},
{
'browserName' : 'firefox',
}],
describe('Protractor Demo App', function() {
    it('should have a title', function() {
    browser.driver.get('http://preg.fxgm.com/aserving/4/1/blg/1/s/LOC-5675/index.html');
    browser.ignoreSynchronization = true;


    browser.sleep(5000);
    browser.driver.findElement(protractor.By.id('submit_button')).click();
    browser.sleep(2500);

我想继续使用Chrome浏览器。

2 个答案:

答案 0 :(得分:0)

你想要创建一个配置文件并将multiCapabilities拆分成spec.js,这些spec.js应该只包含你的规范。

例如,创建conf.js并添加:

exports.config = {
    seleniumAddress: 'http://localhost:4444/wd/hub',
    multiCapabilities: [{
        browserName : 'MicrosoftEdge',
    },{
        browserName : 'chrome',
        specs: 'spec.js',
    },
    {
        browserName : 'firefox',
    }]
};

然后在运行量角器时指定conf.js:

> protractor conf

除非你给firefox和edge做些事情,(即将specs参数添加到相关部分),否则他们会抱怨没有找到任何规格,但它们仍会运行。

答案 1 :(得分:0)

这是已完成的答案,我进一步阐述了M Hudson的原始答案,使其与最新的,最新的量角器版本一致并且无错误。此config.js已经过测试和验证。打开存在config.js的cmd并运行量角器configfilename.js

exports.config = {
  framework: 'jasmine',
  directConnect: false,


  multiCapabilities: [{
      browserName: 'firefox',
      'moz:firefoxOptions': {
            args: ['--verbose'],
            binary: 'C:/Program Files/Mozilla Firefox/firefox.exe'
       //Need to start cmd via admin mode to avoid permission error
        },
      specs: ['src/com/sam/scriptjs/draganddrop.spec.js']
    }, 
    {
        browserName : 'chrome',
        chromeOptions: {
            args: [ "--start-maximized" ]
                     },
        specs: ['src/com/sam/scriptjs/iframes.spec.js']

    }],         
     seleniumAddress: 'http://localhost:4444/wd/hub'

}