0

为了在我们的构建过程中自动化 DOH 测试,我使用 Selenium RC 在与构建机器不同域的服务器上启动不同的浏览器(IE 和 Firefox)。每个浏览器都指向我们的 runTests.html 以启动 DOH。

有时,当使用 doh.robot 的测试开始时,会显示以下消息:

“DOH 检测到当前网页正在尝试访问 DOH,但属于与您同意让 DOH 自动化的域不同的域。如果您不打算通过访问此网页来开始新的 DOH 测试,请按取消现在离开网页”

但是由于这些测试是无人值守的,它只是坐在那里等待某人单击确定,并且 Selenium 超时(在 IE 8 中,弹出窗口似乎自动消失,但机器人随后什么也不做)。

正如我所说,它并不总是发生。在弹出窗口中单击“确定”后,该消息将停止显示,并且该消息可能会消失几个会话,但随后会再次显示,这似乎是一种任意方式。

有谁知道防止此弹出窗口显示的方法?

4

2 回答 2

1

这可能不是正确的方法,但在 util/doh/robot/DOHRobot.java 中,您可以修改代码以不检查或始终模拟按下“确定”。我自己没有尝试过,但对于我们的一些自动化测试,我可能还需要这样做。

于 2011-03-31T01:47:43.740 回答
0

当 DOH 机器人初始化时,它首先会尝试单击您尝试测试的页面的左上角。如果你遮住了这个 div(你可以用 firebug 看到它),那么就会弹出消息。我认为问题在于您的页面加载速度并不总是足够快。

解决这个问题有点挑战。我有一段时间没有使用 DOH,但我认为没有任何方法可以使用 setTimeout 来解决此问题。(您可以尝试在 doh.run 命令上使用 setTimeout,但可能是 DOH 机器人在解析任何 doh 命令之前单击了该 div。)

您可能能够做的另一件事是向 Selenium 添加一种“等待”命令,或者您用来启动系统的任何 shell 命令。

于 2011-05-24T14:41:41.073 回答