2018-07-03

一,环境准备工作

1, jdk环境

a,cts上:在android n之前需要jdk 1.7环境即可,在android n上需要使用jdk 1.8

b,在gts4.1-r1之后都需要使用jdk 1.8的环境

可以使用导入临时环境变量的方法将当前窗口的jdk环境配置成jdk 1.8,使用如下命令即可:

export JAVA_HOME=(此处填写jdk所在路径例如:/usr/lib/jvm/jdk1.8.0_121)

export CLASSPATH=.:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar

export PATH=JAVA_HOME/bin:PATH

2,cts,gts 工具包

从google官网上获取当前最新的cts以及gts工具包

https://source.android.com/compatibility/cts/downloads

[图片上传失败...(image-be2f95-1530601444956)]

如上图所示,先选择android 版本号,在进行下载最新的工具,正常我们都下载ARM的工具包

由于google的cts工具有截止时间,故需要经常上该网站查看最新的版本,在该网站下载的工具都是最新的

3,media 包

跑cts的时候,需要在手机中导入media的包以支持跑media相关的case,该media资源包也在https://source.android.com/compatibility/cts/downloads 进行下载,下载解压后只要运行其中的copy_media.sh脚本即可自动拷贝进手机了(需要赋予该脚本执行权限之后才可以执行),若需要拷贝至多个手机在一台电脑上,只需要在脚本后面加all例如:

./copy_media.sh all

这样就可以将media包分别拷贝到当前连接的所有手机中

4,手机设置

基本电脑环境配置好之后,需要进行手机上的配置,具体详细的可以查询如下网站:

https://source.android.com/compatibility/cts/setup

也可以进行查看附件的文档 [图片上传失败...(image-5b0c2e-1530601444956)] ,建议去网站上查看,因为网站上比较准确,而且实时更新

二 执行CTS/GTS的一些命令

1,整跑

整跑cts的命令非常简单如下:

run cts

当前只有一台手机的时候直接使用该命令即可,若多台手机直接使用

run cts -s devicename (devicename 为使用adb devices 后查看到的devices name)

若使用多台手机跑cts 则需要使用shards 进行跑,如下:

run cts --shards n -s devicesname1 -s devicesname2 ....

shards 后面跟随的参数为参与整跑的手机数量

2,retry 未完成的报告

使用l r查看需要retry的报告的session id ,如下:

[图片上传失败...(image-6adf8b-1530601444956)]

使用如下命令:

run cts --retry sessionid -s devicesname

其中需要注意:

1),retry的手机必须为之前报告的手机或者手机之一

2),跑的两个版本必须一样(fingerprint必须一致)

3,单跑的命令

例如报告如下:

[图片上传失败...(image-1ecd47-1530601444956)]

我们跑该case的命令如下:

run gts -m GtsMediaTestCases -t com.google.android.media.gts.WidevineGenericOpsTests#testL1

若我们需要跑单包,则

run cts -m modoulesname即可,moudlesname 在报告的上可以查看

具体的详细命令可以通过终端help命令查看,如下:

[图片上传失败...(image-33bcb0-1530601444956)]

gts的命令和cts基本一致,只是需要将cts改成gts即可,如下:

run gts -m modulesname

三,送测需求

1,asus android N的送测,需要如下文件:

1),CTS报告以及waive link(若有fail项且wailve的情况)

2),GTS报告以及waive link(若有fail项且wailve的情况)

3),CTS-V报告以及waive link(若有fail项且wailve的情况)

4),AFW报告

5),check list报告(该checklist为asus特有的,满足要求后可以大概率获得google 的approve)

2,联想的送测和asus的不太一致。具体文件清单如下:

1),CTS报告以及waive link(若有fail项且wailve的情况)

2),GTS报告以及waive link(若有fail项且wailve的情况)

3),CTS-V报告以及waive link(若有fail项且wailve的情况)

4),AFW报告

5),FRP (该需求为联想特有,主要为开机向导截图):

[图片上传失败...(image-dcd3c0-1530601444956)]

6),手机prop属性的文件

其中1-4的文件为google需求的文件,后续为客户特有的一些文件

3,关于cts,gts报告送测规则:

由于android 升级到N之后,cts的case大大的增加了,在M上只有十几万条case(6.0-r12上127000+条左右),然而在N上有430000+条的case,导致整跑的难度也大大的增加了,导致目前送测规则也发生了变化:

M的送测规则:由于M的工具不支持retry的命令,故需要重新建立plan进行retry

ps:M的整跑命令为run cts --plan CTS ,CTS代表整跑的plan,之后需要将上一次的fail项重新建立一个plan,然后进行跑该plan,且最多只能建立三个plan就不能建立了(由于超过三个plan会有大概率被google reject)。

