9X WebDriver – 处理警报/弹出框

    嗨呀爱好者! 想知道为什么 Selenium WebDriver 中存在警报界面? 好吧,我的朋友,对于您所寻找的信息,仅此帖子即可。 我们将讨论基本上属于三种类型的弹出框-警报框,确认框和提示框。 与往常一样,我们有来说明这些概念。

    注意:

    如果网页上出现一个弹出框,则只要不接受或关闭警报,用户就无法对基础页面执行任何操作。 请注意,如果您尝试使用警报访问网页上的任何元素,则可能会碰到“:存在模态对话框”。

    一个简单的警报框通常用于将信息传递给用户或发出一些警告。 除非单击“确定”按钮,否则用户无法继续进行操作。

    JavaScript 代码:

    确认框为用户提供了两个选项,以验证/接受或关闭某些内容。 用户必须单击“确定”或“取消”才能继续。 确认弹出框返回布尔值。 当用户点击“确定”时返回true,而当点击“取消”时返回false

    JavaScript code:

    1. window.confirm("Click 'OK' or 'Cancel'.");

    在我们希望用户输入值的情况下,将使用提示框。 与其他警报框类似,用户必须单击“确定”或“取消”按钮才能继续操作。 提示框在单击“确定”时返回输入值,而在单击“取消”时返回空值。

    JavaScript 代码:

    1. window.prompt("Which Selenium Tool do you like the most?","e.g. Selenium IDE");

    希望您现在对基于 Web 的弹出窗口的不同类型有清楚的了解。

    Selenium WebDriver 尚未提供任何处理这些弹出框的方法。 你相信我刚才说的吗?

    哈! 我知道没有骗你的! WebDriver 总是对我们所有问题都有答案。 警报接口org.openqa.selenium.Alert一起提供!

    经常使用的一些最有用的方法是:

    这是用于从主窗口切换到弹出窗口或显示的警报的方法。

      此方法用于接受警报。 点击“确定”按钮。

      此方法用于消除警报。 点击“取消”按钮。

      1. driver.switchTo().alert().dismiss();

      要使文本显示在弹出框中,请使用此方法,它将文本作为字符串返回。

      此方法用于在显示的弹出框中(通常是提示框)输入特定的String

      1. driver.switchTo().alert().sendKeys(“sampleText”);

      让我们来看一个实现这些方法的测试用例,以更深入地了解这些概念,

      1. 打开 Firefox 浏览器
      2. 导航到演示站点
      3. 使用 ID 找到“警告框”按钮
      4. 单击按钮以弹出警报框
      5. 获取警报弹出窗口的显示文本并将其打印到控制台
      6. 接受警报弹出窗口
      7. 使用 ID 找到“确认框”按钮
      8. 单击按钮以确认框弹出
      9. 将警报消息打印到控制台
      10. 使用 XPath 找到“提示框”按钮
      11. 单击按钮,弹出提示框
      12. 获取提示框消息并将其显示到控制台
      13. 接受提示弹出窗口
      14. 验证 Eclipse IDE 控制台输出屏幕和 JUnit 窗格是否成功

      此方案的 JUnit 代码是,

      1. 为了实例化一个弹出框,我们将必须导入import openqa.selenium.Alert包。

      键入上述代码后,“Alert”一词下方会出现一条弯曲的线。 悬停时,蚀将建议所有可能的快速修复。 单击建议导入“警报”包的第一个修补程序。

      1. // Switch the control to 'Alert Box' popup
      2. Alert alertPopUp = driver.switchTo().alert();

      该包指定了Alert接口,该界面用于处理基于 Web 的弹出框。

      “”是为引用显示的弹出窗口而创建的新实例变量。

      2. 要将控件从主窗口切换到弹出窗口,

      1. driver.switchTo().alert();

      3. 要使文本显示在弹出框中,请在引用所生成警报的实例变量上使用getText()方法。

      1. // Print the alert message to console
      2. System.out.println("Alert Box message: " + alertPopUp.getText());

      4. 要接受警报,请使用accept()方法。

      5. 要关闭警报,请使用dismiss()方法。

      1. // Dismiss the popup

      执行结果:

      在 JUnit 窗口中,绿色条显示测试用例已成功执行。 控制台窗口显示没有任何错误。 它还按预期显示所有打印的消息。

      是时候练习了,我很快会在另一篇文章中见。 祝你有美好的一天!