Ajax技术是实现页面元素动态刷新,而不需要刷新整个页面。
对于Ajax元素使用Selenium的waitForPageToLoad命令不起作用的,因为页面并不会真正加载以便刷新Ajax元素。暂停测试执行并等待一段时间也是不行的,因为Web元素可能出现得更晚,从而错误地导致一个测试失败。
以下一个更好的办法是等待固定的周期后,接着检查页面元素是否被找到。
考虑一个这样的页面,页面有一个链接(link=AjaxLink),单击页面上的一个按钮(不刷新页面)。使用for循环,Selenium就可以处理。
代码如下:
For(int second = 0; ; second++){
If(second >= 60)
Break;
Try{
If(selenium.isElementPresent(“link=ajaxLink”))
Break;
}catch(Exception e){
}
Thread.sleep(1000);
}
本文介绍了一种在Selenium中处理Ajax元素的有效方法。通过循环等待及检查元素是否存在,可以解决Ajax元素不会触发页面整体刷新的问题。这种方法适用于需要等待特定Ajax元素加载的测试场景。
800

被折叠的 条评论
为什么被折叠?



