为了在构建过程中自动化DOH测试,我使用Selenium RC在与构建机器不同的域上的服务器上启动不同的浏览器(IE和Firefox)。每个浏览器都指向我们的runTests.html,以便启动DOH。
有时,当使用doh.robot的测试启动时,会显示以下消息:
DOH已检测到当前网页正在尝试访问DOH,但属于与您同意让DOH自动化的域不同。如果不打算通过访问此网页启动新的DOH测试,请立即单击“取消”并离开该网页
但是由于这些测试是无人参与的,它就坐在那里等待某人点击OK,Selenium超时(在IE8中,弹出似乎自动消失,但机器人随后什么也不做)。
就像我说的,这种事并不总是发生的。单击Pop-up上的OK后,消息将停止显示,消息可能会在几个会话中消失,但随后它将再次显示,这似乎是一种任意的方式。
有没有人知道怎么防止这个弹出式的出现?
发布于 2011-03-31 01:47:43
这可能不是正确的方法,但是在util/doh/ but /DOHRobot.java中,您可能可以修改代码而不检查它,或者总是模拟按下"OK“。我自己还没有试过,但我可能也需要为我们的一些自动化测试做到这一点。
发布于 2011-05-24 14:41:41
当DOH机器人初始化时,它首先尝试单击要测试的页面的左上角。如果您模糊了这个div (您可以用firebug看到它),那么消息就会弹出。我认为问题在于您的页面加载速度不够快。
要解决这个问题有点困难。我已经有一段时间没有使用DOH了,但是我不认为有任何方法可以使用setTimeout来修复这个问题。(您可以尝试在setTimeout命令上使用doh.run,但可能是DOH机器人在解析任何doh命令之前单击该div。)
您可以做的另一件事是向Selenium添加一种“等待”命令,或者任何用来启动系统的shell命令。
https://stackoverflow.com/questions/3357852
复制相似问题