CTS
run cts --shard-count 2 -s sn1 -s sn2
sn1 sn2 两台设备运行 cts cts 的测试环境需要连接外网和写入谷歌key
run cts --exclude-filter CtsMediaTestCases --shard-count 2 -s sn1 -s sn2
sn1 sn2 两台设备运行 cts 并跳过CtsMediaTestCases 模块
GTS
run gts -s sn1
运行gts 整个模块 ,需要注意的GTS 的运行需要依靠实验的白名单申请环境
#export APE_API_KEY=/home/rkgms001/GMSWORK/jdk_sdk_gtskey-V1/gts_key/gts-windriver_public.json
#export APE_API_KEY=/home/rkgms001/GMSWORK/jdk_sdk_gtskey-V1/gts_key/gts-fih-public.json
配置APE_API_KEY 来保证测试环境正常
STS
run sts-dynamic-full --shard-count 2 -s sn1 sn2
STS 的测试需要同指纹的debug 版本来测试,在测试的过程中 会将指纹替换成user
VTS
run vts --shard-count 2 -s sn1 -s sn2
需要使用GSI 的工具包将设备刷入VTS 镜像,就可以开始测试
VTS 脚本
echo 'reboot bootloader for vts'
adb reboot bootloader
echo 'unloce vboot'
fastboot devices
fastboot oem at-unlock-vboot
echo 'unloce vboot'
fastboot devices
fastboot oem at-unlock-vboot
echo 'reboot fastboot'
fastboot reboot fastboot
fastboot devices
echo 'delete product for GSI'
fastboot delete-logical-partition product
fastboot delete-logical-partition product_a
fastboot delete-logical-partition product_b
echo 'flash misc.img'
fastboot flash misc GSI/misc.img
echo 'flash misc.img'
fastboot flash misc GSI/misc.img
fastboot flash boot_a GSI/boot-6.1.img
fastboot flash boot_b GSI/boot-6.1.img
fastboot flash vendor_boot_a GSI/vendor_boot-debug.img
fastboot flash vendor_boot_b GSI/vendor_boot-debug.img
fastboot flash init_boot_a GSI/init_boot.img
fastboot flash init_boot_b GSI/init_boot.img
echo 'flash GSI'
fastboot flash system GSI/system.img
echo 'reboot device'
fastboot reboot
GSI
run cts-on-gsi --shard-count 2 -s sn1 -s sn2
需要使用GSI 的工具包将设备刷入GSI 镜像,就可以开始测试
GSI 脚本
echo 'reboot bootloader for GSI'
adb reboot bootloader
echo 'unloce vboot'
fastboot devices
fastboot oem at-unlock-vboot
echo 'unloce vboot'
fastboot devices
fastboot oem at-unlock-vboot
echo 'reboot fastboot'
fastboot reboot fastboot
fastboot devices
echo 'delete product for GSI'
fastboot delete-logical-partition product
fastboot delete-logical-partition product_a
fastboot delete-logical-partition product_b
echo 'flash misc.img'
fastboot flash misc GSI/misc.img
echo 'flash misc.img'
fastboot flash misc GSI/misc.img
echo 'flash GSI'
fastboot flash system GSI/system.img
echo 'reboot device'
fastboot reboot
GSI 镜像的组成部分
system.img 和 vbmata.img 是由谷歌提供
boot-6.1.img 在 mkcombinedroot/prebuilts/boot-6.1.img 位置
其他的固件都有编译生成的固件进行覆盖
上面介绍了vts 和gsi 烧录镜像 ,可以看到在开始之前都会将机器解锁
讲完了基本的测试命令 搞一搞 签名报告的申请
CTS
run cts -m CtsCurrentApiSignatureTestCases -t android.signature.cts.api.SignatureTest#testSignature
GTS
run gts -m GtsEdiHostTestCases
上面需要将签名报告发送给实验室 还需要一个device ID ,该文件用来申请 key 文件
1 #!/bin/bash
2
3 DEVICENAMETEMP="googelkey00"
4
5 for i in {1..50000};
6 do echo $i
7 if(($i < 10))
8 then
9 echo ${DEVICENAMETEMP}0000$i >> deive_id
10 elif (($i<100 && $i >= 10))
11 then
12 echo ${DEVICENAMETEMP}000$i >> deive_id
13 elif(($i<1000 && $i>=100))
14 then
15 echo ${DEVICENAMETEMP}00$i >> deive_id
16 elif(($i<10000 && $i>=1000))
17 then
18 echo ${DEVICENAMETEMP}0$i >> deive_id
19 elif(($i<100000 && $i>=10000))
20 then
21 echo ${DEVICENAMETEMP}$i >> deive_id
22 fi
23 echo -------------
24 done
上面是我的device_id 的文件生成的代码
SMR 的测试流程
CTS: run cts -m CtsSecurityTestCases -s //user
GTS: run gts-smr -s //user
STS: run sts-dynamic-incremental -s //userdebug
BTS 打包所用的固件
boot.img dtbo.img init_boot.img misc.img super.img vbmeta.img vendor_boot-debug.img vendor_boot.img