我的项目运行正常,由于某些要求,我们必须在每次测试后重新启动浏览器。但是当我开始使用
restartBrowserBetweenTests标志,这会导致发现某些元素时出现问题-NoSuchElementError:使用定位器找不到元素
这里的要点是,一旦我们删除了标记,脚本便会起作用,但是将标记置为true会导致此问题。我尝试确定错误的位置,并在它们和下一个控制流之间添加browser.sleep()。当我明确等待几秒钟1-5时它起作用 但是在整个代码库中进行此更改将不可行。 有人可以指出我正确的方向吗?
PS:已经尝试过,browser.restart()遇到相同的问题。
screensaverPageHelper.verifyScreenSaverPage();
controlFlow.execute(function () {
//perform checkin
dummy.performCCheckin();
//perform delivery
dummyUtils.performDelivery();
//browser.sleep(2000); // will not work without this if restartBrowserBetweenTests == true
controlFlow.execute(function () {
// fails on next line inside this function
// NoSuchElementError: No element found using locator: By(css selector, *[id="deliveredCount"])
dummycarrierPage.deliveredText(carrierDeliveryQRCodeStrategyPage.getDeliveredTextValue('1'));
});
});
我希望此操作不会对标志restartBrowserBetweenTests造成任何问题