Javascript 如何在量角器中按顺序运行多浏览器测试?

Javascript 如何在量角器中按顺序运行多浏览器测试?,javascript,protractor,Javascript,Protractor,例如,我有5个TC,需要在Firefox和Chrome上运行所有5个测试用例。所以,一旦Chrome完成5个TCs的执行,我需要Firefox浏览器启动并按顺序执行相同的任务 当我使用multiCapabilities时,它会同时启动Firefox和Chrome 您可以在量角器配置中使用maxSessionsvarconf.js // Maximum number of total browser sessions to run. Tests are queued in // seque

例如,我有5个TC,需要在Firefox和Chrome上运行所有5个测试用例。所以,一旦Chrome完成5个TCs的执行,我需要Firefox浏览器启动并按顺序执行相同的任务


当我使用multiCapabilities时,它会同时启动Firefox和Chrome

您可以在量角器配置中使用
maxSessions
var
conf.js

  // Maximum number of total browser sessions to run. Tests are queued in
  // sequence if number of browser sessions is limited by this parameter.
  // Use a number less than 1 to denote unlimited. Default is unlimited.
  maxSessions: -1
更多信息

示例
conf.js
(firefox、safari、chrome、chrome设备模拟器):


更多示例和在真实设备中的测试

这已在量角器版本5.4.2中测试并运行良好,根据Adolfo的回答我添加了maxSessions:1,因此它以顺序模式运行。换句话说,firefox规范首先执行,然后是chrome

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']

    }],
    maxSessions: 1,//To run in sequential mode so first Firefox then chrome 
    //without max session it will open two windows at the same time for both browsers
     seleniumAddress: 'http://localhost:4444/wd/hub'

}

你能不能更深入地了解一下为什么你希望按顺序运行?这可以通过相当繁琐的方式完成,这将涉及browser.forkNewDriverInstance()。看看这个方法是否有用。谢谢你。它帮了我很多。我能够达到我的要求,我的答案如下。
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']

    }],
    maxSessions: 1,//To run in sequential mode so first Firefox then chrome 
    //without max session it will open two windows at the same time for both browsers
     seleniumAddress: 'http://localhost:4444/wd/hub'

}