iOS UIAutomation关于等待loading过程的处理(针对indicator)
2014-06-29 16:43
225 查看
在实际编写测试脚本的过程中,经常会遇到这样一个场景。
点击某个元素之后,需要进行网络交互,这时脚本就需要等待,而等待的时间又是不定的。
最暴力的方法就是,我们统一采用官方的target.delay()方法,强制设定等待时间为最坏情况的时间,每次网络交互都等待固定的时间。
不过很明显,这种方式虽然能达到目的,带来的负面影响却是测试脚本效率地下,执行时间很长。
我们可以根据实际情况,采用更合理的等待方法。
就目前大部分我看到的应用而言,在等待网络交互的过程中,应用一般会展示一个indicator来表示加载过程,也就是通常说的loading图或者是转菊花
就是这个东西
方法其实非常简单。
点击某个元素之后,需要进行网络交互,这时脚本就需要等待,而等待的时间又是不定的。
最暴力的方法就是,我们统一采用官方的target.delay()方法,强制设定等待时间为最坏情况的时间,每次网络交互都等待固定的时间。
不过很明显,这种方式虽然能达到目的,带来的负面影响却是测试脚本效率地下,执行时间很长。
我们可以根据实际情况,采用更合理的等待方法。
就目前大部分我看到的应用而言,在等待网络交互的过程中,应用一般会展示一个indicator来表示加载过程,也就是通常说的loading图或者是转菊花
就是这个东西
方法其实非常简单。
function waitForLoad() { var target = UIATarget.localTarget(); var app = target.frontMostApp(); var window = app.mainWindow(); var maxTime = 60; var times = 0; while(times<maxTime){ var indicator = window.activityIndicators()[0]; if (indicator != "[object UIAElementNil]") { UIALogger.logMessage("操作loading中"); times +=1; }else{ //UIALogger.logMessage("done!"); break; } target.delay(1); } if (times == maxTime) { log("加载超时(60s)"); } }
相关文章推荐
- iOS UIAutomation关于等待loading过程的处理(针对indicator)
- 关于如何在iOS开发中使用风火轮UIActivityIndicatorView提示加载等待
- 关于存储过程中一个参数表示多个查询条件使用方法的简单处理
- 关于多结果集的存储过程的处理
- 关于IOS处理plist的读写
- 关于ios通话应用退到后台语音中断处理办法
- 关于SQLSERVER 事物的运用(3)嵌套事物以及嵌套存储过程的异常的处理
- 分享关于过程的事务处理类
- Ios关于推送消息的处理
- 关于一台红旗linux上的应用被黑的处理过程
- 关于针对iOS 7开发的几点思考
- 测试过程针对新增和变更需求的处理方法!
- [iphone-cocos2d]关于Loading的若干处理和讨论
- 提交的时候过程很长,出现等待处理效果。
- 关于多结果集的存储过程的处理
- 关于网络处理的一些基本概念(有一些过程)
- 妥善处理好代码书写过程中关于路径中分隔符“/”的方方面面
- 关于loading图标的处理方法
- 针对上篇关于 WebKit 内核浏览器的Image.loading 问题的补充。我的问题完美解决!
- 关于针对iOS 7开发的几点思考