javascript - Nightwatch.js 从输入中获取值并在下一步中使用它

标签 javascript selenium-webdriver automated-tests nightwatch.js

我正在尝试运行 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/

相关文章:

python - 给定路径上没有 chrome 二进制文件 - MacOS - Selenium - Python

java - 等到文本出现在文本字段中

programming-languages - TestComplete 支持哪些编程语言?

unit-testing - RPG(或其他 ILE 语言)中的自动化测试

geolocation - TestCafe setNativeDialogHandler 用于位置访问

javascript - j-query和javascript表单使用多个提交不提交表单中的所有数据

java - 如何处理selenium中的自动建议

javascript - 加载页面时如何伸展树(Splay Tree)面板 - EXTJS 4

javascript - 防止某些元素获得焦点

javascript - 如何在javascript中将文本从一个div复制到另一个