访问选项值webdriver.io

时间:2016-02-26 18:01:34

标签: javascript testing webdriver-io

现在使用我的ui测试使用WebdriverIO,我在配置文件中有这个:

var baseUrl = 'http://localhost:3000';

global.testParameters = {
  baseUrl: baseUrl
};

这使我可以在测试中访问我的基本URL,但是必须在配置文件中修复它,并且在运行wdio命令时我不能使用--baseUrl选项。这样做的原因是因为从我读过的所有内容中,我都没有看到在我的测试中访问命令行选项值的方法。

有没有办法在我的实际测试文件中访问命令行选项(特别是--baseUrl)的值?

2 个答案:

答案 0 :(得分:0)

您可以使用yargs库。 npm install yargs并在配置文件中添加:

var argv = require('yargs').argv;
var baseUrl = argv.baseUrl;

然后,您可以使用--baseUrl <your URL>

传入baseUrl

您还可以使用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;
}

现在,您的类型可以作为全局变量在整个工作区中使用。