这是 gulpfile:
gulp.task(
'protractor', function () {
var configObj = {
configFile: config.test + 'protractor.conf.js'
};
configObj['args'] =[];//to be able to add multiple parameters
if (argv.suite) {
configObj['args'].push (
'--suite',
argv.suite
);
}
if (argv.env) {
if(argv.env.includes("q")){//qa
argv.baseUrl = "http://xx.qa.yy.com:8080";
}
else{//prod
if(argv.env.includes("p")){
argv.baseUrl = "https://xx.yy.com";
}
else{//local
argv.baseUrl = "localhost:8080";
}
}
configObj['args'] .push(
'--baseUrl',
argv.baseUrl
);
}
return gulp.src([])
.pipe(plumber({errorHandler: handleErrors}))
.pipe(protractor(configObj))
.on(
'error', function () {
gutil.log('E2E Tests failed');
process.exit(1);
}
);
}
);
所以,在量角器测试类中,我可以得到baseurl,例如
this.getBaseUrl = function () {
return browser.baseUrl;
};
,
因为我设置在这里
configObj['args'] .push(
'--baseUrl',
argv.baseUrl
);
但我无法获得环境。它设置在这里
从控制台命令
gulp protractor --env l --suite logout
我可以在 consloeoutput 中看到
argv.env
但我不能从量角器调用它。我试过browser.env
但没有奏效。我怎样才能做到这一点?
我也用 yargs
var argv = require('yargs')//setting default enviroment to qa for testing
.default({ env : 'qa' })
.argv;