在Windows 10 1809的IE 11上运行硒测试-没有打开新窗口

时间:2019-04-13 19:39:33

标签: javascript selenium selenium-webdriver ava

在测试机上,我可以启动测试,但是在测试打开和关闭多个Internet Explorer窗口后,不再打开新的窗口。我没有收到错误消息,并且测试卡住了。

我根据selenium wiki检查了每个设置。

如果我使用chromedriver在chrome中运行测试,那么一切都会顺利进行。

使用的代码如下:

var { Builder, By, Key, until, Capabilities } = require("selenium-webdriver");
var ieCapabilities = Capabilities.ie();
var driver = await new Builder().withCapabilities(ieCapabilities).build();
await driver.manage().setTimeouts({ implicit: 3000, pageLoad: 3000, script: 3000 })
await driver.manage().window().setRect({ height: this.initialHeight, width: this.initialWidth });
await driver.get("http://localhost/");
// do the tests
await driver.quit();

该代码在ava测试中运行。为避免出现问题,我暂时将concurrency设置为1并进行了所有测试serial,但问题仍然存在。

如何使测试运行到最后?

1 个答案:

答案 0 :(得分:0)

有几个问题导致测试挂起:

wait通话超时

由于IE中的情况有些不同,缺少的音调导致测试挂起。

代码错误:

await driver.wait(until.stalenessOf(elementSelectMenu));

正确的代码:

await driver.wait(until.stalenessOf(elementSelectMenu), 6000);

缺少await条语句

这在firefox或chorme中从来都不是问题,但导致IE崩溃。

引起麻烦的代码:

driver.findElement([...]).click();

正确的代码:

await driver.findElement([...]).click();

在TLS(https)网站上使用硒的问题

某些测试必须使用TLS检查网站上的内容。在IE上,测试引发了错误。

要对所有区域禁用protected mode