Android EDLA测试命令总结
环境配置:
1.adb烧录线连接大屏
2.原生设置系统中打开开发者选项:
2.1 打开Stay awake
2.2 打开USB debugging
2.3 关闭Verify apps over USB
3.连接外网WIFI
4.中性设置中关闭无操作待机
5.设置系统语言为英文(默认语言)
6.工厂菜单烧录Attestation Key,提取csr.json文件上传谷歌
(1)在XTS的tools目录下打开一个控制终端
(2)敲入su命令并输入主机用户密码获得超级用户权限
(3)执行source /etc/profile 命令使配置生效
CTS:
run cts -m 模块名 -t 用例名
CTS-GSI:
run cts-on-gsi -m 模块名 -t 用例名
GTS:
run gts -m 模块名 -t 用例名
Gts-interactive:
run gts-interactive -m 模块名 -t 用例名
确认安全补丁月份,采用对应月份的STS套件测试
STS:
run sts-dynamic-full -m 模块名 -t 用例名
VTS:
run vts -m 模块名 -t 用例名
l r 查看之前的测试记录,序号就是session_number
run retry --retry session_number
确认安全补丁月份,采用对应月份的GSI套件测试
烧录GSI:
adb reboot bootloader
fastboot flashing unlock/fastboot oem at-unlock-vboot(RK3576)
fastboot reboot fastboot
fastboot erase system
fastboot delete-logical-partition product_a
fastboot flash system system.img
fastboot -w
fastboot reboot
烧录VTS:
adb reboot bootloader
fastboot flashing unlock/fastboot oem at-unlock-vboot(RK3576)
fastboot reboot fastboot
fastboot erase system
fastboot delete-logical-partition product_a
fastboot flash system system.img
fastboot flash vendor_boot vendor_boot-debug.img
fastboot -w
fastboot reboot
安装CTS VERIFIER(手动项):
adb shell settings put global hidden_api_policy 1
adb install -r -g CtsVerifier.apk
adb shell appops set com.android.cts.verifier android:read_device_identifiers allow
adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier
adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0
设备上锁指令:
adb reboot-bootloader
fastboot oem at-lock-vboot
fastboot reboot
fastboot reboot
设备上锁重启后会卡在logo,再执行一次fastboot reboot,或者在串口下按下Ctrl + C即可正常启动
串口查看设备是否上锁:
getprop | grep state
[14:36:15:097][ro.boot.vbmeta.device_state]: [locked]说明设备已上锁。
设备解锁指令:
adb reboot-bootloader
fastboot oem at-unlock-vboot
fastboot reboot
fastboot reboot
串口查看设备是否解锁:
getprop | grep state
[14:36:15:097][ro.boot.vbmeta.device_state]: [unlocked]说明设备已解锁。
SMR:
CTS: run cts -m CtsSecurityTestCases
GTS: run gts-smr
STS:run sts-dynamic-incremental
CTS本地多媒体测试
run cts
–module-arg CtsMediaTestCases:local-media-path:/tmp/android-cts-media-1.5
–module-arg CtsMediaStressTestCases:local-media-path:/tmp/android-cts-media-1.5
–module-arg CtsMediaBitstreamsTestCases:local-media-path:/tmp/android-cts-media-1.5
–shard-count 6
GTS本地媒体测试
adb push gts test wvmedia /sdcard/
run gts
–module-arg GtsExoPlayerTestCases:config-url:https://storage.googleapis.com/exoplayer-test-media-1/gen-4/dynamic-config-sdcard-1.0.json
–module-arg “GtsYouTubeTestCases:skip-media-download:true”
–module-arg “GtsYouTubeTestCases:instrumentation-arg:media-path:=/sdcard/test”
–module-arg “GtsMediaTestCases:instrumentation-arg:media-path:=file:///sdcard/wvmedia”
–shard-count 4
常用后缀:
–shard-count 多台设备跑测试
–include-filter "模块名 包名”
–exclude-filter 跳过某个模块
include:
run cts --include-filter “模块名1 case名1” --include-filter “模块名2 case名2”
exclude:
run cts --exclude-filter “模块名1 case名1” --include-filter “模块名2 case名2”
run cts -m 模块名1 --exclude-filter “模块名1 case名1”
subplan:
cts 测试过程中由于某个模块fail项太多,整跑模块又太过耗时。所以需要使用subplan来进行快速测试验证。
1.在与result文件夹同级目录下创建subplans文件夹
2.在subplans文件中创建需要测试验证的fail项的xml文件,建议用fail项的模块进行命名。
3.执行测试命令:run cts -o --subplan [需要运行的xml文件]
fail测试项的xml文件内容如下
<?xml version='1.0' encoding='UTF-8' standalone='no' ?>
<SubPlan version="2.0"><Entry include="CtsAppTestCases android.app.cts.NotificationManagerTest#testNotify" />
</SubPlan>