Node JS - 如何在同一个会话中一个接一个地运行跨浏览器测试?

时间:2015-09-01 10:19:12

标签: javascript node.js selenium-webdriver automation protractor

我想进行跨浏览器测试,但不是在一起,而是在一个不同的

会话,因为我希望所有关闭的测试结果都会生成相同的HTML 在会议结束时报告。

当我试图将所有这些测试用例放在一起时,部分测试用例失败了,因为超时和报告很混乱。

量角器 - Conf:

  multiCapabilities: [{
  'browserName': 'firefox',
      'cli': {
      'args': ['webdriver.firefox.useExisting=default']
      // 'args': ['webdriver.firefox.useExisting=default', '-jsconsole', '-jsdebugger']
}}, 

 {
  'browserName': 'chrome',
  'chromeOptions': {
    args: ['--test-type','--memory-metrics','--console','--crash-on-failure'] 
    // '--load-extension=' + 'C:\\Users\\idan\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Extensions\\idgpnmonknjnojddfkpgkljpfnnfcklj\\1.2.4_0'
  }
},

  {
      'browserName': 'internet explorer',
      'platform': 'ANY',
      'version': '11'
    }],


  // maxSessions: 1,

1 个答案:

答案 0 :(得分:0)

您可以使用browser.browserName作为报告名称以便全部报告,我在onPrepare()中使用此函数:

browser.getCapabilities().then(function (cap) {
        console.log(cap);
        browser.browserName = cap.caps_.browserName;
        jasmine.getEnv().addReporter(new HtmlReporter({
            baseDirectory: 'target/'+browser.browserName+'/angular-test-result/',
            takeScreenShotsOnlyForFailedSpecs: true,
            preserveDirectory: false
        }));
    });

然后,如果您不想并行运行浏览器,可以使用-browser=chrome

调用量角器