我已经用Selenium和node.js编写了一些测试,但是当我运行这个测试时,它永远不会结束。
我的代码是:
driver.wait(function () { return driver.executeScript('return document.readyState').then(function (readyState) { if (readyState === 'complete') { doTest(); // HERE I WANT TO EXIT }; }); });
方法 doTest() 称为无穷次。
doTest()
现在你在哪里可以看到” HERE I WANT TO EXIT “我试图用以下方法停止循环:
HERE I WANT TO EXIT
return true; return false; resolve(); driver.close(); driver.quit();
但没用,有什么帮助吗?
不清楚为什么 return true; 不起作用。可能的问题是 doTest() 由于等待传播的异常而失败。你检查过你的代码是否到达了“我要退出”这一行?
return true;
我建议要么加一个 console.log 之后 doTest-() 以确保dotest()成功完成
console.log
doTest-()
或者,如果一切正常,则使dotest()返回true;如果有异常,则返回false,并将其设置为
if (readyState === 'complete') { return doTest(); };