robotium_robotium原理_robotium api(4)

电脑杂谈  发布时间:2017-03-14 21:03:03  来源:网络整理

好了,整个过程非常简单。我相信能用robotium的童鞋用起来应该都没有任何问题,所有代码都是非常易用易懂的。

相信通过前面的实例,大家可以发现说这是“史上最简单”的Robotium跨进程操作解决方案我估计没人会反对,这并不是夸大事实、博人球,确实很简单,功能也很强大。其他也不用我多说了,最后我再来对该框架总结一下下吧:

优点:

1. 确实非常全,基本封装了adb的所有常用命令,它本身就是一个adb命令使用大全了。

2. 框架接口设计清晰易懂,简单明了,封装成jar包,用起来也很方便。另外希望大家都能看看它的源码并了解它的实现细节,作者封装得还是很不错的,很得我们学习,而不仅仅是简单地使用它。

目前已知的不足:

1. 手机的版本必须是4.1以上,即至少必须支持uiautomator的手机才行,因为该框架本身底层是依赖于uiautomator来dump出对象布局xml文件,最终获取对象的坐标进行操作的,所以你的手机版本本身并不支持uiautomator的话,就没法实现dump操作。

2. 如果是真机的话,必须要root后的才可以。

2. 有些对象是uiautomator也无法识别和操作的,那当然这个框架也无能为力了。比如屏幕最上方的通知消息栏的对象,所有工具都没法显示和识别,这个肯定没办法了,另外还比如输入文字时的弹出键盘上的按钮对象等,也无法识别,大家可以试试。

以后想要尝试的改进:

1. 对于手机版本的支持问题,个人觉得有个曲线救国的方法可以解决。即我们可以稍微修改下源码,加入判断手机版本的代码,判断当前手机版本如果高于4.1,就直接通过uiautomator来dump,如果低于4.1,则读取PC上事先导出到指定位置的xml文件。这样的话,如果你使用的手机不是4.1以上的版本,只需要事先把被测应用用4.1以上版本的手机通过uiautomator先dump到PC的一个指定路径上就行了,这样效果应该是一样的,只要最终能得到对象坐标就OK。

2. 再加一些比较实用的功能。比如现在可以根据text来查找对象,但实际上很多时候我们可能是得到对象了,但想通过这个对象去获取对象的其他属性,所以建议增加类getXXXXByElement(Element e)这样的方法,有空试一下,呵呵。

以上只是我的一些个人想法,如果大家还有一些什么别的建议,也欢迎大家都提出来,一起来完善这个很实用的框架。

最后,再次感谢AdbForAndroid框架的作者: xuxu。

想要研究框架源码的童鞋,可以去github地址下载:https://github.com/gb112211/Adb-For-Robotium

本文中相关样例工程源码(含被测程序和测试程序)下载

另外,如果实在不知道怎么用这个框架的童鞋,可以参考下光荣之路的美女讲师的视频,里面有讲怎么去用这个框架:?qq-pf-to=pcqq.group


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-37530-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...