Configuration 量角器,并行运行一些测试,顺序运行一些测试

Configuration 量角器,并行运行一些测试,顺序运行一些测试,configuration,protractor,Configuration,Protractor,为了节省运行测试所花费的时间,我需要并行运行一些量角器测试。我遇到的困难是,其中一些测试无法并行运行,因为1个浏览器中的结果会影响另一个会话中的预期结果 是否可以设置我的量角器配置文件以便能够执行此操作?我的当前设置如下所示,但无法正常工作: 多容量:[ //tests run sequentially {'browserName': 'firefox', specs: ['e2e/DynamicUpdates/**/*.spec.js'], maxInstances: 1, exclude:

为了节省运行测试所花费的时间,我需要并行运行一些量角器测试。我遇到的困难是,其中一些测试无法并行运行,因为1个浏览器中的结果会影响另一个会话中的预期结果

是否可以设置我的量角器配置文件以便能够执行此操作?我的当前设置如下所示,但无法正常工作:

多容量:[

 //tests run sequentially
{'browserName': 'firefox', specs: ['e2e/DynamicUpdates/**/*.spec.js'], maxInstances: 1, exclude: ['e2e/main/**/*.spec.js']},
{'browserName': 'chrome', specs: ['e2e/DynamicUpdates/**/*.spec.js'], maxInstances: 1, exclude: ['e2e/main/**/*.spec.js']},
{'browserName': 'internet explorer', specs: ['e2e/DynamicUpdates/**/*.spec.js'], maxInstances: 1, exclude: ['e2e/main/**/*.spec.js']},
{'browserName': 'safari', specs: ['e2e/DynamicUpdates/**/*.spec.js'], maxInstances: 1, exclude: ['e2e/main/**/*.spec.js']},
// Main tests - run in parallel
{'browserName': 'chrome', 'chromeOptions': {args: ['--start-maximized']}, shardTestFiles: true, maxInstances: 3},
{'browserName': 'firefox', shardTestFiles: true, maxInstances: 3}, 
{'browserName': 'safari', shardTestFiles: true, maxInstances: 3},    
{
  'browserName': 'internet explorer',
  'binary': 'C:/Program Files (x86)/Internet Explorer/iexplore.exe',
  'ensureCleanSession': true,
  'nativeEvents': false,
  'ignoreProtectedModeSettings': true,
  'disable-popup-blocking': true,
  'enablePersistentHover': true,
  shardTestFiles: true,
  maxInstances: 3 
},      

// Performance tests (currently not run against IE due to webdriver issues)
{'browserName': 'chrome', specs: ['/**/*.spec.js'] },
{'browserName': 'firefox', specs: ['/**/*.spec.js'] },
],


maxSessions:3,

在“规格”数组中,键入要在其中运行的文件。或者保持原样,更改文件名,使其按正确的顺序运行

{'browserName': 'firefox',
specs: ['e2e/DynamicUpdates/folder1/testA.spec.js', 'e2e/DynamicUpdates/folder1/testB.spec.js', 'e2e/DynamicUpdates/folder1/testC.spec.js'], 
maxInstances: 1, exclude: ['e2e/main/**/*.spec.js']},

我的问题是,如果其他浏览器同时运行任何其他测试,那么它可能会影响我希望按顺序(并单独)运行的测试。我正在做一些动态更新,我想在不同的浏览器上测试这些更新,但我不想在任何浏览器上同时运行其他测试,以确保动态更新正确显示。正在运行的任何其他测试都可能会影响结果。这些是我希望以这种方式运行的唯一测试。我希望并行运行所有其他测试以加快测试速度。是否可以为您希望单独测试的每个测试套件创建不同的用户,以便它们不会干扰同一个实例?或者在所有其他测试完成之前或之后运行隔离测试。您可以通过吞咽或咕噜轻松完成此操作。您可以将测试分成5个或更多不同的组,它们将在同一个浏览器中并行运行,一旦第一个组使用chrome完成,它将打开Firefox。根据您编写测试的方式,可能会发生冲突,但不会发生冲突,因为它们在不同的浏览器中同时运行相同的测试。如果您对这种类型的测试并行执行感兴趣,我可以使用gulp或grunt提供一个代码示例。吞咽或咕哝给你的是对规范运行顺序的控制。你解决了你的问题吗?我有一个类似的问题,一些测试会对应用程序产生全局影响,无法并行运行。我在这里看到一篇帖子()建议使用多个conf文件。我确实按照您建议的方式绕过了它。我创建了多个conf文件,并组织了我的目录结构,以便按顺序运行某些测试,而并行运行其他测试。