太白---落燕纷飞第一重 Android单元测试Instrumentation和irobotium

 PS:叫太白---落燕纷飞纯粹好玩(天涯明月游戏画面感,打击感,碰撞虽然做的不尽人意,但是太白这个职业还是不错,用作开头,,做个旁白而已)。

   这里的单元测试无论是instrumentation还是irobotium都不适用于游戏,游戏的自动化可以参考公司内wetest的基于引擎的对象识别自动化解决方案 or 前面用sikuli的方案。这里仅适用于传统行业Application范畴。但基本思想类似,都是找到对应的对象,执行对应的方法,而这里的被测目标是具体的class里面的某个function。

  一般来说,一个故事总有一个开头的独白,这里也有,只是没有那么酷炫,更没有多么神(xing)秘(gan)的场景......

  

故事背景很简单,就跟秋天起风吹过大树,泛黄的树叶被风吹落一般简单,直接。这里需要在机器本身的存储(非sdcard)空间当用户点击保存文件的时候,存入指定的内容到文件。而作为一名有追(xi)求(xia)的测试,想直接对它做个白盒,验证一下......

副本所需材料:eclipse+DDMS、一台已经root的android手机(一定要root,没有root我被坑了)

副本开刷,loading副本组成之一:

技术分享

需要击杀副本的最终小boss就在这里,进入副本房间,查看副本场景详情:

技术分享

Level有限,只能先来刷点小boss房间,勿怪,勿嫌弃,,只要体验到了乐趣,不要太(zuo)在意细节(si)~~

副本开刷,开始准备杀气:

在被测的工程中,对应的androidmainfest中添加

技术分享

注意击杀的位置,击杀位置不对,一切都是白费~

<uses-library android:name="android.test.runner" />---------引入android单元测试所需的依赖库

instrumentation android:name = "android.test.InstrumentationTestRunner" android:targetPackage="com.example.fileoper"

分别是对应的一会要使用的击杀道具所需重要材料和对应的击杀副本名称

准备差不多了,可以开始击杀小boss了,只见说时迟那时快,,,一道白光划过

new 出你的class,用于测试被测类的方法。注意new的时候extends

技术分享它,否则你会发现,你白光过后就倒在了小boss的浪声之下了~~~

接着,刷刷刷,刀起声落,小boss就会倒下了,可获得副本道具:Android Instrumentation单元测试小匕首。攻击1-10   防御1-10  附加属性:神秘道具即可可看

技术分享

技术分享

在副本击杀过程中,被小boss搞的小伤害的地方:

1、一定要携带好对应的道具,否则即使是小boss也能把你干死(root的android手机)

2、带好道具之后,记得给道具镶嵌上对应的宝石(查看 /data/data/com.example.fileoper/files是否777,在DDMS的file explorer中可以看到,也可以adb shell自己添加,查看,一定要查看到最后的files目录,如果它没有777,前面再多的777,最后你都会跪下唱征服)

3、被测的对象和去测的方法所在class可以放入不同的包下面,import下也是可以的。

还有,如果你是一个见不得warn的人,而恰恰中间出现了类似

No instrumentation runner found for the launch, using 
android.test.InstrumentationTestRunner的问题,就选择工程的properties,右侧如果有重复的保留最新的,删除副本重现运行就可以了

Tips:开头标题说的irobotium?跟这个有啥关系,,,其实也没有太大关系,irobotium只是用的是自己的solo类。本质上跟这里android.test.runner  android.test.instrumentationTestRunner似乎没啥区别(个人是没有感觉有啥大的区别)

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。