CTS、CTS Verify、GTS测试以及GMS认证介绍

一、一些概念

CTS测试

以自动化测试为基础,测试Android系统的兼容性;

CTS Verify

一个手工测试的apk,完成自动化测试无法完成的操作(锁屏、蓝牙、摄像头等);

GTS

手机出口到国外,并且通过运营商出售,就i必须通过GTS测试;

GMS认证周期

手机通过CTS测试、CTS Verify以及GTS测试之后,就可以拿到GMS认证。但是GMS认证周期较长,一般需要3个月至半年。

MADA协议

全称Mobile Application Distribution Agreement(移动应用软件分发协议)。是谷歌和Android厂商之间签署的一个协议,根据该协议,手机厂商在推出采用Android设备前,必须预装所有Google应用,并且,要把Google Search、Google Play放在手机首屏,并以Google Search作为默认的搜索引擎。

二、GMS认证

2.1 认证背景

手机没有GMS认证,那么对于手机出口商而言,就没有了生产的产品走不了运营商通道,所以在欧美等由运营商主导的手机市场,GMS认证是十分必要的。但是没有GMS认证,Google也不会做限制,只是进不了运营商市场,第三世界市场,出于成本考虑(GMS认证需要收费),也就没装GMS认证。

2.2 GMS认证目的

  1. 提高产品android系统的兼容性和稳定性
  2. 授权Google的手机APP和服务
  3. 授权使用Android LOGO
  4. 产品可以进入欧美市场

2.3 GMS认证要求

  1. 必须申请与Google签署MADA协议(网站操作)
  2. 产品必须使用7.0以上的安卓版本
  3. 产品必须依次通过CTS测试、CTS Verify测试以及GTS测试
  4. 产品还可以通过CE、FCC、BT以及WIFI等硬件认证(这一部分不是GMS认证的硬性指标)

2.4 GMS认证流程

  1. 申请谷歌MADA协议
  2. 产品做硬件测试
  3. 提交测试报告给谷歌审核
  4. 获得谷歌认证授权

2.5 MADA协议申请流程

st=>start: 开始:https://www.android.com/certified/partners/
op1=>operation: 填写公司基本信息
op2=>operation: 向谷歌发起MADA请求
cond=>condition: 谷歌评估审核
e=>end: 结束
st->op1->op2->cond
cond(yes)->e
cond(no)->op1

三、CTS测试

3.1 CTS测试介绍

CTS测试全称为系列兼容测试(Compatibility Test suite),CTS是为了测试手机是否符合google定义的兼容性规范(Compatibility Definition)。从而基于Android的应用程序能在基于同一个api版本的设备上面运行。通过CTS测试的设备可以获得Android的商标,并且享受Android Market的权限。 CTS测试是一个基于uiautomator安卓原生自动化框架运行的自动化测试。通过CTS测试,保证系统的安全性和稳定性。

3.2 CTS测试的目的

由于Google系统的开源性,很多手机厂商基于安卓系统做出了深度优化,从而造成了安卓移动终端的碎片化,导致android终端的兼容性差的问题,严重影响用户体验。手机通过CTS测试,是市场得到了一个通过的规范:

  1. 让App提供更好的用户体验,用户可以选择更多的适合自己设备的app
  2. 让开发者设计更高质量的app
  3. 通过CTS的设备可以运行Android market
  4. CTS是免费的,很简单

 3.3 CTS测试运行原理

在pc端安装CTS测试套件,安装完成后,就可以通过连接到pc端的数据线将测试用户发送至手机上,完成测试用例的执行,并且把执行结果返回给PC端。CTS测试套件下载连接如下:https://source.android.com/compatibility/cts/downloads

3.4 CTS测试套件目录文档结构

CTS目录结构
    -- docs
        -- logs 运行cs产生的log文件
        -- plans 运行计划
        -- results 测试结果
        -- testcases 测试用例配置
    -- respository
    -- resource 资源文件
    -- tools 运行工具

3.5 CTS测试环境准备

3.5.1 测试环境

① windows

windows环境,需要自己重写脚本

  1. 电脑端配置JDK/SDK的环境
  2. 将解压后的测试套件(文件名android-cts)拷贝至adt目录下的sdk目录

② Linux(推荐64位UBUNTU 10.04)

一般来说,linux上运行较为稳定,所以手机厂商都是在linux端跑cts测试

  1. 电脑端配置JDK/SDK的环境
  2. 将测试套件解压至pc端/data目录下

3.5.2 测试准备工作

  1. 下载需要进行测试的软件版本(ROM)
  2. 插入可用的SIM卡(双开手机,需确保卡1有sim卡)
  3. 写入合法的IMEI号(手机的身份证,每一个手机都会有唯一的一个IMEI号)
  4. 连接一个可翻墙的WIFI网络(可以使用香港专线,网络比较稳定)

