DOH机器人的自动化测试通过弹出消息进行测试

时间:2010-07-28 21:53:36

标签: dojo selenium-rc doh doh-robot

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

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

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

但由于这些测试是无人看管的,它只是坐在那里等待有人点击OK,而Selenium超时(在IE 8中,弹出窗口似乎自动消失,但机器人后来什么也没做)。

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

有没有人知道阻止此弹出窗口显示的方法?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

您可以做的另一件事是向Selenium添加一种“wait”命令,或者用于启动系统的任何shell命令。