首页 > 解决方案 > 如何在 Nightwatchjs 中使用循环

问题描述

老实说,我是自动化 js 和 nightwatchjs 的新手,但是在 nightwatchjs 中创建循环存在问题。任务是在元素不可见时单击按钮,单击后可以随机变为可见。所以,我正在努力解决这个问题,如何在 nightwatchjs 的代码中添加 while 循环,因为我的愿景如何解决这个问题是一个循环,例如:

while(check for element)
.click('[Our_Button]')

我尝试使用这个nightwatch js while 循环但没有帮助,这是一个错误“运行 clickUntilNotVisible 命令时出错:browser.waitUntil 不是函数”也许可以在没有循环的情况下使用更好的方法,但我没有什么都找不到。

标签: javascriptloopsseleniumautomated-testsnightwatch.js

解决方案


您可以尝试使用setIntervaland clearInterval在此处了解它们setInterval接受一个函数参数和一个延迟参数,并在每次指定的延迟间隔过去时执行该函数。您甚至可以这样做,以便在满足您的条件时,间隔将自行清除,如此堆栈溢出答案中所述

使用,您应该能够检查您的元素并提交点击,直到它出现在您想要的任何时间间隔。请注意,如果它永远不可见,它将永远不会停止执行,因此您可能还希望使用setTimeout大量延迟来清除间隔或使测试失败。


推荐阅读