使用派生的浏览器实例时,Browser.wait()调用不断超时

时间:2019-05-16 20:34:43

标签: protractor webdriver

我们正在研究使用不同浏览器实例的一些测试方案。我们正在调用“ forknewinstance”,然后尝试对newInstance使用的页面执行一些操作。看起来,一旦页面中出现过渡,newInstance就会持续尝试在结果页面上执行其他任何操作而超时。

        let br2 = await browser.forkNewDriverInstance();
        await br2.waitForAngularEnabled(true);

        await br2.get("http://some_ip:4200/login", 20000);

        var EC = protractor.ExpectedConditions;

        let elem = br2.element(by.id('loginButton'));

        await br2.wait(EC.visibilityOf(elem), 20000);

        let uname = br2.element(by.css("input[id='username']"));
        let pwrd = br2.element(by.css("input[id='password']"));

        await elem.click();

        await br2.wait(EC.visibilityOf(br2.element(by.css('.error-message'))));

        await uname.sendKeys("admin");
        await pwrd.sendKeys("admin");

        await elem.click();

        await br2.wait(EC.invisibilityOf(br2.element(by.css(".loading-icon")))); // *times out here*

        let hdrBttn = br2.element(by.id('openDialogue'));

        await br2.wait(EC.visibilityOf(hdrBttn));

在第二个按钮单击(elem.click)之后观察到该问题,因为这是实际的页面转换发生的时间。

根据量角器API文档,未提供有关如何或应该使用newInstance的限制。

任何有关这里可能出问题的信息都是很好的

期望能够在新页面上继续使用分支的浏览器实例

即使我确认这些元素确实存在,仍观察到页面上元素的超时时间。

0 个答案:

没有答案