0

我目前正在使用 Marathon(用于测试的 Java 自动化工具),它在 Java 应用程序上运行 Ruby 脚本,并且需要检测是否出现特定警报。例如,我希望它在 while 循环中按一行上的“接受”,并在此过程中处理潜在的弹出警报。

在这个接受的过程中只能出现2个弹出窗口。

如果弹出窗口标题为“您确定吗?” 出现,我希望它像往常一样按回车或单击“确定”。

但是,如果弹出窗口标题为“消息”(表示错误),我希望它按“确定”并退出 while 循环。在我找到区分这两个弹出窗口的方法之后,退出 while 循环对代码来说应该是微不足道的。

4

1 回答 1

0

尝试使用get_window并检查您所期望的标题。driver.execute_script或者,您可以使用可以查找警报窗口并执行必要操作的任意 Java 代码。

#{{{ Marathon
require_fixture 'default'
#}}} Marathon

def test

    with_window("SwingSet3") {
        select("JOptionPane", "true")

        option = Random.rand(2)

        if(option == 0)
          click("Show Warning Dialog")
        else
          click("Show Confirmation Dialog")
        end

        if(get_window == "Warning Dialog Example")
          with_window("Warning Dialog Example") {
              click("OK")
          }
        end

        if(get_window == "Select an Option")
          with_window("Select an Option") {
              click("Yes")
          }

          with_window("Message") {
              click("OK")
          }
        end
    }

end
于 2018-07-31T10:13:38.017 回答