我正在使用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
写入输入字段。为什么呢?
答案 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)
})