如何使用Chrome webdriver测试Chrome浏览器的打印预览?

时间:2014-04-22 07:45:08

标签: selenium-webdriver selenium-chromedriver

我尝试使用

在窗口之间切换
    String winHandleBefore = driver.getWindowHandle();
    <code to print>
    for (String winHandle : driver.getWindowHandles())
         driver.switchTo().window(winHandle);
    driver.findElement(By.className("cancel")).click();
    driver.switchTo().window(winHandleBefore);

这会在打开打印预览页面后挂起我的测试用例执行。

还尝试了javascript执行器方法,但没有用。

   JavascriptExecutor jse = (JavascriptExecutor) driver;
   jse.executeScript("window.close()", "");

请建议是否可以这样做。

1 个答案:

答案 0 :(得分:1)

我找到了问题的答案。我使用下面的代码片段。

 //Create a Region for Desktop Screen
 ScreenRegion s = new DesktopScreenRegion();
 //Find target with below Image in Desktop Screen
 Target target = new ImageTarget(new File("Image.png"));
 ScreenRegion r = s.find(target);
 // Create a mouse object
 Mouse mouse = new DesktopMouse();
 // Use the mouse object to click on the center of the target region
 mouse.click(r.getCenter());

借助此代码段,您可以找到printcancel并执行鼠标点击事件并继续进行硒测试。使用sikuli API

可以实现这一点