0

我正在使用 seleniun RC 进行自动化测试脚本。我用

selenium.waitForPageToLoad(DEFAULT_TIMEOUT);

但它并不稳定,50% 的情况下我的测试失败,因为等待后的下一个元素没有找到。例如:

selenium.open("some_url");
selenium.waitForPageToLoad(DEFAULT_TIMEOUT);
selenium.click("id=first");

DEFAULT_TIMEOUT设置为 50000。

有人可以解释 waitForPageToLoad 是如何工作的吗?我可以使用什么替代方法来提高测试稳定性?

谢谢

4

1 回答 1

0

通常您可能会遇到动态内容(Ajax 调用、更新等)的此类问题。这意味着该页面已加载,但尚未从服务器接收某些部分。

最好的方法(就像我一直做的那样)是检查元素的存在:

如果(硒。isElementPresent())

selenium.click()

这种方法应该会有所帮助。

或者您可以使用 waitForElementPresent()。如果它不可用 - 开发你自己的:

而(!selenium.isElementPresent())

线程.sleep(1000)

于 2013-04-29T12:57:53.197 回答