我们正在研究使用不同浏览器实例的一些测试方案。我们正在调用“ 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的限制。
任何有关这里可能出问题的信息都是很好的
期望能够在新页面上继续使用分支的浏览器实例
即使我确认这些元素确实存在,仍观察到页面上元素的超时时间。