java - Selenium WebDriver : Verify Print Window dialog displayed on the page

标签 java selenium-webdriver

我有一个场景可以验证单击“打印”链接后“打印属性”对话框(Windows 组件)是否正确打开。了解 Java 中的 Robot 实用程序类,它可以模拟 Escape/Enter 等键盘事件以在该窗口上进行操作。

有什么方法可以验证打开的新对话框是打印对话框 - 验证对话框标题的东西,即打印或从该窗口对话框或其他内容中检索文本else 将确认对话框是一个打印对话框。

Print Window dialog

最佳答案

打印对话框来自操作系统,selenium 无法处理(目前)。因此,您将无法检查是否存在。我能想到的唯一方法是使用 java.awt.Robot,发送 VK_ESCAPE 并断言测试继续。

作为初学者,您可以试试这个:

     Runnable r = new Runnable() {

        @Override
        public void run() {

            try {
                Robot r = new Robot();
                r.delay(1000);
                r.keyPress(KeyEvent.VK_ESCAPE);
                r.keyRelease(KeyEvent.VK_ESCAPE);
            } catch (Exception ex) {
                ex.printStackTrace();
            }

        }
    };

    Actions actions = new Actions(getDriver());
    actions.sendKeys(Keys.CONTROL).sendKeys("p");

    Thread t = new Thread(r);
    t.start();

    actions.perform();

    //some stupid asserts that we reached here

关于java - Selenium WebDriver : Verify Print Window dialog displayed on the page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22014233/

相关文章:

java - 调用方法时,类中的构造方法无法应用于给定的类型错误

java - 用于搜索每个对象的内存或用于所有图 block block 的内存哪个更快

c# - 当 driver.Navigate().GoToUrl ("http://www.example.com/"时 chromedriver.exe 已停止工作)

java - safardriver 在 @Aftermethod 中调用 driver.close() 之前自动关闭

java - 使用 Java 在 Selenium WebDriver (selenium 2) 中处理警报

java - 如何打印二叉 TreeMap ?

java - JVM-XX :+StringCache argument?

java - Apache PDFBox 2.0 - 创建的 PDF 文件中未显示文本

ruby - Appium - 等待 webview 加载

python - WebdriverWait 显示 TimeoutException,如果我使用 sleep.time 它工作正常