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从环境搭建到测试结果分析已经全部完成了!

Android兼容性测试GTS-环境搭建、测试执行、结果分析的更多相关文章

  1. android测试开发环境搭建

    本文档针对未接触过android的0基础人员,在开始熟悉android之前,首先需要一个学习环境来支撑,在此简单介绍一下android环境搭建.(当然大家也可以百度.谷歌,类似的文档很多) 环境搭建: ...

  2. 大数据基础-2-Hadoop-1环境搭建测试

    Hadoop环境搭建测试 1 安装软件 1.1 规划目录 /opt [root@host2 ~]# cd /opt [root@host2 opt]# mkdir java [root@host2 o ...

  3. Nginx配置多个基于域名的虚拟主机+实验环境搭建+测试

    标签:Linux 域名 Nginx 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xpleaf.blog.51cto.com/9 ...

  4. Android下OpenCV的环境搭建

    目录(?)[-] 前言 系统环境 相关工具 Android ADT环境搭建 Android SDK环境变量的配置 Android NDK的安装与配置 OpenCV for Android 环境搭建 基 ...

  5. android Jni NDK开发环境搭建及其简单实例的编写

    android  Jni  NDK开发环境搭建及其简单实例的编写 由于工作需要,需要采用开发想要的JNI,由于之前没有接触过安卓的开发,所以更加网上的帖子,学习了下.遇到了些问题,然后总结下学习过程中 ...

  6. android 5.0开发环境搭建

    Android 5.0 是 Google 于 2014 年 10 月 15 日发布的全新 Android 操作系统.本文将就最新的Android 5.0 开发环境搭建做详细介绍. 工具/原料 jdk- ...

  7. 一、Android学习第一天——环境搭建(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 一. Android学习第一天——环境搭建 Android 开发环境的搭建 ...

  8. Android NDK r8 windows环境搭建

    Android NDK r8 windows环境搭建 一.默认基础环境为已经完成Android开发环境的搭建 需要的软件及插件 1. JDK-7u25 2. Eclipse 3. Android SD ...

  9. Android下NDK开发环境搭建

    Android下NDK开发环境搭建 1.     AndroidNDK安装与配置 1.1  NDK简介 Android NDK是一套允许开发人员使用本地代码(如C/C++)进行Android APP部 ...

  10. (一)phoneGap之环境搭建教程及其example分析

    phoneGap之环境搭建教程及其example分析 一.环境搭建 与普通的开发android应用一样,phoneGap也同于原生android应用一样,环境相同,只是有部分不同,下面就我做理解,进行 ...

随机推荐

  1. 2017 Multi-University Training Contest - Team 1 KazaQ's Socks

    Problem Description KazaQ wears socks everyday. At the beginning, he has n pairs of socks numbered f ...

  2. jQuery prop() 与 removeProp()源码解读

    prop() prop: function( elem, name, value ) { var ret, hooks, notxml, nType = elem.nodeType; // don't ...

  3. 持续集成~Jenkins里的NuGet和MSBuild插件

    Jenkins是一个持续集成的环境,它是java开发的,大叔认为它的工作流程是 从源代码拉一个项目下来到它本地(可以配置定时机制) 恢复相关程序包nuget 编译程序 发布程序 现在说一下在配置jen ...

  4. 《JavaScript设计模式》笔记之第三章:封装和信息隐藏

    第三章 创建对象的基本模式 方法一:门户大开型 var Book = function(isbn, title, author) {   if(isbn == undefined ) throw ne ...

  5. Java GUI设置图标

    ImageIcon是Icon接口的一个实现类. ImageIcon类的构造函数: ImageIcon() ImageIcon(String filename)   //本地图片文件 ImageIcon ...

  6. 为网站设置icon图标用于显示在浏览器标签页最左侧

    icon图标,想必大家对它并不陌生吧,在浏览网页时会看到浏览器标签页的最左侧会有一个小图标,这个正是icon图标.本例为大家介绍下如何为网站设置这个图标 这句话起什么作用 ?复制代码 代码如下: &l ...

  7. Android学习总结(四)—— Activity和 Service进行通信

    一.Activity 和 Service进行通信的基本概念 前面我们学习我生命周期里面包含了启动和停止服务的方法,虽然服务器在活动里启动,但在启动了服务之后,活动与服务基本就没有什么关系了.我们在活动 ...

  8. 洛谷 P1734 最大约数和

    题目描述 选取和不超过S的若干个不同的正整数,使得所有数的约数(不含它本身)之和最大. 输入输出格式 输入格式: 输入一个正整数S. 输出格式: 输出最大的约数之和. 输入输出样例 输入样例#1: 1 ...

  9. (三)maven之一个基本的pom.xml

    一个基本项目的pom.xml文件,通常会有以下三部分: 一.项目坐标,信息描述等. <modelVersion>4.0.0</modelVersion> <groupId ...

  10. 05_Python格式化打印

    一般框架 tplt = '' #格式化模板 print(tplt.format(…)) #填充内容 tplt = '{0}-{1}+{2}={3}' {}表示了一个槽,槽里面的内容使用key:valu ...