CTS测试环境的搭配

需要的材料:ubantu系统、sdk、jdk、andriud-cts测试包、media视频文件1.0

ubantu版本:
Android 6.0 (Marshmallow) - AOSP master: Ubuntu 14.04 (Trusty)
Android 2.3.x (Gingerbread) - Android 5.x (Lollipop): Ubuntu 12.04 (Precise)
Android 1.5 (Cupcake) - Android 2.2.x (Froyo): Ubuntu 10.04 (Lucid)

cts下载网址:
cts:http://source.android.com/compatibility/downloads.html#compatibility-test-suite-manual

JDK版本:
Java Development Kit (JDK)
CTS 5.0 and later: Java 7
CTS 4.4 and earlier: Java 6
下载网址:
http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk7-downloads-1880260.html
Linux/Windows JDK7安装|JDK1.7安装和环境变量配置
http://www.webkfa.com/one1/w291.html


步骤:

1.安装ubantu系统:

安装arm 64位ubantu系统(可以在网上下载ubootin放在u盘里安装,留出一个空盘---重启电脑---还没起来时按F12安然按步骤安装即可)


2.配置好android的环境:即jdk、sdk、adb环境:

2.1 下载linux版本

1.adt-bundle-linux-x86_64-20140702

2.jdk1.6.0_45

 

即像在windows下一样需要安装sdk和jdk,adt-bundle-linux-x86_64-20140702里面包含了sdk、adb和eclipse----设置环境变量。

 

2.2 设置环境变量

2.2.1、jdk:sudogedit /ect/environment

------然后输入ubantu的登录密码-----

------在environment中添加jdk的路径:/home/llj/Programs/jdk1.6.0_45/bin

如下所示:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/llj/Programs/jdk1.6.0_45/bin://home/llj/Programs/android_dev/sdk/platform-tools"

 

2.2.2、sdk:添加://home/llj/Programs/android_dev/sdk/platform-tools

 

2.2.3、执行sudo apt-get install ia32-libs

然后就可以使用adb了。

保存后重启电脑才可生效。

参考文献:http://byandby.iteye.com/blog/1159592

 

注意:如果安装的是amd 64位的ubuntu,即使正确配置了android的环境变量(步骤1和2),也还是不可以使用adb命令的。在终端输入adb大概会有这样一个错误提示:

android-sdk-linux_86/platform-tools/adb: 没有那个文件或目录。

原因:由于是64bit的系统,而Android sdk只有32bit的程序,需要安装ia32-libs,才能使用。

解决办法:执行命令sudo apt-get install ia32-libs


但如果安装的ubantu是12.04版本会提示:


administrator@ubuntu:~$ sudo apt-get install ia32-libs
[sudo] password for administrator: 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树      
正在读取状态信息... 完成      
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:

下列软件包有未满足的依赖关系:
 ia32-libs : 依赖: ia32-libs-multiarch但无法安装它
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。


解决办法:

sudo apt-get install libgl1-mesa-dri:i386
sudo apt-get install ia32-libs-multiarch:i386

sudo apt-get install ia32-libs-multiarch
apt-get update
sudo apt-get install ia32-libs


 

2.2.4.到这一步,adb可以使用了,但是如机器没有弹出允许调试权限对话框(D800没有,华为P7有)则会出现adb no permissions的提示。

解决办法:http://jingyan.baidu.com/album/2fb0ba405e815f00f2ec5f9e.html?picindex=6

 

具体步骤:

2.2.4.1  lsusb  (查看usb设备)

CTS测试环境的搭配_第1张图片

2.2.4.2  sudo vi /etc/udev/rules.d/51-android.rules

2.2.4.3 在新建的51-android.rules文件中输入下面的内容:

SUBSYSTEM=="usb",ATTR{idVendor}=="10d6",MODE="0666",GROUP="plugdev"

 

其中最关键的是ATTR{idVendor}=="10d6",10d6,这个值来自于第2步中10d6:0c02,这个需要根据不同android设备的厂商参数来进行填写。填写完上面的内容后,保存文件并关闭。

