我们如何在量角器中通过命令提示符传递浏览器名称

时间:2018-02-07 11:37:53

标签: protractor

我正在使用量角器 - 黄瓜框架与量角器5.2.2一起工作。和黄瓜3.2.1。我必须通过命令提示符传递浏览器名称,而不是在配置文件中传递硬编码。

1 个答案:

答案 0 :(得分:0)

案例1:仅在cmd行中指定浏览器名称,以便在该浏览器上运行脚本。

 // conf.js
 capabilities: {
    browserName: 'chrome'
 }

protractor conf.js --browser=firefox //将在Firefox上运行 protractor conf.js //在chrome上运行

案例2:想要在量角器跑步者推出之前使用浏览器名称获取一些代码逻辑

您可以使用process.argv获取所有内容并提取您传入的浏览器名称。

// cmd.params.js 
// parse cmd parameters

var params = {};
process.argv.slice(3).forEach(function (arg) {
    let flag = arg.split('=')[0];
    let value = arg.split('=')[1];
    let name = flag.replace('--', '');

    params[name] = value;
});

module.exports = params;


// conf.js
var params = require('./cmd.params.js');

var browser = params.browser;
// now you can use the variable: browser anywhere in conf.js    

var multiCapabilities = browser.split(',').map(function(browserName){
    return {
        browserName: browserName.trim()
    };
})

exports.config = {
    multiCapabilities: multiCapabilities
    ....
};

protractor conf.js --browser=firefox //将仅在firefox上运行

protractor conf.js --browser="firefox, chrome" //将在firefox和chrome上运行