GTS的全称是Google Mobile Services Test Suite,所谓的Google Mobile Services即谷歌移动服务,是谷歌开发并推动Android的动力,也是Android系统的灵魂所在。GMS目前提供有Search、Search by Voice、Gmail、Contact Sync、Calendar Sync、Talk、Maps、Street View、YouTube、Android Market (ICS 上更改为Play store)服务。当用户使用谷歌的时候,谷歌可以把广告嵌入各种谷歌的服务中。
依据GMS,谷歌对android手机给予不同程度的授权,把搭载Android系统的手机厂商分为三个级别
1. 免费使用Android操作系统,但不内嵌GMS。
2. 内嵌部分GMS,但手机不能打上谷歌的商标。
3. 内嵌所有的GMS服务,也可以使用谷歌商标。如果在android手机中内置有谷歌GMS服务的话,是等同被谷歌官方认证过的产品。
GTS的环境安装、执行、报告分析这一系列操作跟CTS一样,只是GTS必须连接VPN,整个测试过程需要1到2个小时,如果网速不好,测试时间也相对较长。具体测试步骤如下:
1. 刷机成需要测试的版本;
2. 连接到一个比较高速率的wifi,并且保证能上VPN;
3. 设置屏幕无操作30分钟后休眠,即Settings -> Display -> Sleep to 30 minutes;
4. 设置Settings -> Developer Options -> check "Stay awake" option,其中的Developer Options可以通过点击七次Build number出现。
5. 设置Settings -> Developer Options -> check "USB debugging" 选项。
6. 设置Settings -> Developer Options –> uncheck "Verify apps over USB" 选项。
7. 设置Settings -> Security -> Screen lock –> None。
8. 如果有谷歌浏览器是默认浏览器的话,需要做一些precondition,否则可能会由于打开谷歌浏览器时的一些初始画面fail掉一些case。
· 打开谷歌浏览器
· 如果出现 "Welcome to Chrome" ,点击”ACCEPT & CONTINUE”
· 如果出现 "Set up Chrome,点击 “NO THANKS”
9. 点击右下角的menu键,删除所有的recent app。
10. PC端的操作:
· 安装了java7
· 安装了adb
接下来是具体跑GTS:
1. Google官网下载最新的GTS测试包,解压到你的Linux电脑上,连接手机,通过adb device检测手机是否连接至电脑。
2. 进入android-xts/tools路径下,如图1所示。
图1 进入android-xts/tools目录
3. 通过”./xts-tradefed” 运行脚本,即进入GTS控制台,同时会识别到已连接的手机,如图2所示。
图2 执行xts-tradefed脚本
4. 之后再控制台输入”run xts --plan XTS” 可以run全部的GTS packages,run起来之后会首先穿件存储结果的文件夹,之后才开始run package,如图3所示。
图3 run full GTS
5. 在第一轮之后如果有not executed状态的case,可以通过”run xts --continue-session session_ID” 继续run not executed的case,其中的session_ID可以通过”l r”查看,如图4所示。
图4 continue not executed case
6. 一般保证测试中的fail项run 三遍,所以当第一轮跑完之后可以通过 ” add derivedplan --plan <plan_name> -s <session> -r fail ” 来专门创建session中fail项的plan,创建之后可以通过 ”l p”查看是否成功创建plan_name,确保创建成功 之后通过 ”run xts --plan plan_name”来rerun fail项了,如图5所示。
图5 add and run fail plan
7. 测试结果会自动生成到android-xts/repository/results中,会存储到日期加时间的文件夹中,其中的xtsTestResult.xml可以用火狐浏览器打开,查看详细的测试结果,如图6所示。
图6 详细测试结果
到此为止GTS从环境搭建到测试结果分析已经全部完成了!