3.5.3 手机端配置

  1. 手机恢复出厂设置
  2. 手机语言设置为英语
  3. 手机需常亮并取消锁屏
  4. 开启GPS
  5. 开启USB调试后勾选stay awake和allow mock location
  6. 安装CtsDeviceAdmin.apk(位于android-cts/repository/testcases),进入setting->security->device administrators的前两项
  7. 确保手机SD卡有>1G的存储空间
  8. 确保手机没有谷歌账号或其他账号存在
  9. 确保手机时间和日期设置正确(连接数据后,会自动更新时间,时区选择默认时区) ...(其余在CDD文档中有定义)

3.5 CTS测试流程

  1. 手机和PC连接,打开USB调试模式,用adb devices检查是否连接好手机
  2. 在/data进入android-cts/tools/目录,执行cts-tradefed脚本进入测试环境
  3. 在测试环境中输入以下命令进行整体测试

3.6 查看测试结果

3.6.1 测试结果存放路径

android-cts/repository/results/testResult.xml

3.6.2 测试日志存放路径

android-cts/repository/logs/

四、GTS测试

4.1 GTS测试介绍

谷歌移动服务测试套件(Google Mobile Services Test Suite),谷歌移动服务提供了Search、 Search by Voice、Gmail、Contact Sync、 Calendar Sync、Talk、 Maps、 Steet View、 YouTube、 Android Market (Play store)等服务,当用户使用谷歌时,谷歌可以把各种广告嵌入到谷歌的服务中。

4.2 GTS授权级别

根据GMS,谷歌对android手机给与不同程度的授权,把搭载android系统的手机厂商分为3个级别:

  1. 免费使用Android系统,但不内嵌GMS
  2. 内嵌部分GMS,但手机不能打上谷歌的商标
  3. 内嵌所有GMS服务,也可以使用谷歌商标。如果在android手机中内置有谷歌GMS服务的话,是等同被谷歌官方认证的产品 4.3 GTS测试流程 GTS的环境安装、执行、报告分析这一系列操作和CTS类似,只是GTS必须连接VPN。 4.3.1 手机环境准备
  4. 刷好GMS版本的ROM包
  5. 恢复手机出厂设置
  6. 设置手机、连接外网
  7. 插入SIM卡,打开移动数据
  8. 打开蓝牙
  9. 显示中睡眠时间显示最大
  10. 竖屏
  11. 语言选择英语
  12. 键盘选择谷歌键盘
  13. 打开定位、高精度
  14. 安全中锁屏选择None
  15. 时间将自动获取时间和日期关闭,选择太平洋时区、24小时制
  16. 在开发者模式中打开stay awake和USB debugging 4.3.2 执行GTS测试
  17. 开始全部GTS测试
run gts --plan GTS

单跑某一模块的GTS测试

run gts -plan 'Module Name' -t 'class name'

 接着某一次中断的gts测试跑

run gts --retry session_id
其中session_id可由lr查看

五、获取GMS认证

通过GMS认证后,就可以申请到一个GMS的APK的包,可以将这些谷歌应用集成到手机系统里面。通过GMS认证的手机,可以在Googie play中看到如下内容:


转自:CTS、CTS Verify、GTS测试以及GMS认证介绍 - 腾讯云开发者社区-腾讯云

 CTS/GTS/STS/VTS/CTS-Verifier 测试培训 - 小专栏

Android XTS 测试入门_起个ID好难的博客-CSDN博客_android xts测试

谷歌CTS测试之GTS测试简介_又是十年春的博客-CSDN博客_gts测试

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Windows上运行GMS测试,您可以按照以下步骤进行操作: 1. 首先,确保您的设备已经处于开发者模式,并且已经打开了"保持唤醒"和"USB调试"选项。\[3\] 2. 打开命令提示符或PowerShell,并导航到您的GMS测试工具的安装目录。 3. 使用以下命令运行GTS测试: ``` run gts --plan GTS ``` 这将运行全部的GTS测试。\[1\] 4. 如果您只想运行某个模块的GTS测试,可以使用以下命令: ``` run gts -plan 'Module Name' -t 'class name' ``` 将"Module Name"替换为您要运行的模块名称,"class name"替换为您要运行的类名。\[1\] 5. 如果您需要继续之前中断的GTS测试,可以使用以下命令: ``` run gts --retry session_id ``` 其中,"session_id"是之前中断测试的会话ID,您可以通过lr命令查看。\[1\] 请注意,以上命令是基于GTS测试工具的使用。如果您需要运行其他类型的测试,例如CTS、VTS或STS,您可以参考引用\[2\]中提供的命令。 #### 引用[.reference_title] - *1* [CTSCTS VerifyGTS测试以及GMS认证](https://blog.csdn.net/gaiyindexingqiu/article/details/81141256)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Android GMS P测试与O测试变化及注意事项](https://blog.csdn.net/qq_32072451/article/details/87880337)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [CTSCTS VerifyGTS测试以及GMS认证介绍](https://blog.csdn.net/qq_43804080/article/details/103822394)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值