首页 技术 正文
技术 2022年11月11日
0 收藏 658 点赞 2,126 浏览 1202 个字

主要的问题可能就是页面加载的问题,有时候页面没有加载成功导致对象找不到,从而导致脚本不能运行。

主要使用的方式是,在测试的全局中设置一个页面的加载时间,如果timeout就是没有找到对象。如下参考:

http://chon.techliminal.com/ajax_wait/这个可以使用在所有的页面跳转中。

但是对于在测试中交互的对象的显示可以使用如下的代码解决。

   /**wait for the ajax to be completed
* inspired by the the blow url:
* @link http://hedleyproctor.com/2012/07/effective-selenium-testing/
* @link http://stackoverflow.com/questions/3272883/how-to-use-selenium-2-pagefactory-init-elements-with-wait-until
* @author huchan
* @param timeoutInSeconds
*/
public void waitForAjaxPresent(int timeoutInSeconds) {
if (driver instanceof JavascriptExecutor) {
final long currentbowserstate=(Long)executeJS("return return jQuery.active;");
logger.info("Current ajax active code is:"+currentbowserstate);
WebDriverWait wdw=new WebDriverWait(driver, timeoutInSeconds);
ExpectedCondition<Boolean> ec=new ExpectedCondition<Boolean>() {
@Override
public Boolean apply(WebDriver driver) {
// TODO Auto-generated method stub
long newpagestate=(Long) executeJS("return return jQuery.active;");
logger.debug("the new ajax active code is:"+newpagestate);
return (newpagestate==0L);
}
}; boolean loaded=wdw.until(ec);
logger.debug("finally the ajax had been loaded status is:"+loaded);
}
else{
logger.error("Web driver: " + driver + " cannot execute javascript");
} }

基本上综合以上的方法,可以解决你的ajax加载不能识别对象的问题。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,031
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,520
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,368
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,148
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,781
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,862