gt使用手册

1. 前言

本文档介绍 iOS 脱机白盒调试组件 GT 的使用方式,包括功能介绍,界面操作和API简要说明(结合 GT Demofor iPhone 工程演示如何使用API)。

2. 集成GT

使用 GT 前需要合入GT,合入 GT 分两步,首先是将 GT.embeddedframework 添加到工程中; 其次是在应用初始化后调用 GT 初始化。

2.1. 添加 GT.embeddedframework

1.拖拽 GT.embeddedframework 到工程中,如下图:

 

点击Finish

gt使用手册_第1张图片

此时,被测工程就包括了 GT.embeddedframework 所包括的 framework和bundle 资源包: 

gt使用手册_第2张图片

2. 添加 GT.embeddedframework 所需引用的系统 framework,(点击build phases-> link binarywith libraries->+)如下图方框内:

gt使用手册_第3张图片

2.2. GT 初始化


1.打开被测app的工程的AppDelegate.h文件

#include

 

2. 打开被测app的工程的 AppDelegate.m文件,在application:didFinishLaunchingWithOptions:应用完成处理后调用 GT 初始化,代码如下:

-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions

// 省略相关代码

// GT Usage(合入)初始化

GT_DEBUG_INIT;

return YES;

2.3. GT 启动和退出

Xcode接上设备,build后,启动应用,GT 会作为被测工程的一部分存在。当 GT 版工程启动时,GT 也启动。被测工程退出时,GT 也退出。

2.4. 初始化相关API

相关 API 定义在文件GTInitApi.h里,使用时可参考对应头文件的参数说明及举例。以下是输入参数相关 API 列表: 

                  API 

                  说明

GT_DEBUG_INIT

初始化 GT

GT_DEBUG_HIDDEN

获取 GT 隐藏属性

GT_DEBUG_SET_HIDDEN

设置 GT 隐藏属性

GT_DEBUG_NEW_VERSION_ALERT_HIDE

隐藏提示版本更新

GT_AC_SHOW

展示 GT 悬浮框

GT_AC_HIDE

隐藏 GT 悬浮框

GT_AC_HEADER_HEIGHT_SET

设置 GT 悬浮框 header 的高度

GT_DEBUG_SET_AUTOROTATE

设置 logo 是否旋转,在 iOS6 上使用

GT_DEBUG_SET_SUPPORT_ORIENTATIONS

设置 logo 支持的方向

3. GT使用-悬浮图标和悬浮窗

长按悬浮图标,打开/关闭悬浮窗 

gt使用手册_第4张图片

3.1. GT悬浮图标

GT 加入被测工程后,启动被测工程,界面上会显示GT的悬浮图标。长按GT悬浮图标可以打开或关闭悬浮窗,单击GT悬浮图标进入GT主界面

3.2. GT 悬浮窗

悬浮窗是简化版脱机调试工具,悬浮在被测程序界面上。通过悬浮窗可实现2屏合一,既能看到被测 app 的界面又可看到 app 内部值等调试信息。 悬浮窗能帮助开发者方便快捷的 看 app 运行状态和核心指标。
悬浮窗上内容的刷新频率可在出参界面上设置。悬浮窗按功能可分为功能区,出参区和入参区。 

gt使用手册_第5张图片

3.2.1. 功能区

右上角为G&W或Profiler按钮,单击即可开始或停止。G&W介绍见出参相关章节,Profiler 的介绍见 profiler 相关章节。按钮默认控制 G&W 开关。如需要切换到 profiler,可以在设置界面修改,详情见设置相关章节。 

单击红色处即可开始/结束,左上角为计时器,单击可开始,停止和归0,支持 0-999s。

3.2.2. 出参区

最多有三个出参展示在悬浮窗上。每个出参由缩略名(左边的灰色字符)和内容(右边的白色字符)两部分组成。缩略名最长不超过四个字符,超过的话只显示三个字符加一个点。内容过长时可以点击展开,再次点击收起。 可将当前最关注的三个出参设置显示在悬浮窗上,最最关注的设置为第一个。第一个出参为大字号显示,更醒目。

gt使用手册_第6张图片

3.2.3. 入参区

最多有三个入参展示在悬浮窗上。每个入参由缩略名(上边的灰色字符)和内容(下边的白色字符)两部分组成。缩略名最长不超过四个字符,超过的话只显示三个字符加一个点。点击内容可进入入参编辑界面。 

4. 输入参数

入参为用户自定义的插入到代码里的一种桩,可以在运行时改变被测代码里的值。

举个例子:比如被测代码里有些参数需要调优时,可以通过入参随时对这些参数进行修改,对比不同参数值下的效果(核心指标可以用出参实时展示出来)。

需要说明的是,悬浮窗上最多同时显示3个。所有入参都可以在 GT 主界面的入参子界面中看到,并可以在子界面调整显示在悬浮窗上的入参具体项。

4.1. 界面

4.1.1. 切换到入参界面


点击 Tag 键“Para/参数.”即可进入出入参界面,默认是出参界面。点击“In/入参” 切换到入参界面。 

gt使用手册_第7张图片

4.1.2. 编辑入参

点击一条入参,即可进入入参值编辑界面,修改入参的值。

4.1.3. 编辑入参区域

入参区域分为悬浮窗展示区,可用入参区,禁用入参区。

gt使用手册_第8张图片

编辑状态下,可按住一条入参右端的拖动按钮,将其移动到其他入参区域。比如从禁用入参区拖入到可用入参区,这样原来不起任何作用的入参就起作用了。

4.2. 相关API以及使用说明

输入参数相关 API 定义在文件 GTParaInApi.h 里,使用时可参考对应头文件的参数说明及举例。以下是输入参数相关 API 列表:

            API

           说明

