[发明专利]一种基于动作触摸模拟的自动化测试方法和装置有效
申请号: | 201310222513.2 | 申请日: | 2013-06-06 |
公开(公告)号: | CN103353858A | 公开(公告)日: | 2013-10-16 |
发明(设计)人: | 李炳国 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京鸿德海业知识产权代理事务所(普通合伙) 11412 | 代理人: | 袁媛 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 动作 触摸 模拟 自动化 测试 方法 装置 | ||
【技术领域】
本发明涉及计算机测试技术领域,特别涉及一种基于动作触摸模拟的自动化测试方法和装置。
【背景技术】
Monkey测试是通过Monkey程序模拟用户点击屏幕、滑动、按键等操作来对设备上的程序进行压力测试。目前iOS产品的Monkey自动化测试需要通过连接PC端(Mac机器)的Instruments工具,然后启动javascript脚本执行Monkey自动化测试。这种方式存在以下缺陷:
1)必须连接Mac机器才能够执行Monkey测试,占用额外的资源。
2)对Instruments工具的内存要求较高,如果内存不足可能导致Monkey测试停止,测试质量无法得到保证。
【发明内容】
有鉴于此,本发明提供了一种基于动作触摸模拟的自动化测试方法和装置,以便于节约资源和提高测试质量。
具体技术方案如下:
一种基于动作触摸模拟的自动化测试方法,该方法包括:
S1、生成符合测试状态的触摸事件并组合成触摸动作的触摸事件序列;
S2、将触摸事件序列发送给被测试系统的事件转发对象,由事件转发对象对序列中的触摸事件进行转发。
根据本发明一优选实施例,所述步骤S1具体包括:
S11、从测试用例中获取触摸动作信息;
S12、根据获取的触摸动作信息计算触摸轨迹;
S13、按照触摸动作方向,每隔预设时间间隔在触摸轨迹中对应位置插入与该位置的触摸动作类型对应的触摸事件,得到触摸事件序列。
根据本发明一优选实施例,所述触摸动作信息采用多元参数组进行描述,所述多元参数组包括:起始点和结束点的位置、速度、加速度、持续时间和点击次数。
根据本发明一优选实施例,若所述触摸动作类型为N点触摸,则所述触摸动作信息采用N个多元参数组进行描述,在所述步骤S12中得到N条触摸轨迹,在所述步骤S13中每个触摸事件插入的位置存在N个坐标点,N为正整数。
根据本发明一优选实施例,在插入与该位置的触摸动作类型对应的触摸事件时,在起始点位置插入按下状态的触摸事件,在结束点位置插入弹起状态的触摸事件,在起始点和结束点之间的各位置插入移动状态的触摸事件。
根据本发明一优选实施例,若所述被测试系统为iSO系统,则所述触摸事件为UIEvent,所述事件转发对象为UIApplication,所述UIApplication将UIEvent序列中的UIEvent分发给目标视图;
若所述被测试系统为Android系统,则所述触摸事件为MotionEvent,所述事件转发对象为Instrumentation,所述Instrumentation将MotionEvent序列中的MotionEvent转发给Android系统,以供Android系统系统广播给监听的Application。
一种基于动作触摸模拟的自动化测试装置,该装置包括:
事件生成单元,用于生成符合测试状态的触摸事件并组合成触摸动作的触摸事件序列;
事件发送单元,用于将所述触摸事件序列发送给被测试系统的事件转发对象,由事件转发对象对序列中的触摸事件进行转发。
根据本发明一优选实施例,所述事件生成单元具体包括:
信息获取子单元,用于从测试用例中获取触摸动作信息;
轨迹计算子单元,用于根据所述触摸动作信息计算触摸轨迹;
事件插入子单元,用于按照触摸动作方向,每隔预设时间间隔在触摸轨迹中对应位置插入与该位置的触摸动作类型对应的触摸事件,得到触摸事件序列。
根据本发明一优选实施例,所述触摸动作信息采用多元参数组进行描述,所述多元参数组包括:起始点和结束点的位置、速度、加速度、持续时间和点击次数。
根据本发明一优选实施例,若所述触摸动作类型为N点触摸,则所述触摸动作信息采用N个多元参数组进行描述,所述轨迹计算子单元得到N条触摸轨迹,所述事件插入子单元在插入触摸事件时,每个触摸事件插入的位置存在N个坐标点,N为正整数。
根据本发明一优选实施例,所述事件插入子单元在插入与该位置的触摸动作类型对应的触摸事件时,在起始点位置插入按下状态的触摸事件,在结束点位置插入弹起状态的触摸事件,在起始点和结束点之间的各位置插入移动状态的触摸事件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310222513.2/2.html,转载请声明来源钻瓜专利网。