0

我有一个包含许多测试的 WDIO 项目。有些测试需要连续运行,而其他测试可以并行运行。

我不能并行运行所有测试,因为需要连续运行的测试会失败,而且我不能连续运行所有测试,因为执行完成需要很长时间。

由于这些原因,我需要找到一种方法来连续和并行运行这些测试。是否可以配置此 WDIO 项目来完成此操作?

我通过 SauceLabs 运行这些测试,并了解我可以将maxInstances变量设置为我希望并行运行的尽可能多的 VM。是否可以将某些测试设置为使用高电平maxInstance,而其他测试的 amaxInstance为 1?

或者也许有一种方法可以通过测试目录使用逻辑逻辑来并行运行某些测试并连续运行其他测试?

例如,如果我有这些测试:

'./tests/parallel/one.js',
'./tests/parallel/two.js',
'./tests/consecutive/three.js',
'./tests/consecutive/four.js',

我可以创建一些逻辑,例如:

if(spec.includes('/consecutive/'){
    //Do not run until other '/consecutive/' test finishes execution
} else {
    //Run in parallel
}

如何配置此 WDIO 项目以连续和并行运行测试?谢谢!

4

1 回答 1

1

您可以创建 2 个单独的conf.js文件。

//concurrent.conf.js
exports.config = {
    // ==================
    // Specify Test Files
    // ==================
    specs: [
        './test/concurrent/**/*.js'
    ],
    maxInstances: 1,

并有一个用于并行。为了减少重复,创建一个共享conf.js然后简单地覆盖适当的值。

//parallel.conf.js
const {config} = require('./shared.conf');

config.specs = [
        './test/parallel/**/*.js'
    ],
config.maxInstances = 100,

然后,当您运行测试时,您可以执行以下操作:

//parallel
wdio test/configs/parallel.conf.js
//concurrent
wdio test/configs/concurrent.conf.js

这是一个如何拥有共享配置文件的示例。其他使用共享的配置文件

于 2021-08-18T16:10:41.543 回答