GT_IN_SET_ENABLE

输入参数功能开关设置

GT_IN_REGISTER

注册输入参数 字符串

GT_IN_REGISTER_ARRAY

注册输入参数 数组

GT_IN_SET

设置输入参数值

GT_IN_GET_BOOL

获取输入参数 bool

GT_IN_GET_INT

获取输入参数 int

GT_IN_GET_DOUBLE

获取输入参数 double

GT_IN_GET_FLOAT

获取输入参数 float

GT_IN_GET_STR

获取输入参数字符串值,返回 char*类型

GT_IN_DEFAULT_ON_AC

默认在悬浮框上显示的输入参数

GT_OC_IN_REGISTER

注册输入参数(支持OC语法)

GT_OC_IN_SET

设置输入参数值(支持OC语法)

GT_OC_IN_GET

获取输入参数值(支持 OC 语法)

GT_OC_IN_DEFAULT_ON_AC

默认在悬浮框上显示的输入参数(支持 OC 语法)

 

 

4.3. 举例说明

 使用输入参数有两个步骤,如下。

1. 在 GT 初始化后注册所需的输入参数。注册输入参数的 API 有三种, GT_IN_REGISTER,GT_IN_REGISTER_ARRAYGT_OC_IN_REGISTER使用任何一种都可达到注册的效果。


2. 在需要使用输入参数的代码逻辑上获取输入参数。获取输入参数的API有多个,GT_IN_GET_ BOOL, GT_IN_GET_INT,GT_IN_GET_DOUBLE, GT_IN_GET_FLOAT , GT_IN_GET_STR, GT_OC_IN_GET 使用 C 语言,根据用户想要的 数据类型调用不同的接口;使用 OC,则调用GT_OC_IN_GET 返回注册的对象。 


下面以 Demo 为例举例说明。(demo请见http://gt.tencent.com/download.html)

4.3.1. 注册输入参数 

建议在 AppDelegate.m的application:didFinishLaunchingWithOptions: GT 初始化后注册相关的输入参数:

// GT Usage(输入参数) 注册输入参数

NSArray *array =[NSArray arrayWithObjects:@"1", @"2", @"3", nil];

GT_OC_IN_REGISTER(@"并发线程数",@"TN", array);

array = [NSArrayarrayWithObjects:@"true", @"false", nil];

GT_OC_IN_REGISTER(@"KeepAlive",@"KA", array);

array = [NSArrayarrayWithObjects:@"15", @"10", @"20", nil];

GT_OC_IN_REGISTER(@"读超时", @"超时", array);

array = [NSArrayarrayWithObjects:@"false", @"true", nil];GT_OC_IN_REGISTER(@"Cache 缓存", @"缓存", array);

4.3.2. 使用输入参数

在Demo工程WebImageManager的下载网络图片前设置并发线程数,并发线程数取 GT 上注册的并发线程数:

// GT Usage(输入参数) 设置在悬浮框上展示的输入参数

GT_OC_IN_DEFAULT_ON_AC(@"并发线程数", @"KeepAlive",@"读超时");

- {

(void)downloadWithURL:(NSURL *)url delegate:(id<WebImageManagerDelegate>)delegate retryFailed:(BOOL)retryFailed lowPriority:(BOOL)lowPriority

// GT Usage(输入参数) 设置并发线程数

NSString *threadNum = GT_OC_IN_GET(@"并发线程数", NO,@"1");

[downloadQueuesetMaxConcurrentOperationCount:[threadNum integerValue]];}

4.4. 建议

建议在AppDelegate的application:didFinishLaunchingWithOptions: GT 初始化后注册相关的输入参数。

5. 输出参数

出参为用户自定义的插入到代码里的一种桩,反应出运行时被测代码内部的值是多少。举个例子:比如被测代码里有些模块需要调优时,可以通过出参显示一段重要的逻辑代码被调用了几次。需要说明的是,悬浮窗上最多同时显示3个出参。所有出参都可以在GT主界面的出参子界面中看到,并可以在子界面调整显示在悬浮窗上的出参具体项。出参的监控频率默认为1秒1次,如果想更改监控频率,可在设置界面修改。

5.1. 界面

点击 Tag 键“Para/参数”即可进入出入参界面,默认是出参界面。出参也分三个区域,和入参界面的三个区域一致。 

gt使用手册_第9张图片

5.1.1. 出参数据采集

第一步,在停止采集的状态下,勾选需要记录历史数据的出参。

第二步,点击开始采集按钮。

 

点击开始按钮后,会自动跳转到被测应用界面,可以开始测试被测应用。测试结束后,可点击悬浮窗上的停止按钮,或者进入出参界面,点击停止按钮。停止后,可以保存采集的历史数据。

5.1.2. 出参数据展示

在出参区域为非编辑状态,出参所在区域为非禁用出参区域,点击此条出参,可以进入出参数据展示界面。

gt使用手册_第10张图片

历史数据图表默认显示最近不超过50点的记录,想查看最近50点之前的记录请拖动图表。在图表上长按并滑动可以显示具体一条记录的详细信息

Network 历史数据界面如下:

T表示发送,R表示接收。Wifi表示wifi流量,wwan表示数据流量

gt使用手册_第11张图片

Battery 历史数据界面如下:

重置按钮,点击后以当前mAh值为基准计算电量消耗。

C表示消耗的mAh。I表示当前的电流值

gt使用手册_第12张图片

5.1.3. 出参告警


CPU,SM 等出参可以设置持续一段时间,值不在某个设置的范围内时,告警提示。告警提示

的方式为鸟鸣声+震动+出参和GT图标变为桔色。







 

你可能感兴趣的:(工具,软件测试)