我正在尝试运行 Nightwatch 脚本,它将打开一个 url,然后它将从输入中获取值,并将在下一页中使用该值。
请看下面的代码:
var conf = require('../../nightwatch.conf.BASIC.js');
module.exports = {
'nightwatch flow': function (browser) {
var first_name;
browser
.url('http://example:3000')
.getValue('input[name="first_name"]', function(result){
first_name = result.value;
})
.setValue('input[name="amount"]', 101)
.click('input[name=continue]')
.clearValue('input[name="first_name"]')
.setValue('input[name="first_name"]', first_name)
.click('button[name=next]')
.end();
}
};
setValue('input[name="first_name"]', first_name)
得到“未定义”
first_name 参数正在回调函数中更新。 我需要 setValue 函数将使用更新后的值。 提前致谢
最佳答案
我找到了解决方法:
var conf = require('../../nightwatch.conf.BASIC.js');
var first_name;
module.exports = {
'nightwatch flow': function (browser) {
browser
.url('http://example:3000')
.getValue('input[name="first_name"]', function(result){
first_name = result.value;
})
.setValue('input[name="amount"]', 101)
.click('input[name=continue]')
.clearValue('input[name="first_name"]')
.setValue('input[name="first_name"]', "", function(){
browser.setValue('input[name="first_name"]', first_name)
})
.click('button[name=next]')
.end();
}
};
解决方案是在回调中再次使用 browser.setValue。
关于javascript - Nightwatch.js 从输入中获取值并在下一步中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45570331/