在运行时在wdio中选择规格功能文件

时间:2019-01-28 23:49:39

标签: webdriver-io cucumberjs

我想基于运行不同的功能文件,并希望在运行时(即通过命令行参数)进行决定。

每次我都取消注释文件,然后运行测试。 尝试使用黄瓜标签,但没有解决。

规格:[

//   'features/subscription/create.feature'
// './features/payment/create.feature'

],

有没有简单的方法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

据我所知有两种方法:

  1. 使用必需的功能文件定义suites,并将套件名称作为参数传递给WDIO测试。

有关套件的详细说明:https://webdriver.io/docs/organizingsuites.html 注意:如果您使用npm test开始测试,请使用npm test -- --suite login选择一个套件。(文件中未提及)。

  1. 您可以直接通过命令行传递功能,如下所示:

在您的wdio.conf.js文件中,在exports.config上方写以下行,并指定spec值。

var features = process.env.FEATURE || './features/**/*.feature';
var featureArray = features.split(',');
exports.config = { .... spec: featureArray, ....} //skipped others

现在在触发测试时,使用如下命令: FEATURE='./features/test.feature,./features/test1.feature' npm test

因此,当执行开始时,features将收到字符串,我们将其转换为数组并将其作为参数传递给spec

希望这会有所帮助。