我正在使用量角器进行端到端测试。在某个测试中,我需要像打印按钮一样测试是否创建pdf。因此,当测试点击按钮时,它会打开如下所示的打印窗口对话框。
现在这个测试无法完成。因为这个打印窗口。我的问题是如何在量角器中关闭此打印对话框?正因为如此,其余的测试变得悬而未决。请帮忙。提前谢谢。
我试过这样的事情..
var printButton=element(by.css('[class="print"]'));
/* This print button should be present first*/
expect(printButton.isPresent()).toBe(true);
browser.actions().mouseMove(printButton).perform();
printButton.click().then(function () {
// fill in the form here
browser.sleep(2000);
// For Pressing Escape key
browser.actions().sendKeys(protractor.Key.ESC).perform();
});
我想如果我成功按下退出键,那么它将解决问题。但没有成功。
下一页编辑 - 我尝试了新的Windows更改,如下所示
printButton.click().then(function () {
// fill in the form here
browser.sleep(4000);
browser.getAllWindowHandles().then(function(handles){
browser.switchTo().window(handles[1]).then(function(){
//do your stuff on the pop up window
browser.driver.close();
browser.switchTo().window(handles[0]);
});
});
});
但它在控制台中显示错误,实际上它没有打开任何窗口。并且像以前一样挂在打印对话框上。
Failed: unknown error: failed to close window in 20 seconds
我在角度js中遇到这个问题而不是java。
printButton.click().then(function () {
// fill in the form here
return browser.getAllWindowHandles().then(function (handles) {
var newWindowHandle = handles[1]; // this is your new window
return browser.switchTo().window(newWindowHandle).then(function () {
return browser.sleep(5000).then(function () {
return browser.actions().sendKeys(protractor.Key.ESCAPE).perform().then(function () {
return browser.switchTo().window(handles[0])
});
});
});
});
但它没有打开一个新的标签,用于在同一个标签页中打印Dialog..open打印对话框。
答案 0 :(得分:0)
您需要将转义发送到右侧窗口。在发送之前还要等待窗口打开。您可能还需要切换回句柄[0]。
return browser.getAllWindowHandles().then(function (handles) {
var newWindowHandle = handles[1]; // this is your new window
return browser.switchTo().window(newWindowHandle).then(function () {
return browser.sleep(5000).then(function () {
return browser.actions().sendKeys(protractor.Key.ESCAPE).perform().then(function () {
return browser.switchTo().window(handles[0])
});
});
});
});
答案 1 :(得分:0)
设置如下功能;这将禁用从Chrome浏览器弹出的打印预览
功能:{ ' browserName':' chrome', chromeOptions:{ args:[' - 禁用 - 打印预览','启动最大化'] }
},