2010-07-28 66 views
0

为了在我们的构建过程中自动执行DOH测试,我使用Selenium RC在放置在与构建机器不同的域上的服务器上启动不同的浏览器(IE和Firefox) 。为了启动DOH,每个浏览器都定向到我们的runTests.html。自动化DOH机器人测试由弹出消息插入

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

“DOH已检测到当前网页试图访问DOH,但属于比不同的域如果您不打算通过访问此网页开始新的DOH测试,请立即按“取消”并保留网页“

但由于这些测试无人看管,所以它只是坐在那里等待对于某人点击确定,Selenium超时(在IE 8中,弹出消息似乎自动消失,但机器人随后不做任何事情)。

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

有没有人知道一种方法来防止显示弹出窗口?

回答

1

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

0

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

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

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