实践

探讨完上述关于不同测试工具的使用特点,更准确的说,是安卓应用自动化测试工具的特点,我们不妨来实践(其实是模拟)一个移动应用的测试过程。这里我们选用API Demo作为被测应用,选用DroidPilot作为测试工具。

分析被测应用

被测应用API Demo使用标准Android SDK作为开发控件,且被测应用未加扰码,因此,界面上所有元素可以被DroidPilot识别。

对于一些非标准Android SDK控件开发的应用,这里有两种情况:一种情况控件完全由自己开发,如果是这种情况,DroidPilot完全无法识别对象;另一种情况是在标准控件基础上做了二次开发,这样的话DroidPilot只能识别到原生SDK那一层。对于这两种情况,都可以联系DroidPilot开发团队为非标准控件度身定制专属插件,用于识别被测控件。

对于扰码问题,正如上述《前置条件》章节所描述的,DroidPilot本身是无能为力的,只能请开发团队去掉扰码,打包一个不加扰码的测试包给测试团队使用了。

设计测试用例

这里我们假设一个测试用例是进入AppActivityAnimationFade in界面,对界面的元素(按钮、文本框、多选框、单选框、下拉列表)进行操作,并验证文本框的文字是否符合我的预期结果。测试步骤如下:

 

开发测试脚本
先使用DroidPilot脚本编辑工具抓取各个屏幕的对象,然后把这些对象选入脚本设计器,按照测试用例的顺序来排列,如下图:


然后DroidPilot会根据设计器的内容自动转变成脚本代码,如下图:


在这个用例中并没有设计复杂逻辑,所以无需在脚本中添加如If…Else之类的判断语句。

运行及维护

使用脚本编辑器可以连接一台设备,用于调试测试脚本。但是如果需要将测试脚本同时运行于多台设备进行兼容性测试,需要用到DroidPilot的另一款工具AutoRunner。通过它,用户可以同时选中多个脚本,并在多台设备上执行。而且用户也可以控制脚本的执行起始时间,使用户可以定时执行脚本。