最近公司项目有Google CTS测试需求,于是查找了一些资料,试着在Ubuntu系统上搭建CTS测试环境,具体操作步骤如下:
-安装JDK
-安装Android-SDK
-下载Android兼容性测试套件
安装JDK
1.下载JDK
2.创建一个目录/usr/lib/jvm以便于把下载解压后的包放到这个目录下
sudo mkdir /usr/lib/jvm
3.解压jdk-7u79-linux-x64.tar.gz并将解压后的文件夹放到/usr/lib/jvm目录中
sudo tar -zxvf jdk1.7.0_79-linux-x64.tar.gz
sudo mv jdk1.7.0_79/ /usr/lib/jvm
4.配置环境变量
sudo gedit ~/.bashrc
export JAVA_HOME=/urs/lib/jvm/jdk1.7.0_79
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
source ~/.bashrc
5.设置默认JDK
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_79/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_79/bin/javac 300
sudo update-alternatives --config java
sudo update-alternatives --config javac
6.测试是否安装成功
java -version
安装Android-SDK
1.下载Android-SDK
2.解压android-sdk_r24.4.1-linux.tgz
tar -zxvf android-sdk_r24.4.1-linux.tgz
sudo mv Sdk /usr/local/
3.配置环境变量
sudo gedit ~/.profile
export PATH=$PATH:/usr/local/Sdk/tools:/usr/local/Sdk/platform-tools
export ANDROID_SDK_HOME=/usr/local/Sdk
source ~/.profile
env
4.遇到error: insufficient permissions for device错误时,解决方式如下:
检查已配置环境
echo $PATH
/urs/lib/jvm/jdk1.7.0_79/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/Sdk/tools:/usr/local/Sdk/platform-tools
which adb
/usr/local/Sdk/platform-tools/adb
然后执行以下命令
sudo ln -s /usr/local/Sdk/platform-tools/adb /usr/local/sbin/adb
sudo /etc/init.d/udev restart
sudo adb kill-server
sudo adb start-server
adb shell
下载Android兼容性测试套件
CTS:主要用来确保手机符合该兼容性规范。基于Android instrumentation和JUnit测试。
1.Android兼容性测试套件下载官网
Android 5.1 R7 Compatibility Test Suite (CTS)
CTS Media 1.2
2.测试前需要对手机进行设置如下:
a.进入开发者选项,打开不锁屏屏幕,打开USB调试,允许模式位置
b.插入测试卡并开启移动数据,插入Sdcard
c.打开蓝牙,连接WiFi(vpn)
d.休眠时间设置为最长时间30分钟
e.屏幕锁定方式设置为无
f.语言设置为English,设置Google输入法
g.安装CtsDeviceAdmin.apk,安全-设备管理,选中前两项
h.拷贝CTS媒体文件到手机
cd ~/cts/android-cts-media-1.2/
. copy_media.sh all`
3.运行CTS测试
cd ~/cts/android-cts/tool/
./cts-tradefed
run cts --plan CTS
4.测试技巧
a.使用l r命令查看session-id
b.失败用例复测
打开testResult.xml文件,搜索关键字result="fail", 全部替换成result="notExecuted"
run cts --continue-session
c.指定设备
run cts -s --plan CTS
d.执行单条测试用例
run cts -c className -m methodName
e.其他的可用help命令查看