1 GT简介html
GT(随身调) Android版是腾讯 MIG 专项测试组自行研发的 Android APP 随身调测平台,它是直接运行在手机上的“集成调测环境”(ITE, Integrated Test Environment)。shell
GTAndroid 版由两部分组成:缓存
1) 可独立安装的 GT(APK)。服务器
2) 须要嵌入被测应用(App Under Test,如下简称 AUT)代码中的 GT SDK(jar 包)。网络
之因此叫“集成调测环境”,是由于仅用 GT便可独立完成以下针对 AUT 的测试工做:并发
l 基础性能测试:手机整机或者手机上安装的任何一个 APP 的 CPU、内存、网络流量、流畅度/帧率、电量等基础性能指标的实时展现、历史数据采集及 excel 格式存储、曲线绘制等。app
l 日志查看:APP 的 Logcat 日志查看,便于直接用手机现场定位 APP 功能异常、crash。tcp
l 网络数据包抓包:直接用手机抓包保存成 pcap 文件,下载到 PC 后用 Wireshark 查看。工具
除了如上的 GT 控制台的“集成测试”能力,用户还能够将 GT SDK 嵌入到被测应用中,从而使用 GT 的以下更高级的开发调试、测试能力:在 AUT 中加入各类自定义“输入参数”,从而在 AUT 运行时,经过 GT 的悬浮窗或者设置界面修改这些输入参数,实时改变 AUT 的能力和行为(例如,把微博客户端的单次刷新条数定义为一个 GT 入参),达到“开发调试”的目的。post
在 AUT 中加入各类自定义的“输出参数”(例如,AUT 的各项核心指标),从而在用户操做 AUT 时,实时观察 AUT 的这些白盒指标的变化(举例,客户端动态选择的就近接入的后台服务器地址)。
在指定的 AUT 代码中插入 GT 的代码耗时 API,获得 AUT 运行时的某些代码片断的耗时数据,经过分析进行执行效率调优。
1) 安装:请像安装普通 APP同样的安装GT
2) 启动:像启动普通 APP 同样的启动 GT
3) 在 GT 的一级页面中,点击手机的菜单键会弹出“Exit”选项。点击“Exit”便可退出 GT
启动GT后,展现的第一个页面是AUT的设置页面。若是是独立使用GT对AUT进行性能测试(不须要在AUT中嵌入GT SDK),就须要在此页面设置AUT及须要观测的基础性能指标项(CPU、CPU 时间片Jiffes、NET(流量信息)、各种 MEM)。
GT能够支持存在多个进程的AUT的测试,能够关注AUT每一个进程的CPU、CPU时间片Jiffes、内存的 PSS和内存的PrivateDirty指标,以及AUT不区分进程的流量指标Net。选中一个AUT后,便可设置本次测试所关注的性能指标:
如AUT存在多个进程,而想要测试的进程的会比AUT的启动滞后一些,此时须要在想要测试的进程启动后,点击下图的refresh按钮,通知GT将新启动的被测进程的性能指标也监控起来。
GT提供了三种测试指标或关注信息的展现方式,其中最经常使用的是将指标或关注信息定义为输出参数(如下简称出参),在出参界面以列表的形式展现。
1) 默认出参界面
GT出参界面,在不选择任何AUT的状况下默认展现了手机整机的基础性能指标,有CPU、内存、网络流量、信号值、流畅度/帧率。整机的CPU指标默认放置在可用参数区域即时展现当前值,其余指标默认放置在禁用区域不关注。
2) 出参界面展现AUT设置的性能指标
AUT设置的性能指标会在出参界面以出参的形式展现:
3) 出参调整
能够调整哪些出参禁用、可用、放到悬浮框展现。
4) 出参数据采集
大部分GT基本性能出参和经过GTSDK在AUT中插桩自定义的数字型出参,均可以采集其历史数据。
第一步,在未采集的状态下,勾选须要记录历史数据的出参。
第二步,点击开始采集按钮采集数据。
点击开始按钮后,会开始采集出参的历史数据。这时能够到 AUT 界面开始测试 AUT。测试结束后,可点击悬浮窗上的中止按钮,或者进入出参界面,点击中止按钮。中止后,能够保存采集的历史数据。
5) 出参数据保存
中止采集后,能够一键保存和删除全部勾选的出参的历史数据。
点击保存按钮时输入的名称为本次测试数据存放的目录名。数据默认保存在 SD 卡上的 GT/GW//GW_DATA 目录下,每一个出参历史数据分别保存到一个文件,文件命名格式为_.csv,如 FPS_20131128205049.csv。
测试开始前,若是不但愿看到上次测试的历史数据,能够先清空勾选的出参。
6) 出参数据展现
在出参区域为非编辑状态,出参所在区域为非禁用出参区域,且有历史数据的状况下,点击此条出参,能够进入出参数据展现界面。
历史数据图表默认显示最近不超过50条的记录,想查看最近50条以前的记录请拖动图表。在图表上长按并滑动能够显示具体一条记录的详细信息。点击保存按钮可单独保存该出参信息,保存位置与命名方式和一键保存相同。长按曲线展现区域,可查看某个点的值。
除了AUT内存的PSS/PrivateDirty和信号值,包括CPU/Jiffes/帧率/流量信息等其余采集到的数据展现都相似上述图中的曲线,其中流量信息在点击删除按钮时会同时归 0。流量数据展现:
AUT内存的PSS/PrivateDirty和信号值的数据展现界面同时有多条曲线,以PSS为例,其展现界面会同时展现PSS的Total/Dalvik/Native三个值的曲线(注:内存的PSS/Private都区分Total/Dalvik/Native 三个值,与Android手机的meminfo信息对应)。
7) 出参告警
在出参数据展现页能够设置持续一段时间,值不在设置的阈值范围内时的告警提示。告警提示的方式为通知栏文字变化+鸟鸣声+震动+出参和 GT 图标变为桔色。
输入参数(如下简称“入参”)为用户自定义的插入到被测应用程序代码里的一种桩,能够在运行时改变被测代码里参数的值。
举个例子:好比被测代码里有些参数须要调优时,能够经过入参随时对这些参数进行修改,对比不一样参数值下的效果(核心指标能够用出参实时展现出来)。须要说明的是,悬浮窗上最多同时显示 3 个入参。全部入参均可以在GT主界面的入参子界面中看到,并能够在子界面调整显示在悬浮窗上的入参具体项。
1) 整体界面
2) 切换到入参界面
点击Tag 键“Para.”便可进入出入参界面,默认是出参界面。点击in切换到入参界面。
3) 编辑入参
点击一条入参,进入入参值编辑界面,修改入参的值。
4) 编辑入参区域
入参区域分为悬浮窗展现区,可用入参区,禁用入参区。 悬浮窗展现区的入参能够显示在悬浮窗上,经过操做悬浮窗快速进行编辑。可用入参区的入参不展现在悬浮窗上,可是仍然起做用。禁用入参区的入参不起任何做用。点击右上角的编辑按钮,能够将入参区域切换到编辑状态。
编辑状态下,可按住一条入参右端的拖动按钮,将其移动到其余入参区域。好比从禁用入参区拖入到可用入参区,这样原来不起任何做用的入参就起做用了。
单击“AirConsole”进入悬浮窗设置界面。
GTConsole在进入后台运行后,界面上会显示GT的悬浮图标。长按GT悬浮图标能够打开或关闭悬浮窗。单击GT悬浮图标进入GT主界面。
悬浮窗是简化版脱机调试窗口,悬浮在被测程序界面上。经过悬浮窗可实现2屏合一,既能看到被测 app的界面又可看到app内部值等调试信息。悬浮窗能帮助开发者方便快捷的查看app运行状态和核心指标。
悬浮窗上内容的刷新频率可在出参界面上设置。
悬浮窗按功能可分为功能区,出参区和入参区。
1) 功能区
右上角为G&W或profiler按钮,单击便可开始或中止。按钮默认控制G&W开关。
左上角为计时器,单击可开始,中止和归 0,支持 0-999s。
2) 出参区
最多有三个出参展现在悬浮窗上。每一个出参由缩略名(左边的灰色字符)和内容(右边的白色字符)两部分组成。缩略名最长不超过四个字符,超过的话只显示三个字符加一个点。内容过长时能够点击展开,再次点击收起。
请将当前最关注的三个出参设置显示在悬浮窗上,最最关注的设置为第一个。第一个出参为大字号显示,更醒目。
3) 入参区
最多有三个入参展现在悬浮窗上。每一个入参由缩略名(上边的灰色字符)和内容(下边的白色字符)两部分组成。缩略名最长不超过四个字符,超过的话只显示三个字符加一个点。点击内容可进入入参编辑界面。
电量插件说明:
l 点击插件界面的电量选项,进入电量插件界面。
l 设定参数项采样间隔,即每隔多少毫秒(ms)记录一次参数项数值,推荐设定采样间隔为 100ms~1000ms,默认是250ms。
l 勾选被观测参数项,GT支持电流I、电压U、电量Power和温度Temp四个参数。被勾选的参数会出如今输出参数界面,取消勾选,则从输出参数界面中清除。
l 点击Start 按钮,开始采集相关数值,对应输出参数界面中显示相应数值;点击Stop按钮,中止采集。
抓包说明:
l 点击插件界面的抓包选项,进入抓包插件界面。
l 点击须要输入名称,不须要路径,输入的名称会做为本次抓包的目录名。若是发生网络切换致使抓包中断,会自动从新抓包,名字上加 1,2,3…做区分。
l 采用tcpdump抓包,可自定义抓包参数,不然用默认参数抓包。抓包参数见tcpdump相关说明。
l 抓包手机须要root,抓包保存目录:SDcard/GT/tcpdump/(2.2.3 版本后保存在SDcard/GT/Capture/下)
避免锁屏插件由 wakelock 控制,该插件主要提供两个功能。点击插件界面的避免锁屏选项,进入避免锁屏插件界面。
开启 Full wakelock 功能,手机不会主动灭屏;若是手动灭屏,手机也不会进入休眠,点击进入插件详情界面单击开始/中止相应功能状态。将按钮置于off 状态,该功能被关闭。
开启Partial wakelock 功能,手机在使用过程当中可以主动灭屏,但进入灭屏状态后不会休眠。将按钮置于off状态,该功能被关闭。
内存填充插件,可在手机 RAM 上分配并占用指定大小的内存空间,所占用的内存会划 分在GT应用的名下,在手机的设置→应用→GT 项中能够观察到GT占用RAM大小的变化。
所填充内存的大小,请根据被测手机剩余内存的大小适当填充,填充的大小不要超过手机剩余内存的大小,不然GT应用会崩溃退出;不一样的手机,能填充的最大数目内存也不一样,请自行尝试。
单击GT界面最下面对应的“Profiler”TAB项,可切换到性能分析界面。该界面用来展现用户自定义的分析项的统计结果(需配合GT SDK使用)。目前Profiler已实现的功能是统计代码耗时。代码耗时项在统计时会按照用户自定义的group和tag进行分类汇总统计,首先按group分组,组内再按照tag(在tag之上会先区分线程内和可跨线程这两类)进行分类统计。
启动性能分析有两种方法,方法 1:
方法 2,在悬浮框上点击快捷按钮
悬浮框上快捷按钮默认为G&W的启动暂停控制,可在设置界面切换为profiler 的启动暂停控制。
收集到耗时数据后,Profiler 界面会即时更新当前已收集到数据的分析统计结果:
启动分析一段时间后暂停分析,还能够进行把分析信息保存到文件,或清空当前的分析信息。
点击一个具体的分析项,会进入该耗时分析项的详情页(Detail 页),Detail 页面除了提供了分析统计信息,还提供了历史数据的图表展现。
耗时分析项的Detail页中能够查看采样次数、单位为秒的平均值、最大值、最小值。历史数据图表默认显示最近不超过50条的记录,想查看最近50条以前的记录请拖动图表。在图表上长按并滑动能够显示具体一条记录的详细信息,与出参详情页一致。另外,Detail 页右上角的保存功能能够保存该页显示的分析统计信息到文件。保存文件路径为: sdcard/GT/Profiler/xxx.csv。
GT 提供了脱机调试时能够查看的日志,包括GT自定义的日志和LogCat日志展现,其中LogCat日志展现须要手机root权限。单击GT界面最下面对应的“Log”TAB项,可切换到日志一级界面。
GT的日志是GT的主要功能之一,目的是脱机输出 log。输出日志会展现在GT日志界面上(界面上最多保存1000条最新的日志),同时还能够以文件的形式保存到手机上。GT提供了三种保存日志的形式,对于界面上可见日志的保存,能够经过点击日志界面右上角的保存按钮保存成文件;对于某个时间段内的日志,GT也在代码中提供了控制保存起始与结束的API接口。
单击“Log ”进入log设置界面,界面内包含日志的总开关和日志自动保存开关。日志总开关关闭后,全部日志都不会输出。总开关关闭后,自动保存开关也同时被关闭。日志自动保存开关打开后,全部日志会自动保存一份到GT指定的目录下:目录 /sdcard/GT/Log/。文件名从0到99,每一个文件最大为4M,当前文件保存满后,继续保存到下一个文件。所有保存满后,继续从文件0开始保存,100 个文件循环使用。
日志的展现,一条日志三段组成,第一段是时间,第二段是日志级别(V,D,I,W,E)、tag、线程号,第三段是日志消息。界面上最多展现 1000 条最近的日志。实时过滤(Filter)。GT日志过滤支持日志消息匹配、日志级别匹配、标签(tag)匹配,最终匹配出的日志同时知足这三项过滤条件。单击日志展现界面,能够显示或收起过滤栏。
右上角为日志清空,保存,搜索键。保存的逻辑为所见即所得,过滤完后,单击保存按钮,保存过滤后的内容;未过滤则保存所有内容,保存路径请参考GT目录说明。清空只是清空界面上的日志,不会对自动保存功能产生影响。单击搜索键进入日志搜索二级界面。
日志列表具备实时刷新能力。当日志列表被拖动到最下方的最新一条日志时,若是再有新的日志产生,列表就会自动向上滚动。
日志搜索界面是日志系统的二级界面。搜索页的搜索范围是日志一级页面过滤后的全部内容。
输入关键字进行搜索后,页面上会高亮显示符合搜索条件的日志条目。
打印日志功能有区分VERBOSE,DEBUG,INFO,WARNING和ERROR五个级别,用户根据实际状况调用对应级别的接口。
记录日志功能接口对应有CLEAN,START和END三个操做。CLEAN 操做则会删除对应的文件。先START再END。END后会记录从START到END间全部调用打印日志的信息到文件中。
在测试中除了关注性能指标,常常也有更进一步的,关注AUT实时运行状态的须要或改变一些参数以调测应用在不一样逻辑分支下的运行状态。这种状况能够经过在AUT中嵌入GT SDK(以jar包的形式存在),经过GT SDK将关注的应用运行期信息输出到GT提供的UI进行展现或经过GT SDK提供的输入参数方式对 AUT的参数进行修改。
示例GT Demo 的功能就是从网上下载10张图片并显示,经过GT能够实时查看下载的带宽、 单张速度、CPU、MEM 等指标,还能经过GT修改下载线程数、超时时间等等。该Demo主要是为了演示GT是如何脱机调试一个APP的。GT Demo工程中使用GT SDK的地方能够经过搜索 GT Usage 查找。
使用GT在被测应用中插桩功能须要在被测工程中合入GT SDK,合入GT SDK分三步,首先要在手机中安装GT.apk,而后将SDK jar包添加到工程中;最后是在合适的位置插入GT初始化的代码 (demo 工程、SDK jar 包、GT.apk 请到GT官网下载) 。
1) 添加 SDK jar 包
拷贝 SDK jar 包到工程中的 libs 目录中,以下图:
此时,demo 工程就包括了 GT 的 API:
2) GT 初始化
在合适的位置插入GT初始化的代码:
GTSDK的初始化须要在被测工程中调用GT.connect(Context, AbsGTParaLoader)方法创建被测应用与GT 的联系。调用GT.connect方法的合适位置一般是被测应用Application的onCreate()或闪屏Activity的 onCreate(),不过在demo中为了方便演示,是经过点击一个按钮触发调用该方法。
具体调用代码在demo中的位置在类MainActivity中(可搜索GT.connect关键字找到代码具体位置),大致结构以下:
完成测试后,须要在被测工程中调用 GT.disconnect(Context)方法断开被测应用与 GT 的联系。调用 GT.disconnect 方法的合适位置一般是被测应用退出的方法中。在本demo中,是经过点击一个按钮触发调用该方法。具体调用代码在demo中的位置在类 MainActivity中:
1) 相关API
下面以Demo为例说明。使用输入参数有两个步骤:
l GT SDK初始化后注册所需的输入参数。注册输入参数的API是 InParaManager.register 方法。
l 须要使用输入参数的代码逻辑上获取输入参数。 获取输入参数的API是一组重载方法,都叫GT.getInPara,能够返回全部基本类型和字符串的输入参数值。
2) 注册输入参数
GT.connect方法中进行输入参数的注册:
(可选)注册的同时能够选择最多 3 个 APP 启动时默认在 GT 悬浮窗显示的输入型参数:
3) 使用输入参数
在Demo工程中下载网络图片时使用并发线程数,并发线程数取GT上注册的值:(详情请在Eclipse中搜索“并发线程数”变量的使用场景):
4) 建议
一个小技巧,GT.getInPara方法的第二个参数默认值,大部分状况下建议使用业务逻辑中的原值,这样当输入参数设置失效时,默认值取原值就不会改变原有代码业务逻辑。如上面例子便是如此。
1) 相关API
下面以Demo为例说明。使用输出参数有两个步骤:
l 在GT初始化后注册所需的输出参数。注册输出型参数的API是OutParaManager. register方法。
l 在须要的地方更改输出参数值。更改输出参数的API是GT.setOutPara方法。
2) 注册输出参数
Android版GT在GT.connect方法中进行输出参数的注册:
(可选)注册的同时能够选择最多3个APP启动时默认在GT悬浮窗显示的输出型参数:
3) 使用输出参数
在Demo工程中确认是否下载完成判断代码逻辑里统计下载耗时,实际带宽:
1) 相关API
下面以 Demo 为例说明。使用profiler 进行耗时分析有两个步骤:
l 在须要开始计时的代码逻辑设置开始计时。对应区分线程的是GT. startTimeInThread,不区分线程的是GT. startTime ,可跨进程的是GT.startTimeGlobal。
l 在须要结束计时的代码逻辑设置结束计时。对应区分线程的是GT. endTimeInThread,不区分线程的是GT. endTime,可跨进程的是GT.endTimeGlobal。这里开始和结束调用的接口须要对应,若开始计时使用跨进程的API,则结束计时也使用跨进程的API;若开始计时使用区分线程的API,则结束计时也须要使用区分线程的API。
2) 打开profiler功能
目前使用profiler前须要先手动开启profiler功能(详见相关章节)。若是实际使用中须要在被测应用启动后当即打开profiler 功能,而手动开启来不及,那么能够先行手动打开GT应用,以后手动打开profiler 功能,而后再启动被测应用便可。
3) 使用profiler功能——线程内统计
这里要统计单张图片的下载时间,在网络访问时记录开始时间,网络数据接收完成时记录结束时间,开始到结束之间即为单张图片的下载时间。另外Demo 里下载图片使用线程池有并发的可能,所以调用GT. startTimeInThread和GT. endTimeInThread,用于区分线程。
线程开始是记录的开始时刻,下图中红色框中代码;网络访问数据接收结束是记录的结束时刻,下图中紫色框中代码:
注: GT.startTimeInThread和GT. endTimeInThread要和上面例子同样成对使用,道理很简单,时间要有个开始时刻和结束时刻才能计算。每次统计值都会在profiler界面显示。 GT. endTimeInThread的long型返回值是一次统计的时间间隔,单位是纳秒,即便在不启动profiler功能的状况,本返回值也是有效的,只是不会在 GT 控制台的profiler模块记录。该返回值在异常状况下会是-1。
4) 使用profiler功能——应用内跨线程统计
Demo中图片下载完成后到UI展现的时间统计,其统计开始时刻是下载并解析图片生成 bitmap完成后,但其结束时刻应是Android的UI线程中,这种跨线程的应该用全局统计,而且要区别不一样的图片:
统计起点是下载线程的开始时刻:
其结束时刻在UI线程的Handler中:
相关API
以Demo为例说明。打印日志功能相似logcat,有区分DEBUG,INFO,WARNING和ERROR四个级别, 用户根据实际状况调用对应级别的接口。 具体例子在demo 中随处可见,搜索“GT.Log”便可。
广播方式使用GT,主要用于支持自动化中使用GT作性能数据采集。
1) 命令样例:
l 先启动GT:adb shell amstart -W -n com.tencent.wstt.gt/com.tencent.wstt.gt.activity.GTMainActivity
l 使gt能够采集该应用的性能信息;pkgName是包名;verName是版本号(可选参数):adbshell am broadcast -a com.tencent.wstt.gt.baseCommand.startTest --es pkgName"com.tencent.map" --es verName"6.0.1"
l 若是只测FPS和SM,能够这样空参数:adbshell am broadcast -a com.tencent.wstt.gt.baseCommand.startTest
l 开启CPU采集:adb shellam broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei cpu 1
l 中止CPU采集:adb shellam broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei cpu 0
l 开启CPU时间片采集:adbshell am broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei jif 1
l 中止CPU时间片采集:adbshell am broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei jif 0
l 开启PSS采集:adb shellam broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei pss 1
l 中止PSS采集:adb shellam broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei pss 0
l 开启PrivateDirty采集:adb shellam broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei pri 1
l 中止PrivateDirty采集:adb shellam broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei pri 0
l 开启NET采集:adb shellam broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei net 1
l 中止NET采集:adb shellam broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei net 0
l 开启FPS采集:adb shellam broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei fps 1
l 中止FPS采集:adb shellam broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei fps 0
2) 流畅度(SM)的获取自成体系,注意如下步骤,其中前4步骤建议测试前人工处理好:
l 对应UI上的“更改”,一次执行除非执行逆操做“恢复”,会一直有效:adb shell am broadcast -a com.tencent.wstt.gt.plugin.sm.modify
l 对应UI上的“恢复”,测试完毕时执行一次,如手机长期用于流畅度测试能够一直不用恢复:adb shell am broadcast -a com.tencent.wstt.gt.plugin.sm.resume
l 对应UI上的“重启”,重启手机使“更改”或“恢复”生效:adb shell am broadcast -a com.tencent.wstt.gt.plugin.sm.restart
l 对应UI上的“开始测试”,procName是指定被测进程的进程名,执行后在出参列表应能够看到SM参数,注意第一次执行须要给GT受权:adb shell am broadcast -a com.tencent.wstt.gt.plugin.sm.startTest--es procName "com.tencent.wstt.gt"
l 对应UI上的“中止测试”:adbshell am broadcast -a com.tencent.wstt.gt.plugin.sm.endTest
3) 结束采集并保存,同时删除数据记录:
saveFolderName为保存目录的名称,最长能够自定义三级目录,以"/"分割,此三级目录会保存在/sdcard/GT/GW/下,每次保存后,GT会把缓存的本次测试数据清空。
adbshell am broadcast -a com.tencent.wstt.gt.baseCommand.endTest --essaveFolderName "普通导航测试" --es desc "腾讯地图_6.0.1_普通导航_1"
关闭GT:adb shell ambroadcast -a com.tencent.wstt.gt.baseCommand.exitGT
注意:
l FPS第一次会申请Root权限,默认状况须要手动点一下,因此建议用TowerRoot或CM自带的能够取消弹框的Root工具取消弹框
l 流畅度第一次开始测试须要Root权限,默认状况须要手动点一下。
4) 广播驱动耗电测试(对应耗电测试插件)
adbshell am broadcast -a com.tencent.wstt.gt.plugin.battery.startTest --eirefreshRate 250 --ei brightness 100 --ez I true --ez U true --ez T true --ez Ptrue
这条广播也能够不带参数,将以默认的250ms刷新率,100的屏幕亮度,只关注电流值启动测试:adb shell am broadcast -acom.tencent.wstt.gt.plugin.battery.startTest
中止耗电指标的采集:adbshell am broadcast -a com.tencent.wstt.gt.plugin.battery.endTest
5) 广播驱动GT模拟GPS(对应月光宝盒插件)
注意:启动回放GPS轨迹以前要先在开发者选项里选择容许模拟位置;并在位置设置里打开只经过硬件设备定位。
l 启动回放指定序号的GPS路径文件,progress是可选参数,指定从某个进度开始回放,取值[0-100]:adb shell am broadcast -a com.tencent.wstt.gt.plugin.gps.startReplay--ei seq 0 --ei progress 0
l 或者启动回放指定名称的GPS路径文件,命令行对中文支持很差,因此路径文件尽可能用英文命名,progress是可选参数,指定从某个进度开始回放,取值[0-100]:adb shell am broadcast -a com.tencent.wstt.gt.plugin.gps.startReplay--es filename xxxx.gps --ei progress 0
l 或者还能够直接回放单点坐标:adb shell am broadcast -a com.tencent.wstt.gt.plugin.gps.startReplay--es lng 116.15353149 --es lat 39.72413462
l 完整参数(经度lng,维度lat,精度acc,方位bear,速度spd,海拔alt):adb shell ambroadcast -a com.tencent.wstt.gt.plugin.gps.startReplay --es lng 116.15353149--es lat 39.72413462 --es acc 150.0 --es bear 77.3 --es spd 13.5 --es alt 60.70
l 中止模拟位置的回放:adbshell am broadcast -a com.tencent.wstt.gt.plugin.gps.endReplay
l 开始采集位置信息,filename参数可不填,但文件名须要以.gps做为后缀:adbshell am broadcast -a com.tencent.wstt.gt.plugin.gps.startRecord --es filenamexxxx.gps
l 中止采集位置信息:adbshell am broadcast -a com.tencent.wstt.gt.plugin.gps.endRecord
6) 广播驱动内存填充(对应内存填充插件)
l 内存填充:adb shellam broadcast -a com.tencent.wstt.gt.plugin.memfill.fill --ei size 200
l 内存释放:adbshell am broadcast -a com.tencent.wstt.gt.plugin.memfill.free
7) 广播驱动抓包(对应抓包插件)
抓包到指定路径的文件,参数param能够缺省:adbshell am broadcast -a com.tencent.wstt.gt.plugin.tcpdump.startTest --esfilepath "/sdcard/GT/Tcpdump/Capture/aaa.pcap" --es param "-p -s0 -vv -w"
结束抓包:adbshell am broadcast -a com.tencent.wstt.gt.plugin.tcpdump.endTest
1) 请像安装普通APP同样的安装GT到手机(GT.apk)(请到GT官网下载最新版)
2) 从手机上启动已安装的GT ,进入以下界面
3) 选择一个已安装到手机的APP作为被测应用(AUT)
4) 选择被测APP关注的性能信息
5) 启动被测应用后,回到 GT 界面
6) 选择本次要测试的性能指标(包括整机性能信息)
7) 选择须要时刻关注的性能指标
8) 选择须要采集历史记录的指标
9) 进入被测应用界面,启动数据采集,开始测试
10) 测试完毕时,中止数据采集
11) 查看性能指标历史数据
12) 批量保存性能数据
13) 批量删除性能数据
14) 连上PC查看已保存的性能数据