老实说,我是自动化js和nightwatchjs的新手,但是在nightwatchjs中创建循环存在问题。 任务是在元素不可见时单击按钮,单击后可以随机显示。所以,我正在努力解决这个问题,如何在nightwatchjs中添加while循环代码,因为我的愿景如何解决这个问题就是一个循环,例如:
while(check for element)
.click('[Our_Button]')
我尝试使用此nightwatch js while loop但没有帮助,这是一个错误“运行clickUntilNotVisible命令时出错:browser.waitUntil不是函数” 也许有可能在没有循环的情况下使用更好的方法,但我没有找到任何东西。
答案 0 :(得分:0)
您可以尝试使用setInterval
和clearInterval
,read about them here。
setInterval
接受函数参数和延迟参数,并在每次分配的延迟间隔通过时执行该函数。您甚至可以这样做,以便在满足您的条件时,间隔将自行清除as described in this stack overflow answer。
使用this您应该能够检查您的元素并提交点击,直到它出现在您想要的任何时间间隔内。请注意,如果它永远不会显示,则永远不会停止执行,因此您可能还需要使用setTimeout
并慷慨地延迟清除间隔或未通过测试。
答案 1 :(得分:0)
您可以使用.perform()方法,并且可以从内部创建函数。像这样:
this.api.perform(function (browser, done){
while (condition) {
//code block
}
done();
})
为我工作。希望这会有所帮助。
欢呼