我正在尝试关闭Nightwatch中Chrome/IE浏览器上的选项卡 它接受除Windows中的CTRL或Mac中的COMMAND以外的所有键。
loginPage.sendKeys("@login", [client.Keys.CONTROL, "w" ]);
以下所有工作均按预期工作
loginPage.sendKeys("@login", [client.Keys.SHIFT, "w" ]);
loginPage.sendKeys("@login", [client.Keys.ENTER, "w"]);
loginPage.sendKeys("@login", [client.Keys.SEMICOLON, "w"]);
我可以使用closeWindow
功能关闭选项卡,但它不会调用浏览器关闭的 beforeunload 事件。我认为它杀死了Chrome/IE进程而不是关闭它。所以我正在寻找另一种方法来关闭守夜人的标签。
我发现按 CTRL+A 工作正常
client.keys([client.Keys.CONTROL, "a"]);
但不是 CTRL+J 或 CTRL+W
client.keys([client.Keys.CONTROL, "j"]);
另一种方法是
client.keys(client.Keys.CONTROL, () => {
client.keys('a'));
});
但同样,CTRL+J 或 CTRL+W 无法完成这项工作。