目录

Android-CTS的测试环境测试指令及过程

目录

Android CTS的测试环境、测试指令及过程

1. CTS 测试环境设置

1.1. CTS 介绍

Android

兼容性测试简称

CTS - Compatibility Test Suite,

是一套开源的测试框架

,

使用它来验证

你的设备是否具备兼容性。让

APP

提供更好的用户体验,让开发者设计更高质量的

APP

1.2. CTS 环境搭建

Operating System: Ubuntu 10.04 64bit(or later)

JDK: On Ubuntu, use OpenJDK 8

SDK: android-sdk-r24.0.1-linux(or later)

run cts

时,请确保

adb

aapt

在系统中能正常使用,如若不行,请在

SDK

包中找到

adb

aapt

,并在系统环境变量中配置路径

1.3. Android 设备设置

在进行

cts

测试前,需要先 对

android

设备进行设置,确保测试环境配置正确

  • 恢复出厂设置

    : Settings > Backup & reset > Factory data reset

  • 设置系统语言为

    English ( United States

    ): Settings > Language & input > Language

  • 打开定位功能 : Settings > Location > On

  • 连接

    wifi : Settings > Wi-Fi

  • 使能 USB debugging: Settings > Developer options > USB debugging

  • 确保设备上没有密码锁或者锁屏界面 : Settings > Security > Screen lock > None

  • Select : Settings > Developer options > Stay Awake > On

  • Select : Settings > Developer options > Allow mock locations > On

  • 设置系统亮屏时间 : Settings > Display > Sleep > 30 minutes

1.4. CTS 测试包下载

根据设备当前系统软件版本

,

可以从

google

官 网 上 下 载 相 应 的

cts

测试包:

2. Running CTS tests

2.1. 执行 cts 测试

连接至少一台设备,打开

cts

控制台,在解压好的

cts

目录中,执行如下命令

$ ./android-cts/tools/cts-tradefed

开始执行

cts

默认测试项

run cts –plan CTS

对于

android6.0

或者更早的版本,使用的是

cts v1 console.

对于

android7.0

或者最新的版本,使用的是

cts v2 console.

cts v1

cts v2

在执行

cts

测试时所使用的命令以及执行内容有所不同

2.2. CTS V1 Console 测试命令

1、测试完整

cts plan

run cts –plan <test_plan_name>

e.g. run cts –plan cts

跑一次完整

CTS

,所有测试项都需要兼容

可以通过执行

l/list p/plans

列出当前所有可执行的

plan

https://i-blog.csdnimg.cn/blog_migrate/0b30bfaf48ee2610d82b4fada01d40b8.png

2、测试

cts

中某个单独的

package

run cts –package/-p

e.g. run cts –p android.app

测试

android.app

包中所有测试项

可以通过执行

l/list packages

列出当前所有可执行的

packages

https://i-blog.csdnimg.cn/blog_migrate/e4e11a3452347ae447f379e8ecf124b2.png

3、 测试

cts

中某个单独的

class

或者指定

class

中的某个特定的方法

run cts –class/-c [–method/-m]

e.g. run cts -c android.security.cts.StagefrightTest -m testStagefright_cve_2015_6604

测试

android.security.cts.StagefrightTest

中的

testStagefright_cve_2015_6604

方法

4、执行

64

cts

测试或者

32

cts

测试 ,可以在

cts

测试用例后面增加

option “–force-abi 32|64”

e.g. run cts -c android.security.cts.StagefrightTest -m testStagefright_cve_2015_6604

–force-abi 32

2.3. CTS V2 Console 测试命令

(1)测试完整

cts plan

run cts –plan <test_plan_name>

e.g. run cts –-plan cts

跑一次完整

cts

,所有测试项都需要兼容

可以通过执行

l/list p/plans

列出当前所有可执行的

plan

(2)

测试

cts

中某个单独的

mudule

run –module/-m

e.g. run cts –module CtsGestureTestCases

(或者

Gesture

测试

CtsGestureTestCases

模块中所有的测试项,

CtsGestureTestCases

可以简写成

Gesture

可以通过执行

l/list mudules

列出当前所有可执行的

mudules

(3)

测试

cts

中某个单独的

class

或者指定

class

中的某个特定的方法

run cts – module/-m <test_module_name> – test <test_name>

Test name

可以是

., .#

或者

<native_name>

e.g. run cts -m Gesture –test android.gesture.cts.GestureTest#testGetStrokes

测试

Gesture

模块中的

testGetStrokes

方法

(4)

执行

64

cts

测试或者

32

cts

测试 ,可以在

cts

测试用例后面增加

option “–abi/-a

<abi_name>

2.4. 其他常用测试命令

(1)

CTS

测试可以在一台

PC

上同时测试多台设备,通过指定设备

device_id

就可以在不影响

其他设备测试

cts

的情况下单独测试

cts

e.g. run cts –plan cts –serial/-s <device_id>

可以通过执行

l/list d/devices

获取当前设备的

device_id

(2)

–skip-preconditions

加上这个

option

可以在

cts

测试时不去检验设备的环境配置。例如不去检查

wifi

是否连接

或者

media

文件是否在测试设备中等

2.5. CTS 测试结果

CTS

测试执行完成后,测试结果会保存在下面这个文件中

.

$ CTS_ROOT/android-cts/repository/results/<start_time>.z

ip

测试

log

保存在下面这个文件中

$ CTS_ROOT/android-cts/repository/logs/<start_time>

(1)

CTS

测试结果分析

根据使用的

CTS

版本不同,

CTS

测试结果在显示上也有所差异

CTS v1 for Android 6.0 and earlier

CTS v2 for Android 7.0 and later

Test Summary

中提供设备信息,执行的

test

项内容,执行开始时间和执行结束时间, 同时也会显示当前测试有多少项 pass

,多少项

fail

,有哪些项超时没执行等信息。 Test Report 中会提供每一个测试

package

中的每一项测试

case

的测试结果。根据执行 的结果,报告中会列出测试 package

名字,测试单元名字,测试具体

case

名字,同时会显 示该项测试结果—-pass

fail

timed out

, 还是

not excuted.

如果执行

fail

,报告中会显示 具体 fail

log

信息 CTS v1 测试结果如下图

.

https://i-blog.csdnimg.cn/blog_migrate/a016f593acdbebbfc10fc612071a8b15.png

https://i-blog.csdnimg.cn/blog_migrate/e44c7afd478561ccfaef650ac01d2de4.png

CTS

测试

log

分析

CTS

测试完成后,测试

log

中会保存

PC

端执行的

log

以及被测试设备的

log

device_logcat_XXXXXXX.zip

是被测设备的

log

host_log_XXXXXXX.zip

PC

端执行

cts

log