Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Marathon测试工具/Ruby检测是否出现具有特定窗口名的警报_Ruby_Marathontesting - Fatal编程技术网

使用Marathon测试工具/Ruby检测是否出现具有特定窗口名的警报

使用Marathon测试工具/Ruby检测是否出现具有特定窗口名的警报,ruby,marathontesting,Ruby,Marathontesting,我目前正在使用Marathon(Java自动化测试工具),它在Java应用程序上运行Ruby脚本,需要检测是否出现特定警报。例如,我希望它在while循环中按一行上的“Accept”,并在此过程中处理潜在的弹出警报 在此接受过程中只能出现两个弹出窗口 如果出现窗口标题为“确定吗?”的弹出窗口,我希望它按enter键或像往常一样单击“确定” 但是,如果弹出窗口标题为“Message”(表示错误),我希望它按“OK”并退出while循环。在我找到区分这两个弹出窗口的方法后,退出while循环对代码来

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

在此接受过程中只能出现两个弹出窗口

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


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

尝试使用
get\u window
并检查标题是否符合您的期望。或者,您可以使用
驱动程序执行任意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