1、电脑测试环境搭建
init.sh (可直接执行该批处理文件来安装所有环境,adb环境需手动构建)
1. ubuntu系统 --最好是64bit系统,必须安装18.04 (16.04及以下系统无法测试VTS,会直接报错)
2. java 11
linux中使用命令:
sudo apt-get install openjdk-11-jdk
sudo apt-get install openjdk-11-jre
在命令框输入sudo gedit .bashrc ,并在文件最后添加:
export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64 ---- 指的是openjdk在linux下路径
export PATH=$PATH:$JAVA_HOME/bin
3. ADB 1.0.41 ---- 支持使用fastboot reboot fastboot命令
通过adb version查看版本信息
下载最新linux版本解压,然后将sdk中的platform_tools(Version 31.0.3-7562133)目录下的adb fastboot替换系统adb fastboot工具
如若遇到fastboot -w报错:can't generate image for userdata
参考链接:Android-fastboot -w报错: Cannot generate image for userdata的解决方法_cheriyou_的博客-CSDN博客
4. python 2.7
2、版本烧录
烧录测试所需的user版本用于跑GTS等,userdebug版本用于跑sts,跑GSI需要执行4、5步骤烧录system.img,跑VTS需要烧录system.img和boot-debug.img,其他测试不用
3、测试设备环境搭建
1)进入settings打开Wi-Fi并连接AP (AP需要连外网)
2) 开启手机数据连接、打开蓝牙(不用适配连接,开启即可
3) 进入settings->Security→Screenlock设为None
4) 进入Language&input→language设为English(UnitedStates)
5) 进入settings→Display→Sleep设为None或者Screen timeout设为30mins
6) 进入settings->Developeroptions->Enable USB debugging、Stay awake
7) 进入settings→Display→system navigation设置为三指导航
4、解锁设备
adb reboot bootloader
fastboot flashing unlock 选择解锁
fastboot reboot
5、烧录system.img
解锁成功后,根据安全更新时间在Google官网下载相对应的system.img进行烧录
adb reboot fastboot
fastboot flash system system.img路径
fastboot reboot bootloader
fastboot -w 擦除用户数据
fastboot erase userdata
fastboot erase metadata 手动擦除
fastboot reboot
6、运行cts测试工具
1.进入android-gts/tools
2.执行./gts-tradefed进入gts终端
3.run gts -s 设备号 如果有多台则继续接 -s 设备号 --shard-count n(设备数)
例如:run cts -s D40D3C3E -s DF0D3C3E -s D40D3C3G -s D40D3C4E --shard-count 4
不接--shard-count 4 则默认跑第一台,后面的不会跑
adb shell getprop | grep seri 可以查看设备号
4.等待测试结果;如果长时间卡死则使用kill命令杀死,这样能生成测试报告,然后重新测试
5.恢复出厂并设置run retry -r sessionID号 -s 设备号 有失败项重测,sessionID号每回测试只生成一个最新的,无论机器数量
6.子模块单独测试
例如:run cts --subplan 子模块xml文件名 -s 设备号
或 run cts -m 模块名 -t case名
7、测试模块
run cts -m 模块 -t case名称
例如:run cts -m CtsWindowManagerDeviceTestCases -t android.server.wm.DisplayCutoutTests#testDisplayCutout_CutoutPaths