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