如何在Watir中协商警报框?

时间:2011-05-17 12:23:59

标签: ruby automation watir

我正在尝试使用Ruby为网站创建自动化脚本 的Watir。

我遇到了一种情况,我必须选择“是”或“否” 警报框。问题是我无法识别警报框 作为页面的一个组件,以便我可以获取其标识符和使用 它可以选择一个选项。

我找到了一些信息 创建一个警告框,但我需要浏览一个。能够 有人帮帮我吗?

3 个答案:

答案 0 :(得分:3)

如果你可以选择两个选项(“确定”或“取消”),听起来你有一个confirm框。如果要模拟单击“确定”,则必须在触发确认之前输入类似的内容。

# return true for confirm to simulate clicking OK
b.execute_script("window.confirm = function() {return true}")

如果您只有alert一个“确定”按钮,请执行此操作。

# don't return anything for alert
b.execute_script("window.alert = function() {}")

有关更多示例,请参阅this page

答案 1 :(得分:1)

Austin Taylor提出的方法可能会运行良好,但我认为对于更通用的解决方案,您需要在操作系统级别处理Popups,如Chuck建议的那样。

如果有人到达此页面寻求此类答案,则此处列出了不同的解决方案:http://wiki.openqa.org/display/WTR/JavaScript+Pop+Ups

答案 2 :(得分:0)

你可以使用这些干净的watir电话:

  • browser.alert.ok
  • browser.alert.close

有关详细信息,请参阅Official Framework Documentation