WebdriverIO - 并行运行测试

我们可以并行运行 WebdriverIO 测试。为此,我们必须在测试文件夹中创建多个 spec 文件。并行测试可以运行的线程数由配置文件 - wdio.conf.js 文件中的参数定义。

有关如何创建配置文件的详细信息,请参阅章节 - Wdio.conf.js 文件和章节 - 配置文件生成以存储 WebdriverIO 设置。

让我们以一个在测试文件夹中有三个 spec 文件的项目为例。您的计算机上将显示以下屏幕 −

Running Tests

要以并行模式执行所有这些文件,我们必须首先在 wdio.conf.js 文件的 specs 字段下指定 './test/specs/**/*.js'。这意味着运行下面给出的命令时,测试文件夹中的所有 spec 文件都会被触发 −

npx wdio run wdio.conf.js。

您的计算机上将显示以下屏幕 −

运行命令

命令成功执行后,我们将看到所有三个 spec 文件 - testcase1.js、testcase2.js 和 testcase3.js 同时触发执行。

您的计算机上将显示以下屏幕 −

同时执行

此外,wdio.conf.js 中的 maxInstances 字段确定触发并行执行的最大线程数。默认情况下,该值设置为 10。这里,我们有三个 spec 文件,因此 maxInstances = 10 成立。

您的计算机上将显示以下屏幕 −

MaxInstances

wdio.conf.js 文件中还有另一个名为 capabilities 的字段。在此字段中,我们有一个名为 maxInstances 的参数。它确定 Chrome 浏览器在并行运行期间可以同时打开的实例数。

让我们将 capabilities 字段外的参数 maxInstances 的值设置为 3,然后将 capabilities 字段内的字段 maxInstances 的值设置为 2。功能内的 maxInstances 设置值将覆盖功能外的 maxInstances 设置值。

运行以下命令 −

npx wdio run wdio.conf.js

命令成功执行后,我们将看到两个 spec 文件 - testcase1.js 和 testcase2.js 在 Chrome 中同时触发执行。它们最初处于 RUNNING 状态。

一旦 testcase2.js 的状态变为 PASSED,第三个 spec testcase3.js 的状态将变为 RUNNING。您的计算机上将显示以下屏幕 −

Running Status