从命令行参数运行测试


我们可以使用命令行参数来控制运行测试。让我们看一个场景,WebdriverIO 项目的 spec 文件夹中有四个测试文件。

您的计算机上将出现以下屏幕 -

命令行参数

假设我们只想使用命令行参数触发文件 testcase1.js 和 testcase2.js。为此,我们必须在配置文件 wdio.conf.js 文件中添加一个名为 suites 的参数。

有关如何创建配置文件的详细信息将在标题为 Wdio.conf.js 文件的章节和标题为配置文件生成的章节中详细讨论。

让我们假设文件 testcase1.js 和 testcase2.js 属于名为 group1 的套件,文件 testcase3.js 和 testcase4.js 属于名为 group2 的套件。我们需要将此信息添加到 suite 参数下的 wdio.conf.js 文件中,如下所示。

suites: {
   group1: ['test/specs/testcase1.js', 'test/specs/testcase2.js'],
   group2: ['test/specs/testcase3.js', 'test/specs/testcase4.js']
},

您的计算机上将出现以下屏幕 -

测试规格

要触发属于 group1 的测试文件 testcase1.js 和 testcase2.js,我们必须运行下面给出的命令 -

npx wdio run wdio.conf.js --suite group1

您的计算机上将出现以下屏幕 -

测试用例2.js

命令执行成功后,我们看到只有specs文件夹下的testcase1.js和testcase2.js两个测试文件被触发执行。

假设我们只想使用命令行参数触发文件 testcase3.js。要仅触发测试文件 testcase3.js,我们必须运行以下命令 -

npx wdio run wdio.conf.js --spec test/specs/testcase3.js

您的计算机上将出现以下屏幕 -

测试用例3.js

命令执行成功后,我们看到只有specs文件夹下的测试文件testcase3.js被触发执行。

此外,如果我们想触发多个测试文件 testcase3.js 和 testcase4.js,命令应如下 -

npx wdio run wdio.conf.js --spec test/specs/testcase3.js, test/specs/testcase4.js

假设我们只想从执行中排除文件 testcase4.js。为此,我们必须在配置文件 wdio.conf.js 文件中的排除参数下添加要排除的文件的相对路径,如下所示。

exclude: [
   // 'path/to/excluded/files'
   'test/specs/testcase4.js'
],

您的计算机上将出现以下屏幕 -

测试用例4.js

然后,我们必须运行以下命令 -

npx wdio run wdio.conf.js 

您的计算机上将出现以下屏幕 -

执行成功屏幕

命令执行成功后,我们可以看到specs文件夹下的测试文件testcase4.js已被排除在执行之外。