Nightwatch.js无法将字符串变量设置为输入字段?

时间:2015-07-06 08:06:03

标签: javascript html testing nightwatch.js

我正在使用Nightwatch.js测试一些JavaScript代码。我想从输入标签中读取一个值,将其增加或减少1,然后将其写回输入标签。因此我写了这段代码:

.getValue('#inputConfigReading', function(result){
    val = parseInt(result.value);
    if (val % 2 == 0)
        val++;
    else
        val--;
    val = val+'';
})
.clearValue('#inputConfigReading')
.setValue('#inputConfigReading', val)

我检查了一下。变量val在命令val = val+'';之后具有正确的值。但无论如何,当我运行代码时,Nightwatch正在将undefined写入输入字段。为什么呢?

1 个答案:

答案 0 :(得分:3)

Nightwatch在定义val之前执行最后两步。 最后两个步骤应该在.getValue的回调函数中:

.getValue('#inputConfigReading', function(result){
    val = parseInt(result.value);
    if (val % 2 == 0)
        val++;
    else
        val--;
    val = val+'';
    browser.clearValue('#inputConfigReading')
    browser.setValue('#inputConfigReading', val)
})