如何通过命令行为量角器传递多种功能的参数?

时间:2018-10-19 09:04:54

标签: protractor

我需要通过命令行传递无头参数。

在一开始,我只是使用Chrome,并且我使用以下代码传递这些参数:

./node_modules/.bin/protractor "conf.js" --capabilities.chromeOptions.args=headless --capabilities.chromeOptions.args=disable-gpu --capabilities.chromeOptions.args=window-size=1248,1024

这正常工作,问题出在我添加了Firefox功能。

qwestion:如何通过具有multiCapabilities的命令行传递此“ headless”参数?

我尝试过:

./node_modules/.bin/protractor "conf.js" --multiCapabilities.1.chromeOptions.args=headless --multiCapabilities.1.chromeOptions.args=disable-gpu --multiCapabilities.1.chromeOptions.args=window-size=1248,1024 --multiCapabilities.0.moz:firefoxOptions=headless

但是没有用。

我的配置文件:

exports.config = {
onPrepare: async function () {
    console.log("Let's Start")
    },
seleniumAddress: 'http://localhost:4444/wd/hub',
getPageTimeout: 100000,
allScriptsTimeout: 100000,
restartBrowserBetweenTests: true,
maxSessions: 2,
multiCapabilities: [{
    browserName: 'firefox',
    parallelCapability: false,
    marionette: true,
    "moz:firefoxOptions":{
        //args: [ "--headless" ],
        prefs:{
            'pdfjs.disabled': true
        }
    },
    'safebrowsing': {
        'enabled': true,
    }
}
,{
    browserName: 'chrome',
    parallelCapability: false,
    'chromeOptions': {
        prefs: {
            download: {
                'prompt_for_download': false,
                'directory_upgrade': true,
                'default_directory': process.cwd() + '/download/'
            },
            'safebrowsing': {
                'enabled': true,
            }
        }
    },
  },
],
framework: 'custom',
frameworkPath: require.resolve('protractor-cucumber-framework'),
specs: [
    'features/happyPath.feature'
],
cucumberOpts: {
    require: [
        'features/step_definitions/**/*.js',
        'lib/hooks.js'],
    profile: false,
    'no-source': true
}

};

1 个答案:

答案 0 :(得分:0)

您必须指定浏览器名称

--multiCapabilities.0.browserName chrome
--multiCapabilities.1.browserName firefox