2.2.4.4执行下面的命令,将51-android.rules文件的权限修改为任何人都可以执行:

 sudochmod a+r /etc/udev/rules.d/51-android.rules

2.2.4.5执行下面的命令重启udev,这样我们刚刚添加的新51-android.rules才会正式生效:

sudo/etc/init.d/udev restart

2.2.4.6adb kill-server

   adb start-server

   adb devices


3.终端setting设置: 

3.1 语言设置为English  
3.2 去掉锁屏(Settings > Security & location &security>Set up screen lock>none ) 
3.3 设置屏幕超时为最长时间30分钟(Settings>Display>Screen timeout>30minutes) 
3.4 设置唤醒状态(Settings>Applications>Development>Stay awake) 
3.5 设置虚拟地点(Settings > Application > Development > Allow mock locations is set) 
3.6 运行时让屏幕是home主界面上 
3.7 运行过程中不要触摸屏幕及按钮 
3.8 手机时间设置正确 
3.9 有SD卡并是清空,拷贝视频文件进sd卡的test目录下:
a.在SD卡中建目录test, 将android-cts-media-1.0.zip解压到test目录中,将SD卡插入设备中。确定SD卡为可读可写状态。
b.在Ubuntu环境下,可以再android-cts-media-1.0.zip解压出来的文档中放在一个新建的test文件夹汇中,直接运行文件夹下的
source  ./copy_media.sh  all    它会自动把这些media文件拷贝到你的sd卡中。
3.10  安装CtsDeviceAdmin.apk测试包,Settings->security->Device administrators,激活两个管理员账号
3.11  安装CtsDelegatingAccessibilityService.apkSettings->accessibility,设置delegating accessibility service为on
参考:http://www.docin.com/p-1090676288.html

4.运行cts命令测试:

通过ubantu terminal进入命令控制台---

cd Programs/android-cts/tools

./cts-tradefed (此处有的机器会提示:bash: ./cts-tradefed: Permission denied,这种情况需要执行chmod  777  cts-tradefed)

run cts --plan CTS   (测试整个cts)


测试命令:

查看有哪些计划、包、类等:

l/list    d/devices

l/list    p/plan    查看有哪些计划

l/list    packages  查看有哪些包

l/list    r/results     查看测试结果


执行命令:

run cts  --plan    test_plan_name

run cts  --package/p    test_package_name

run cts  --class/-c         test_class_name


cts中提供了很多有用的命令,断了之后会出现很多Not Executed项,只要在使用命令:
run cts –continue-session session_id 就可以继续上面的运行了,测试完毕后结果会自动更新到之前的testResult.xml中。
session_id用命令l r就可以看见。
也可以使用命令:
add derivedplan --plan plan_name -s sessionID -r [pass/failt/notExecuted/timeout]  
添加一个新的plan,再用命令
run cts --plan plan_name
运行即可据需测试没测的项。
如:命令
add derivedplan --plan plan_name -s sessionID -r [pass/fail/notExecuted/timeout]  
//plan_name可以自己定义,
sessionID就是l r查看结果的Session编号。
测试全部fail项-r后面是fail,
测试notExecuted项或者timeout项,-r后面就是notExecuted或者timeout。

例:测试SessionID为2的所有fail项,输入命令应为:
>add derivedplan --plan user123 -s 2 -r fail
>run cts --plan plan_name   
//plan_name即您前面定义的。

例:测试上面例子中添加的fail项的plan,输入命令应为:
>run cts --plan user123

 

若想继续测试一遍失败的项:在testResult.xml中把failed结果改为notExecuted,再执行:run cts --continue-session sessionId --disable-reboot 即可。跑完后会自动更新测试结果到testResult.xml中。




手动测试指导:CTS Verifier test

http://blog.sina.com.cn/s/blog_6695f9eb0102vgfe.html


参考文章:http://wenku.baidu.com/view/d7266b24aaea998fcd220e05.html###

Linux下CTS的搭建与测试指导 CTS http://www.docin.com/p-1090676288.html




你可能感兴趣的:(CTS测试环境的搭配)