2
我试图测试按钮的打印功能,如:量角器:如何测试window.print()
it('print document', function(){
element(by.id('print-button')).click();
expect(window.print());
});
我想测试浏览器的打印对话框。这个怎么做?
我试图测试按钮的打印功能,如:量角器:如何测试window.print()
it('print document', function(){
element(by.id('print-button')).click();
expect(window.print());
});
我想测试浏览器的打印对话框。这个怎么做?
浏览器的打印对话框超出了硒的范围,它不在硒的控制下。只有protractor
/selenium
没有办法可靠地解决您的问题。
此外,您无需测试浏览器,也无需打开打印对话框。你可以做什么(未测试),是通过重新定义window.print()
(reference)来测试window.print
是否呼吁print-button
点击:
browser.setScriptTimeout(10);
var printButton = element(by.id('print-button'));
var result = browser.executeAsyncScript(function (elm, callback) {
function listener() {
callback(true);
}
window.print = listener;
elm.click();
}, printButton.getWebElement());
expect(result).toBe(true);
参见:
你可以在硒的Sikuli JAVA API的帮助下。请检查这个我的帖子,也是我的答案:http://stackoverflow.com/questions/23213535/how-to-test-print-preview-of-chrome-browser-using-chrome-webdriver –
@nitinchawda是的,但这不是java或python,所以Sikuli可能不是最好的选择。此外,该解决方案将不太可靠,因为它取决于特定的浏览器,因此是打印对话框的特定图像。 – alecxe