【发布时间】:2010-07-06 16:56:19
【问题描述】:
我们正在使用 Selenium 对基于 Java Spring MVC 的网站进行烟雾测试。我们使用 JUnit 和 Java Selenium 客户端调用它。很多时候,我们的测试工作正常,但我们倾向于在 selenium.waitForPageToLoad 中明显随机的地方出现超时。 (即多次运行测试套件,超时的位置和次数会有很大差异。)
在前台运行它的服务器,我可以看到执行的测试。当这些超时之一发生时,在等待之前的 selenium.click 已经发生,但等待似乎没有注意到。右击页面并选择刷新出现清除阻塞。
对我来说,这表明在单击和 waitForPageToLoad 之间存在竞争条件。其他人有与 waitForPageToLoad 相关的问题,但似乎没有描述竞争条件。有些人建议前面的 selenium.click 调用存在问题,但我在这里没有看到。有其他人看到我观察到的吗?
我看到了许多不使用 waitForPageToLoad 的建议,但解决方法通常建议使用 waitForElementPresent 或手动轮询元素是否存在。对于我们的应用程序,它似乎需要使用仅由测试使用的 ID 来检测 HTML。这种方法有非侵入性的解决方法吗?
【问题讨论】:
-
我也有同样的问题。 Selenium 服务器和远程控制 1.0.2!在 Internet exploder (IE8) 上运行测试