我正在使用下面的代码来获取在量角器配置文件中使用的参数
protractor: {
options: {
keepAlive: true,
configFile: "test/config.js",
args:{
params:{
user:"user1",
password:"password1"
}
}
},
并在量角器conf文件中检索为browser.params.user,browser.params.password
这些是工作文件。 我想从命令更改用户和密码值。 如何更改值?
答案 0 :(得分:0)
这是一个简单的解决方法:
将参数传递给grunt任务时:
grunt e2e --user=alex --password=password
它可以
grunt.option('user')
然后,您可以使用以下命令编辑配置中的值:
var protConfig = grunt.config.get('protractor');
protConfig.options['someKey']=newValue;
grunt.config('protractor', protConfig);
grunt.task.run('protractor');
不确定这是最好的方法,但它对我来说很好。 还要注意我们正在包装量角器任务而不是立即调用它
答案 1 :(得分:0)
如何在量角器规范中获取--user参数?
答案 2 :(得分:0)
在下面的代码中,我注册了一个任务" myprotractor"并且任务在作为参数的任务之后将作为参数进入匿名函数:
grunt myprotractor:dev:pwd
module.exports = function(grunt) {
grunt.registerTask('myprotractor', function(user, pwd) {
console.log(user + pwd);
grunt.config('protractor', {
options: {
keepAlive: true,
configFile: "test/config.js",
args: {
params: {
user: user,
password: pwd
}
}
}
});
//here I am running the task
grunt.task.run([
'protractor'
]);
});
};
如果您需要,可以为量角器配置2个目标,具有一些通用配置,并根据您希望它们来自cmd或配置来设置args。
grunt myprotractor:cmd:dev:pwd
module.exports = function(grunt) {
grunt.registerTask('myprotractor', function(target, user, pwd) {
console.log(user + pwd);
grunt.config('protractor', {
options: {
keepAlive: true,
configFile: "test/config.js"
},
cmd: {
options: {
args: {
params: {
user: user,
password: pwd
}
}
}
},
config: {}
});
//here I am running the task with a target
grunt.task.run([
'protractor:' + target
]);
});
};