现在使用我的ui测试使用WebdriverIO,我在配置文件中有这个:
var baseUrl = 'http://localhost:3000';
global.testParameters = {
baseUrl: baseUrl
};
这使我可以在测试中访问我的基本URL,但是必须在配置文件中修复它,并且在运行wdio命令时我不能使用--baseUrl选项。这样做的原因是因为从我读过的所有内容中,我都没有看到在我的测试中访问命令行选项值的方法。
有没有办法在我的实际测试文件中访问命令行选项(特别是--baseUrl)的值?
答案 0 :(得分:0)
您可以使用yargs库。 npm install yargs
并在配置文件中添加:
var argv = require('yargs').argv;
var baseUrl = argv.baseUrl;
然后,您可以使用--baseUrl <your URL>
您还可以使用WebdriverIO规范(wdio.conf.js)进行配置,并为您希望针对
运行测试的每个baseUrl创建单独的conf.js文件。答案 1 :(得分:0)
您可以使用-baseUrl=
(如下所示)通过命令行传递基本位置
wdio --baseUrl=http://[device IP]
您可以使用相同的方式传递您需要的任何参数,并可以在wdio.config.js'onprepare
'事件中访问它,如下所示
wdio --type=XXX
然后在wdio config
onPrepare: function(config, capabilities) {
if (process.argv !== undefined && process.argv.length) {
process.argv.forEach(arg => {
if (arg.indexOf('--type=') !== -1) {
process.env.type = arg.replace('--type=', '');
}
});
}
},
before: function(capabilities, specs) {
global.type = process.env.type;
}
现在,您的类型可以作为全局变量在整个工作区中使用。