我正在使用seleniun RC进行自动化测试脚本。我用
selenium.waitForPageToLoad(DEFAULT_TIMEOUT);
但它不稳定,50%的时间我的测试失败,因为找不到等待后的下一个元素。例如:
selenium.open("some_url");
selenium.waitForPageToLoad(DEFAULT_TIMEOUT);
selenium.click("id=first");
DEFAULT_TIMEOUT
设置为50000。
有人可以解释waitForPageToLoad的工作原理吗?我可以用什么方法来提高测试稳定性?
由于
答案 0 :(得分:0)
通常,您可能会遇到动态内容(Ajax调用,更新等)的问题。这意味着页面已加载,但尚未从服务器接收某些部分。
最好的方法(就像我一直那样)是检查元素存在:
如果(selenium.isElementPresent())
selenium.click()
这种方法应该有所帮助。
或者您可以使用waitForElementPresent()。如果它不可用 - 开发自己的:
而(!selenium.isElementPresent())
Thread.sleep代码(1000)