h5 APP用哪个框架好,利用CTS框架实现APP的自动化白盒测试

电脑教程 次浏览手机阅读

原标题:"利用CTS框架实现APP的自动化白盒测试"的相关电脑教程资料分享。- 191路由网编辑整理。

利用CTS框架实现APP的自动化白盒测试

CTS介绍

CTS是Compatibility Test Suite的简称,意为Google兼容性测试,手机设备需要通过CTS测试以保证在Android上开发的程序能够在手机设备上运行。手机厂商开发的手机需要向google提交CTS报告才能在市场上销售。
CTS工具可以在https://source.android.com/compatibility/cts/downloads.html下载。

下载完成以后解压

这里写图片描述

进入tools, 然后在终端敲入./cts-tradefed, 即可进入测试环境(JAVA JDK需正确安装)

tools目录

tools目录:

这里写图片描述
其中,CTS依赖的tradefed-prebuilt.jar是以jar包形式释放的,是由tradefederation编译而来,源码可以在
https://android.googlesource.com/platform/tools/tradefederation/+/master下载。

执行命令run cts –plan CTS即可进行CTS整体测试。

这里写图片描述

测试完成以后,生成的log保存在android_cts/repository/logs目录下,结果保存在android_cts/repository/results目录下。

这里写图片描述

关于CTS更详细的设置和测试,请参考我的另一篇博客Google CTS测试指导。
关于CTS详细的框架解析,可参考
http://blog.csdn.net/column/details/itfootball-cts.html?&page=2

利用CTS实现APP自动化白盒测试

2.1 CTS 测试case组织
CTS测试的case非常多,涵盖了系统的方方面面,这些case主要是以apk和对应的xml文件来提供的。在android_cts/repository/testcases目录下可以看到。

这里写图片描述

Xml文件里面有详细的测试case:

这里写图片描述

测试某一类型的case的时候会先安装对应的apk,测试完成以后再卸载。

2.2 自动化白盒测试APP
基于CTS的case组织,由开发人员提供测试案例,我们可以使用CTS来实现APP的自动化白盒测试,比如Dialer, Email等(Dialer,Email等应用google已经提供了测试代码,比如Dialer:AOSP/packages/apps/Dialer/tests)

  下面以Dialer为例说明:

1  修改packages/apps/Dialer/tests/Android.mk
include $(BUILD_PACKAGE)=>include $(BUILD_CTS_PACKAGE)

这里写图片描述

这一步是为了生成测试apk对应的xml.

这里写图片描述

2  修改目录名
packages/apps/Dialer/tests=>packages/apps/Dialer/Dialer_tests
这一步主要是为了在xml里面生成的appPackagesName唯一,后面写自定义的plan的时候区分入口。

这里写图片描述

3 编译生成测试apk和xml文件
mmm packages/apps/Dialer/Dialer_tests

这里写图片描述

4 将生成的测试apk和xml拷贝到android_cts/repository/testcases目录下。

这里写图片描述

5 自定义plan
在android_cts/repository/plans目录下新建plan Jaychou.xml,编辑内容

这里写图片描述

6 执行测试
进入android_cts/tools/,在终端敲入./cts-tradefed, 执行Jaychou这个plan
run cts –plan Jaychou

结果提示如下错误:Could not find test apk Dialer.apk

这里写图片描述

这是CTS的流程要求安装被测试的apk Dialer.apk,但在testcases目录下没有找到这个apk所以报错。这里需要修改源码重新编译cts-tradefed.jar, 所以不能再直接使用解压出来的cts-tradefed.jar.

编译完本地的cts-tradefed.jar后替换掉tools目录下的。然后重新执行命令
run cts –plan Jaychou

这里写图片描述

7 查看报告
android_cts/repository/results/TIME/testResult.xml

这里写图片描述

从报告上可以看到具体的fail,结合log和源码进行分析

说明

本文所描述的方式是借用CTS来测试系统APP, 对CTS本身的框架代码改动较少,核心在于APP的测试代码如何写,需要APP开发人员具有良好的代码能力。通过这种方式可以使开发出来的APP更加稳定和健壮。

喜欢 ()