【发布时间】:2017-01-21 09:12:12
【问题描述】:
我可以在 conf 文件中设置参数。但是当我运行并尝试在运行时覆盖它时它不起作用。它使用我在 conf 文件中提到的用户名登录。
我的配置文件-
var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter');
var log4js = require('log4js');
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
allScriptsTimeout: 10*60*1000,
framework: 'jasmine2',
onPrepare: function ()
browser.manage().timeouts().implicitlyWait(11000);
var width = 768;
var height = 1366;
browser.driver.manage().window().setSize(768, 1366);
//browser.ignoreSynchronization = true
jasmine.getEnv().addReporter(
new Jasmine2HtmlReporter({
savePath: __dirname+'/qualityreports/testresults/e2e',
takeScreenshots: false,
filePrefix: 'automationReport',
consolidate: true,
cleanDestination: false,
consolidateAll: true
})
);
},
suites:{
suiteone:['./test/e2e/login/**/*Spec.js',
'./test/e2e/main/**/mainSpec.js']
},
capabilities: {
'browserName': 'chrome',
'chromeOptions': {
'args': []
}
},
appenders: [
{
"type": "file",
"filename": "./e2eTestLogs/logfile.log",
"maxLogSize": 20480,
"backups": 3,
"category": "relative-logger"
}
],
resultJsonOutputFile:'./results.txt',
params: {
Login: {
username: 'xyz',
password: 'xyz'
}
},
// Options to be passed to Jasmine-node.
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 40*60*1000
}
};
我使用的命令:
gulp e2e-test --suite suiteone --params.Login.username=abc --params.Login.password=abc
有人可以在这里帮忙吗?我想了解在传递命令行参数时我在哪里做错了。
【问题讨论】:
-
我认为如果你不使用 gulp 这会起作用,因为你正在使用 gulp 你需要使用 argv 来处理这些命令行参数并将它们传递给你的量角器任务。
-
这个我已经通过 yargs 处理了。这是我的 gulp 文件的样子。请看一下,如果我做错了什么,请告诉我。
-
var gulp = require('gulp'); var gulpProtractor = require('gulp-angular-protractor'); var args = require('yargs').argv; gulp.task('e2e-test',['transpile'], function(callback) { gulp.src(paths.tests) .pipe((gulpProtractor({ configFile: 'protractor.conf.js', args: [ ' --suite', args.suite ], })).on('error', function(e) { console.log(e); }).on('end', callback)); });跨度>
-
看起来你包含的 paths.tests 是问题,如果你用 gulp.src([]) 替换它也许它会起作用。见stackoverflow.com/questions/38436507/…
-
我可以覆盖相同的内容,但我需要删除 yargs,因为这是不支持我这样做的参数的主要内容。
标签: angularjs protractor e2e-testing gulp-protractor