有时,当我的测试传感器达到警报级别时,应用程序立即将浏览器窗口与事件窗口重叠,我必须确认该事件窗口,然后我的测试失败。如何解决此问题,而又不关闭应用程序配置中的事件窗口?
答案 0 :(得分:1)
使用接受方法在显示的弹出窗口上按确定/提交按钮。
browser.driver.switchTo().alert().accept();
关闭javascript弹出窗口:
browser.driver.switchTo().alert().dismiss();
获取javascript弹出窗口的文本:
browser.driver.switchTo().alert().getText();
将键发送到javascript弹出窗口:
browser.driver.switchTo().alert().sendKeys("Value");
处理量角器中的子浏览器弹出窗口: (此代码将切换到子浏览器弹出窗口)
子浏览器弹出具有许多Web元素。里面的元素 可以检查弹出窗口,并可以通过find元素标识元素 并且可以对这些元素执行任何操作。
browser.getAllWindowHandles().then(function(handles) {
var count=handles.length;
var newWindow = handles[count-1];
browser.switchTo().window(newWindow);
});
答案 1 :(得分:0)
您需要检查元素是否存在以及是否存在以单击它,一些类似于以下代码:
static async clickIfPresent(target: ElementFinder) {
const isPresent = await target.isPresent();
if (isPresent) {
return this.click(target);
}
return;
}