N的送测规则:android N支持retry的命令,故直接将最后一份retry 全pass的报告送测即可,由于asus需要确认报告的可靠性,故他们需要完整的retry报告

四,关于本次ZQL1516 CTS送测的一些问题

1,CTS

本次cts送测过程十分曲折,原计划2017/4/4需要将首轮全pass的报告给到asus,由于种种原因,导致最后5/15才将首轮报告送测出去,下面详细列举本次cts报告的问题:

1),整跑卡住,并卡在asus卡机界面,cts卡在同一个包内

该问题最终花费十个工作日左右才解决,最终判断出根因是由于asus simcontact.apk以及在frameworks/base/中的修改导致无法继续整跑

2),camera相关问题

由于camera的HAL1以及HAL3的切换问题,导致camera的相关fail项,最终我们将camera切换至HAL1,同步关闭一批问题,然后剩下几个问题同步解决

3),media相关的问题

在最终MP版本软件上,修改硬解码相关配置文件,导致cts media相关的fail

总结:在重要版本发布的关键节点上,我们对camera,media相关的修改,需要将camear以及media相关的包都跑一遍,以防止影响重要版本发布

2,GTS

本次送测过程中,GTS遇到的重大问题就是widevine相关的问题,由于导致secboot,widevine相关的文件需要进行单独签名导致的相关fail

最终将对应的文件进行单独签名后,导入手机即可pass

3,CTS-V

CTS-V的fail项主要和测试手法相关,关于测试手法,我们需要详细阅读工具给的操作步骤,正常解决的cts-v的问题非常少,只有一两个,大部分的问题都是由于测试手法造成的,具体测试手法可以查看附件[图片上传失败...(image-c3a3ac-1530601444956)]

4,Checklist

由于之前和asus合作较少,导致我们一开始忽略了Checklist相关的内容,该项内容主要是为了提升google approve 的概率而需要检查的测试项,符合该checklist的东西之后能够大概率的通过google approve,例如:

[图片上传失败...(image-1c9b8f-1530601444954)]## 一,环境准备工作

1, jdk环境

a,cts上:在android n之前需要jdk 1.7环境即可,在android n上需要使用jdk 1.8

b,在gts4.1-r1之后都需要使用jdk 1.8的环境

可以使用导入临时环境变量的方法将当前窗口的jdk环境配置成jdk 1.8,使用如下命令即可:

export JAVA_HOME=(此处填写jdk所在路径例如:/usr/lib/jvm/jdk1.8.0_121)

export CLASSPATH=.:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar

export PATH=JAVA_HOME/bin:PATH

2,cts,gts 工具包

从google官网上获取当前最新的cts以及gts工具包

https://source.android.com/compatibility/cts/downloads

[图片上传失败...(image-b08b5c-1530601446496)]

如上图所示,先选择android 版本号,在进行下载最新的工具,正常我们都下载ARM的工具包

由于google的cts工具有截止时间,故需要经常上该网站查看最新的版本,在该网站下载的工具都是最新的

3,media 包

跑cts的时候,需要在手机中导入media的包以支持跑media相关的case,该media资源包也在https://source.android.com/compatibility/cts/downloads 进行下载,下载解压后只要运行其中的copy_media.sh脚本即可自动拷贝进手机了(需要赋予该脚本执行权限之后才可以执行),若需要拷贝至多个手机在一台电脑上,只需要在脚本后面加all例如:

./copy_media.sh all

这样就可以将media包分别拷贝到当前连接的所有手机中

4,手机设置

基本电脑环境配置好之后,需要进行手机上的配置,具体详细的可以查询如下网站:

https://source.android.com/compatibility/cts/setup

也可以进行查看附件的文档 [图片上传失败...(image-b92e0f-1530601446496)] ,建议去网站上查看,因为网站上比较准确,而且实时更新

二 执行CTS/GTS的一些命令

1,整跑

整跑cts的命令非常简单如下:

run cts

当前只有一台手机的时候直接使用该命令即可,若多台手机直接使用

run cts -s devicename (devicename 为使用adb devices 后查看到的devices name)

若使用多台手机跑cts 则需要使用shards 进行跑,如下:

run cts --shards n -s devicesname1 -s devicesname2 ....

shards 后面跟随的参数为参与整跑的手机数量

2,retry 未完成的报告

使用l r查看需要retry的报告的session id ,如下:

[图片上传失败...(image-57921e-1530601446495)]

使用如下命令:

run cts --retry sessionid -s devicesname

其中需要注意:

1),retry的手机必须为之前报告的手机或者手机之一

2),跑的两个版本必须一样(fingerprint必须一致)

