使用restartBrowserBetweenTests会导致“ NoSuchElementError:使用定位器找不到元素”否则将起作用

时间:2019-07-04 06:54:37

标签: protractor

我的项目运行正常,由于某些要求,我们必须在每次测试后重新启动浏览器。但是当我开始使用
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造成任何问题

0 个答案:

没有答案