Robotium是一款测试Android App的测试框架,它使得编写黑盒测试代码更加容易和稳定。它其实是对android自带测试类Instrumentation的一个封装,方便于测试人员直接调用封装好的接口。通过使用Robotium,测试用例开发人员能够跨越多个Activity,开发出功能,系统以及验收测试用例。如果你能够拿到代码,你可以直接进行白盒测试,比如assert一下当前的activity,操作的结果对不对等等,都可以验证。官方例子:http://code.g...m/p/robotium/
下面的以测试Android自带的NotePad源代码为例:
首先创建一个Android Project,选择Create Project form existing source,选择F:\android-sdk-windows\samples\android-8\NotePad
接下来创建Android Test Project
![](http://06peng.com/attachment/image/robotium/robotium02.jpg)
导入 robotium-solo-2.5.jar(可到官方例子下载,上边的链接),编写自动测试脚本如下:
![](http://06peng.com/attachment/image/robotium/robotium03.jpg)
下面是详细的测试内容:
![](http://06peng.com/attachment/image/robotium/robotium04.jpg)
![](http://06peng.com/attachment/image/robotium/robotium04.jpg)
![](http://06peng.com/attachment/image/robotium/robotium05.jpg)
![](http://06peng.com/attachment/image/robotium/robotium06.jpg)
附上截图的功能:
![](http://06peng.com/attachment/image/robotium/robotium07.jpg)
有时textview或者button的click方法会失效,解决方法是在被测程序的配置文件AndroidManifest.xml文件里加上这么一句:
<supports-screens android:anyDensity="true"/>就行了。如果要想在robotium的测试程序里读写SD 卡,可以被测程序的AndroidManifest.xml文件里加上
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>。
注意是在被测程序里加上。