3,单跑的命令

例如报告如下:

[图片上传失败...(image-7cbe2e-1530601446495)]

我们跑该case的命令如下:

run gts -m GtsMediaTestCases -t com.google.android.media.gts.WidevineGenericOpsTests#testL1

若我们需要跑单包,则

run cts -m modoulesname即可,moudlesname 在报告的上可以查看

具体的详细命令可以通过终端help命令查看,如下:

[图片上传失败...(image-6dd95f-1530601446495)]

gts的命令和cts基本一致,只是需要将cts改成gts即可,如下:

run gts -m modulesname

三,送测需求

1,asus android N的送测,需要如下文件:

1),CTS报告以及waive link(若有fail项且wailve的情况)

2),GTS报告以及waive link(若有fail项且wailve的情况)

3),CTS-V报告以及waive link(若有fail项且wailve的情况)

4),AFW报告

5),check list报告(该checklist为asus特有的,满足要求后可以大概率获得google 的approve)

2,联想的送测和asus的不太一致。具体文件清单如下:

1),CTS报告以及waive link(若有fail项且wailve的情况)

2),GTS报告以及waive link(若有fail项且wailve的情况)

3),CTS-V报告以及waive link(若有fail项且wailve的情况)

4),AFW报告

5),FRP (该需求为联想特有,主要为开机向导截图):

[图片上传失败...(image-60327c-1530601446495)]

6),手机prop属性的文件

其中1-4的文件为google需求的文件,后续为客户特有的一些文件

3,关于cts,gts报告送测规则:

由于android 升级到N之后,cts的case大大的增加了,在M上只有十几万条case(6.0-r12上127000+条左右),然而在N上有430000+条的case,导致整跑的难度也大大的增加了,导致目前送测规则也发生了变化:

M的送测规则:由于M的工具不支持retry的命令,故需要重新建立plan进行retry

ps:M的整跑命令为run cts --plan CTS ,CTS代表整跑的plan,之后需要将上一次的fail项重新建立一个plan,然后进行跑该plan,且最多只能建立三个plan就不能建立了(由于超过三个plan会有大概率被google reject)。

N的送测规则:android N支持retry的命令,故直接将最后一份retry 全pass的报告送测即可,由于asus需要确认报告的可靠性,故他们需要完整的retry报告

四,关于本次ZQL1516 CTS送测的一些问题

1,CTS

本次cts送测过程十分曲折,原计划2017/4/4需要将首轮全pass的报告给到asus,由于种种原因,导致最后5/15才将首轮报告送测出去,下面详细列举本次cts报告的问题:

1),整跑卡住,并卡在asus卡机界面,cts卡在同一个包内

该问题最终花费十个工作日左右才解决,最终判断出根因是由于asus simcontact.apk以及在frameworks/base/中的修改导致无法继续整跑

2),camera相关问题

由于camera的HAL1以及HAL3的切换问题,导致camera的相关fail项,最终我们将camera切换至HAL1,同步关闭一批问题,然后剩下几个问题同步解决

3),media相关的问题

在最终MP版本软件上,修改硬解码相关配置文件,导致cts media相关的fail

总结:在重要版本发布的关键节点上,我们对camera,media相关的修改,需要将camear以及media相关的包都跑一遍,以防止影响重要版本发布

2,GTS

本次送测过程中,GTS遇到的重大问题就是widevine相关的问题,由于导致secboot,widevine相关的文件需要进行单独签名导致的相关fail

最终将对应的文件进行单独签名后,导入手机即可pass

3,CTS-V

CTS-V的fail项主要和测试手法相关,关于测试手法,我们需要详细阅读工具给的操作步骤,正常解决的cts-v的问题非常少,只有一两个,大部分的问题都是由于测试手法造成的,具体测试手法可以查看附件[图片上传失败...(image-3a097-1530601446494)]

4,Checklist

由于之前和asus合作较少,导致我们一开始忽略了Checklist相关的内容,该项内容主要是为了提升google approve 的概率而需要检查的测试项,符合该checklist的东西之后能够大概率的通过google approve,例如:

[图片上传失败...(image-26f8bd-1530601446494)]

该项测试检查的是手机的dppi值以及屏幕的属性,需要和cts工具读取的手机参数一致才能pass,故该测试项fail需要驱动屏幕的owner进行修改

该项测试检查的是手机的dppi值以及屏幕的属性,需要和cts工具读取的手机参数一致才能pass,故该测试项fail需要驱动屏幕的owner进行修改

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,723评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,485评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,998评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,323评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,355评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,079评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,389评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,019评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,519评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,971评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,100评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,738评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,293评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,289评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,517评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,547评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,834评论 2 345

推荐阅读更多精彩内容