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. 537 Complex Number Multiplication 复数乘法

    详见:https://leetcode.com/problems/complex-number-multiplication/description/ C++: class Solution { pu ...

  2. 牛客网Java刷题知识点之调用线程类的start()方法和run()方法的区别

    不多说,直接上干货! 前期博客 牛客网Java刷题知识点之四种不同的方式创建线程 这里很简单 首先,系统通过调用线程类的start()方法来启动一个线程,此时这个线程处于就绪状态,而非运行状态,也就意 ...

  3. 《javascript设计模式》笔记之第七章:工厂模式

    在读了这章之后,根据我个人现在的理解,工厂模式就是:将一个类或者一个方法称为一个工厂,然后再将一些模块交给这个工厂,让这个工厂按照给它的不同模块产出不同的实例. 下面为正文: 一:简单工厂: 例子: ...

  4. ecshop文章分类页面调用文章的内容

    有的时候需要用到,所以总结了一下. 打开includes/lib_article.php文件 红色部分为添加的部分 function get_cat_articles($cat_id, $page = ...

  5. Redis的发布和订阅

    Redis的发布和订阅 Redis发布订阅(pub/sub)是一种消息通信模式,pub发布消息,sub接收消息.(pub/sub)是一种生产者消费者模式,是实现消息队列的一种方式 redis的订阅和发 ...

  6. slf4j介绍以及与Log4j、Log4j2、LogBack整合方法

    翻了一下百度和官网.这么介绍slf4j. slf4j 全称 Simple Logging Facade for Java,是日志框架的一种抽象,那么也就是说 slf4j 是不能单独使用的必须要有其他实 ...

  7. centos6.3下postgresql-9.3安装记录

    Xshell for Xmanager Enterprise 4 (Build 0186) Copyright (c) 2002-2011 NetSarang Computer, Inc. All r ...

  8. iOS 自适应高度,改变字体颜色

    #define kMainBoundsWidth ([UIScreen mainScreen].bounds).size.width //屏幕的宽度 #define kFont [UIFont sys ...

  9. Objective-C Protocols

    Objective-C allows you to define protocols, which declare the methods expected to be used for a part ...

  10. spark-wordcount-sample算子测试

    import org.apache.spark.{SparkConf, SparkContext} object radomSampleU { def main(args: Array[String] ...