我已经用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()
被无限次调用。
现在在哪里可以看到“ HERE I WANT TO EXIT
”,我试图用以下方法停止循环:
return true;
return false;
resolve();
driver.close();
driver.quit();
但是没有一个起作用,请帮忙吗?
答案 0 :(得分:1)
目前尚不清楚为什么return true;
不起作用。可能的问题是doTest()
失败,但由于等待而传播了一些异常。您是否检查过您的代码是否到达了“我要退出的位置”行?
我建议在console.log
之后添加doTest()
,以确保doTest()成功完成
或使doTest()在一切正常的情况下返回true,在有任何异常并将其设为
时返回false if (readyState === 'complete') {
return doTest();
};