配置测试环境 1、setting中的开发人员选项:勾选不锁定屏幕;USB调试;允许模拟位置三个选项。 2、使用USB线将设备连接到PC上。 3、解压android-cts-4.0.3_r1-linux_x86-arm.zip(下载地址https://dl.google.com/dl/android/cts/android-cts-4.0.3_r1-linux_x86-arm.zip),得到文件夹android-cts。 开启终端,运行以下命令: cd android-cts/ adb install -r repository/testcases/CtsDelegatingAccessibilityService.apk adb install -r repository/testcases/CtsDeviceAdmin.apk 4、在设置——》“语言和输入法”中将android设备设置为英文。输入法设置为english(US) 5、依次进入Settings > Accessibility > Delegating Accessibility Service,滑动右上角选项,使选项变为“ON”。 6、依次进入Settings > Security > Device administrators,勾选所有选项;默认不允许安装未知源(在setting->Application->取消勾选Unknown Sources) 7、依次进入Settings > Display,选择sleep为30minutes。 8、依次进入Date&time,将Automatic time zone勾去掉;Select time zone选择Casablanca(GMT+0:00)。 9、打开wifi并连接上,使设备可以上网。 10、下载压缩包android-cts-media-1.0.zip,解压到PC上, 开启终端:cd android-cts-media-1.0 并运行脚本:./copy_media.sh all,将多媒体资源push到设备上。 11、重启设备。 12、接上电源,界面为解锁后的主界面。 13、(固频加入)启动完之后在串口输入: echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
运行CTS测试
cd android-cts/tools ./cts-tradefed 此时进入到了CTS界面,输入命令: run cts --plan CTS 整体跑CTS run cts -p android.media 单跑某个包 run cts -c android.permission.cts.FileSystemPermissionTest -m testAllOtherDirectoriesNotWritable 单跑某个包的某个测试项 run cts --continue-session 继续单跑
一些CTS 命令
ls -p 列出所有测试包 ls -p/--package package_name 列出指定apk的package信息 add -p/--package root 从root路径添加一个apk到repository rm -p/--package package_name/all: 删除一个/所有测试apk
ls -r/--result 列出所有测试结果 ls -r/--result -s/--session session_id 列出具体的测试项 ls -r/--result [pass/fail/notExecuted/timeout] -s/--session session_id 列出分类结果的测试项
history/h 列出所有键入过的命令 history/h count 列出最近使用的count条记录 如: h 2 列出最近的两条键入的命令 history/h -e num 执行指定编号的命令(每条历史命令都有一个编号)
ls -d/--device 列出所有的设备
Plan:
ls --plan 列出所有测试计划 ls --plan plan_name 列出此计划的所包含的测试apk add --plan plan_name 添加一个自定义的计划,比如:add --plan nollec_test add --derivedplan plan_name -s/--session session_id -r/--result result_type 派生一个计划,需要指定session和result(即当某个session测试结束后根据result运行此“派生”计划) rm --plan plan_name/all 删除“一个/所有”计划 start --plan test_plan_name: 运行一个计划 start --plan test_plan_name -d/--device device_ID 指定设备 start --plan test_plan_name -t/--test test_name 指定要测试的接口 ,其形式如:java_package_name.class_name#method_name;细分到方法,方便单项测试 start --plan test_plan_name -p/--package java_package_name 运行指定的测试apk start --plan test_plan_name -t/--test test_name -d/--device device_ID 指定要测试的接口和设备 start --plan test_plan_name -p/--package java_package_name -d/--device device_ID: 指定测试apk和设备