一种卡顿检测方法、装置及计算设备的制造方法_2

文档序号:9910940阅读:来源:国知局
输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设 备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口 164与一 个或者多个其他计算设备162通过网络通信链路的通信。
[0028] 网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波 或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可 以包括任何信息递送介质。"调制数据信号"可以这样的信号,它的数据集中的一个或者多 个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以 包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外 (IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存 储介质和通信介质二者。
[0029] 计算设备100可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设 备可以是诸如蜂窝电话、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个 人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。计算设备1〇〇还可以 实现为包括桌面计算机和笔记本计算机配置的个人计算机。在一些实施例中,计算设备100 被配置为执行根据本发明的卡顿检测方法。应用122包括根据本发明的卡顿检测装置300。
[0030] 图2示出了根据本发明一个实施例的卡顿检测方法200的流程图。卡顿检测方法 200适于在计算设备(例如图1所示的计算设备100)中执行。
[0031] 移动终端例如智能手机、平板电脑等,在出厂之前会对其运行的流畅度进行测试, 例如发送数条SMS或者MMS以验证其收发成功率以及稳定性、连续进行多次呼叫、多次对文 件系统进行添加或删除操作、多任务多进程情况下的冲突测试以及极限测试,通过计算设 备与被测试移动终端连接,进行性能卡顿检测。
[0032]目前,Android系统的应用最为广泛,基于Android系统开发的各类软件也不胜枚 举。以下以Android系统为例描述本发明的技术方案。首先,以Android系统为基础设计相应 的测试用例,基于Uiautomator测试框架,通过Auto工具编写用于卡顿检测的测试脚本。通 过在计算设备中运行测试脚本,测试与计算设备如PC端连接的移动终端的运行流畅度。 [0033] 如图2所示,方法200始于步骤S210。在步骤S210开始之前,设置测试脚本的运行循 环次数。在步骤S210中,首先获取当前运行次数,并运行测试脚本,该测试脚本在运行过程 中执行多个事件动作,其中多个事件动作包括在被测试设备的输入事件动作、点击事件动 作、获取事件控件动作和滑动事件动作中的至少一个。例如,测试在电话薄添加联系人的操 作,自动输入要添加的联系人的名称,并点击添加联系人按钮,保存联系人,滑动查看联系 人文本框中的内容。在测试脚本运行完成后,将当前运行次数加一并保存。
[0034]随后,在步骤S220中,获取第一事件动作可执行时间点和第二事件动作可执行时 间点。其中,第一事件动作为第一点击事件动作,第二事件动作为第二点击事件动作,第一 事件动作可执行时间点为第一点击事件动作可点击第一对象的时间点,第二事件动作可执 行时间点为第二点击事件动作可点击第二对象的时间点。在本实施例中,第一对象为"设 置"图标,第二对象为"关于手机"选项,第一事件动作为点击"设置"图标的动作,第二事件 动作为点击"关于手机"选项的动作,则第一事件动作可执行时间点为可点击"设置"图标的 时间点,第二事件动作可执行时间点为可点击"关于手机"选项的时间点。在这里,可点击表 示一旦被测试设备界面上出现指定的对象,即表明可点击,当前时刻即为该事件动作可执 行时间点。
[0035]第一事件动作可执行时间点和第二事件动作可执行时间点是利用Auto类来获取 和记录的。Auto类是Uiautomator API经过二次封装的一个工具类,其中每个操作UI控件的 方法都获取并记录当前系统时刻。Auto类记录可点击"设置"图标的当前系统时刻作为第一 事件动作可执行时间点,记录可点击"关于手机"选项的当前系统时刻作为第二事件动作可 执行时间点。关键代码如下:
[0036] £,,);
二事件动 1"间差为 可点击"关于手机"选项的时间点减去可点击"设置"图标的时间点的差值。在步骤S220中, 会将之前记录的第一事件动作可执行时间点和第二事件动作可执行时间点传递给 LogTimeGetter类,LogTimeGetter类保存上述时间点并进行时间差的计算。在 LogTimeGetter类中,第一事件动作可执行时间点和第二时间动作可执行时间点格式可表 示为"yyyy-MVhdd HH: mm: ss. sss",其中yyyy代表年份,MM代表月份,dd代表日其月,HH代表小 时,mm代表分钟,ss代表秒,sss代表毫秒。事件动作执行时间差格式可表示为"XX分XX秒XXX 毫秒"。则第一事件动作可执行时间点为"2016-01 -1610:12:33.127",第二事件动作可执行 时间点为"2016-01-1610:12:35.289",则事件动作执行时间差为"0分2秒162毫秒",即2162 毫秒。
[0038] 关键代码如下:
[0039]
[0040: /
[0041] 步骤S240中,判断事件动作执行时间差是否大于第一阈值。在本实施例中,事件动 作执行时间差为可点击"关于手机"选项的时间点减去可点击"设置"图标的时间点的差值, 则第一阈值的设定需要在Case脚本中设定,关键代码如下:
[0042]
[0043] 其中"2*1000"为预设的第一阈值,即2000毫秒。而事件动作执行时间差为2162毫 秒,大于第一阈值2000毫秒,因此判断事件动作执行时间大于第一阈值。
[0044] 在步骤S250中,如果事件动作执行时间差大于第一阈值,则判定出现卡顿,执行卡 顿处理。其中,卡顿处理包括保存系统日志、备份系统信息、保存测试运行日志和截屏中的 至少一种。在本实施例中,当事件动作执行时间大于第一阈值,即大于2000毫秒时,则说明 出现了卡顿现象,由LogManager类提取卡顿现场有用信息,执行卡顿处理。
[0045] 图3示出了根据本发明一个实施例的卡顿检测装置300的示意图。该装置包括:测 试脚本模块310、第一获取模块320、第二获取模块330、判断模块340和卡顿处理模块350。该 装置还包括设置模块(图中未示出),位于测试脚本模块310之前。设置模块适于设置测试脚 本的运行循环次数。
[0046] 测试脚本模块310适于存储测试脚本,获取当前运行次数,并运行测试脚本,其中 测试脚本在运行过程中执行多个事件动作,其中多个事件动作包括在被测试设备的输入事 件动作、点击事件动作、获取事件控件动作和滑动事件动作中的至少一个。测试脚本模块 310适于在测试脚本运行完成后,将当前运行次数加一并保存。
[0047] 第一获取模块320适于获取第一事件动作可执行时间点和第二事件动作可执行时 间点。其中,第一事件动作为第一点击事件动作,第二事件动作为第二点击事件动作,第一 事件动作可执行时间点为第一点击事件动作可点击第一对象的时间点,第二事件动作可执 行时间点为第二点击事件动作可点击第二对象的时间点。在本实施例中,第一对象为"设 置"图标,第二对象为"关于手机"选项,第一事件动作为点击"设置"图标的动作,第二事件 动作为点击"关于手机"选项的动作,则第一事件动作可执行时间点为可点击"设置"图标的 时间点,第二事件动作可执行时间点为可点击"关于手机"选项的时间点。在这里,可点击表 示一旦被测试设备界面上出现指定的对象,即表明可点击,当前时刻即为该事件动作可执 行时间点。
[0048]第二获取模块330适于获取事件动作执行时间差,其中事件动作执行时间差为第 二事件动作可执行时间点减去第一事件动作可执行时间点。在本实施例中,事件动作执行 时间差为可点击"关于手机"选项的时间点减去可点击"设置"图标的时间点的差值,其值为 2162毫秒。
[0049] 判断模块340适于判断事件动作执行时间差是否大于第一阈值。在本实施例中,第 一阈值为2000毫秒,则事件动作执行时间差大于第一阈值。
[0050] 卡顿处理模块350适于当事件动作执行时间差大于第一阈值,则判定出现卡顿,执 行卡顿处理。其中,卡顿处理
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1