在开始自动化测试的时候,我们可能需要一些工具支持。对于Android平台,官方在开发者工具Adt中已经集成了几种可以用于自动化测试的工具。如果使用这些工具,你可以不用为了开始自己的自动化测试而去额外下载安装其它的工具(当然为了Adt的正常使用,Java环境还是必须的)。这个系列的文章将会分别对这些工具做出一些简单的介绍。
Adt中集成的可以用于自动化测试的工具包括:
- Monkey
- MonkeyRunner
- UIAutomator(仅限Android 4.0以上系统)
Monkey最常见的使用场景就是进行完全随机的测试,单独使用Monkey,你无法按照一个既定的步骤来进行操作。
Monkey在使用时需要通过USB将设备与PC相连,在PC端使用Adb shell命令调用设备端的Monkey程序,设备端的Monkey程序自己生成随机的操作序列来执行。
MonkeyRunner同样通过USB与运行于设备端的Monkey程序通信,但MonkeyRunner直接发送指定的操作指令,这些操作指令也支持编写成脚本,统一运行,
因此MonkeyRunner可以完成一些功能测试和回归测试。
UIAutomator可以完成一些更为复杂的功能测试和回归测试,该工具使用Java直接编写测试apk安装到设备上运行,我们将在以后的文章中详细介绍UIAutomator。
除此之外,Adt中还有用于白盒测试的Instrument,实际上也可以用于自动化测试,一些第三方的自动化测试工具使用的就是Instrument,比如Rubotium和Calabash
Monkey的用法实例
Monkey是一种对应用的稳定性、健壮性进行测试的一种快速有效的工具,这种测试实际上是一种简单粗暴的压力测试。
它的基本功能就是向被测试的应用发送随机的用户事件(如屏幕的点击、拖动和系统按键操作等)。
在Windows命令行中输入命令adb shell monkey + 一个数字就可以开始monkey测试,这个输入的数字是最多要执行的动作的数量。
实际使用时可以利用参数-p限制操作生效的应用,在应用外进行的各种操作将不会生效,这就避免了测试时的一些误操作。比如:
adb shell monkey -p sogou.mobile.explorer 60000
默认情况下Monkey在运行时如果遇到被测应用的崩溃将会自动停止,而崩溃信息也能被Monkey收集并打印到命令行中,如果你想用借助Monkey来发现被测影响的崩溃问题。
你可能需要将Monkey的运行结果保存到文件中
adb shell monkey -p sogou.mobile.explorer -v 60000 > 1.txt
通过下面这段批处理命令,可以让Monkey一直不停的运行下去,并把收集到的崩溃信息尽可能的保存到不同的文件中:
Monkey并不能直接定义每一步操作究竟是什么,但是可以通过运行时的参数配置每一种类型操作的百分比。
使用Monkey可能会发现一些经过特定的操作所产生的应用崩溃问题,但是这种盲目的随机测试效率是很低的。
我们还是希望能够自己定义想要进行的自动化操作,这种情况可以借助MonkeyRunner。
这个系列的下一篇文章将会介绍MonkeyRunner的功能和使用方法。
转载请注明:http://blog.csdn.net/sogouauto