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. Java三种技术架构

    http://blog.csdn.net/weixin_36416990/article/details/52845868

  2. python tickle模块与json模块

    #! /usr/bin/env python# -*- coding:utf-8 -*-#JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式 ...

  3. 判断EditText输入的字符串中是否包含有emoji表情

    我们在实际的开发中经常需要用到EditText 但是有一个不好的地方就是我们在前端用EditText输入了带有emoji表情的字符串之后 服务器是无法识别的,这就需要我们前端根据需求来决定表情的去留, ...

  4. javaScript中的闭包原理 (译)

    这篇文章通过javaScript代码解释了闭包的原理,来让编程人员理解闭包.它不是写给大牛或使用功能性语言进行编程的程序员的.一旦意会了其核心概念,闭包理解起来并不难.然而,你不可能通过阅读任何有关闭 ...

  5. 【持续更新】JS 时间与日期

    JS 的日期时间在项目中是必定会用到的,所以必须掌握. UTC 与 GMT 背景 十七世纪,格林威治皇家天文台为了海上霸权的扩张计画而进行天体观测.1675年旧皇家观测所(Old Royal Obse ...

  6. 将生成的Excel表发送到邮箱

    本文接上一篇,将得到的Excel表发送到邮箱.. 在上一篇中,本人使用的是直接从数据库中获取数据,然后包装成Excel表.现在将该Excel表发送到目的邮箱,如果需要跟上篇一样,定时每天某时刻发送,就 ...

  7. PHP-PHPExcel用法详解

    以下文章来源:diandian_520 http://blog.csdn.net/diandian_520/article/details/7827038 1.header header(" ...

  8. 你不知道的HTTP之HTTPS

    确保web安全的HTTPS HTTPS=HTTP+ 加密 + 认证 + 完整性保护 1.加密: 1)通信的加密 所谓互联网,是由能连通到全世界的网络组成的.无论世界哪个角 落的服务器在和客户端通信时, ...

  9. 使用python模拟cookie登陆wooyun

    import urllib2 class SimpleCookieHandler(urllib2.BaseHandler): def http_request(self, req): simple_c ...

  10. Codeforces Round #316 (Div. 2) B Simple Game 贪心

    贪心,如果m分成的两个区间长度不相等,那么选长的那个区间最接近m的位置,否则选m-1位置,特判一下n等于1的情况 #include<bits/stdc++.h> using namespa ...