一种面向Android及其衍生系统的软件操作录制回放方法技术方案

技术编号:4089890 阅读:974 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种面向Android及其衍生系统的软件操作录制回放方法,包括如下步骤:1)装备Android及其衍生系统的设备端与PC端连接并通信;2)对设备端进行UI操作,设备端或PC端记录UI操作指令及相应的程序状态信息;3)PC端解析步骤3)中记录的UI操作指令及相应的程序状态信息,利用记录的UI操作指令驱动设备端执行UI操作,并将执行后的程序状态与记录的相应的程序状态进行比较,完成回放。利用本发明专利技术的方法对Android及衍生系统平台上的软件操作进行记录,在对软件作相关修改后,可以利用记录进行回放以测试软件行为是否和修改前一致。

【技术实现步骤摘要】

本专利技术涉及一种装备Android及衍生系统设备上的记录回放方法,涉及用户界面 自动化、软件测试等领域,属于软件工程领域。
技术介绍
Android系统是Google公司推出的一款Linux操作系统上的应用系统框架平台, 此平台采用Java语言开发。以此框架平台为基础,能方便地开发一些嵌入式软件。随着 Android系统的不断推广,各大手机厂商以及相关嵌入式设备商以Android系统为基础定 制出适合各自产品的Android的衍生系统。Android系统现在的最新版本为2. 1。在此背景下,针对Android及衍生系统平台上的软件测试的研究与开发也逐渐深 入,但是目前针对此类平台上的软件黑盒测试现在还局限于手工测试,没有合适的测试工 具。针对此问题,需要对Android及衍生系统平台上的软件操作进行记录,在对软件作相关 修改后,可以利用记录进行回放以测试软件行为是否和修改前一致。
技术实现思路
本专利技术解决了现有技术中存在的问题,充分利用Android及衍生系统的特性,根 据不同的使用情况以不同的方式完成操作的记录,并根据记录方式的不同完成相应的回放 功能,以测试软件行为是否和修改前一致。为完成上述专利技术目的,采用以下技术方案,包括如下步骤1)装备Android及其衍生系统的设备端与PC端连接并通信;2)对设备端进行UI操作,设备端或PC端记录UI操作指令及相应的程序状态信 息;3) PC端解析步骤2)中记录的UI操作指令及相应的程序状态信息,利用记录的UI 操作指令驱动设备端执行UI操作,并将执行后的程序状态与记录的相应的程序状态进行 比较,完成回放。所述步骤1)中设备端与PC端通过TCP/UDP/USB协议进行连接与通信;所述步骤1)中设备端与PC端连接采用客户端/服务器端模式,设备端为服务器 端,PC端为客户端。所述步骤2)包括如下三个步骤2-1)记录服务器端起始点的状态;2-2)记录UI操作指令以及相应的程序状态;2-3)记录结束点的状态;其中,步骤2-2)设备端的UI操作有两种方式,第一种是直接在设备端进行操作; 第二种是通过PC端与设备端的通信将设备端当前画面显示在PC端虚拟屏幕,然后在PC端 虚拟屏幕上操作,根据虚拟屏幕操作构造相应的操作指令传送给设备端的服务器程序,服4务器程序按照操作指令驱动设备端执行;对于第一种方式,在服务器端新建脚本文件,利用Android系统及衍生系统提供 的getevent工具获取操作的每一条指令并将其记录在服务器端特定脚本文件中,当用户 通过客户端插入检测点时,服务器端将GUI信息插入服务器端特定的脚本文件中,记录结 束时,服务器端程序将设备端的脚本发送给客户端程序;对于第二种方式,在PC端新建一脚本文件(脚本形式符合基本格式,能正确解析 即可),在PC端构造操作指令并记录在脚本文件中。PC端虚拟屏幕和设备端界面保持同步, 每次设备端操作执行完成后的界面信息(包括所处界面所有关键UI的状态信息如UI对象 坐标、尺寸等)都通过服务器端程序发送给客户端程序并在客户端进行重绘,客户端程序 将GUI信息插入到脚本文件中。上述步骤中的脚本文件的基本格式为指令序列;Checkpoint ;程序状态信息;指令序列;Checkpoint ;程序状态信息;程序结束时状态信息;对于直接在设备端进行UI操作的输入方式而言,其指令序列中的每条指令格式 如/dev/input/eventO0001 OOle 00000001 所示,/dev/input/eventO 表示设备;后面三 个十六进制数分别表示指令类型、键码、键值。对于在客户端(PC端)虚拟屏幕输入UI操作而言,其指令序列中的每条指令格式 为EventType Action Eventdata,其中EventType指示操作事件类型(事件类型有 键盘事件,屏幕动作事件,时间事件);Action指示哪一种操作(对于键盘事件有Click和 Iongclick操作;对于屏幕动作事件有click,drag和Iongclick等操作;对于时间事件有 wait等操作),Eventdata指示具体的操作,如键盘事件指示按下的是哪一个键,而屏幕动 作事件指示事件发生的坐标等。脚本文件中的检测点指示经过一系列的操作指令执行之后,需要对指令执行后的 相应程序状态进行检查,检查的方法是比较脚本中检测点后的程序状态信息与指令执行后 的程序状态是否一致;所述步骤3)中的回放过程包括如下三个步骤3-1)根据上述步骤2-1)中的记录设置回放时的初始状态;3-2)根据PC端获取的脚本文件,对其进行解析获取相应的操作指令序列和相应 的程序状态信息,将每个检测点之前的指令序列发送给服务器端程序,服务器端应用程序 执行完相应的指令序列后,将程序状态信息即GUI发送给客户端程序与脚本文件中记录的 相应的检测点之后的记录进行比较;3-3)对比回放完毕后所处的状态是否与步骤2-3)中记录的状态一致;步骤3-2)具具体实现如下3-2-1)如果记录采用的是直接在设备端进行UI操作的方式,则在客户端(PC 端)根据获取的指令序列和相应的检查点信息利用Android系统及衍生系统提供的工具 sendevent工具构造操作指令并发送给服务器端程序驱动设备端执行并检查是否与预期一 致,如果一致则继续发送下一条指令,否则报错;直至序列中所有的指令都发送完毕;3-2-2)如果记录采用的是在客户端(PC端)虚拟屏幕输入UI操作的方式,则客 户端根据之前记录的操作指令逐条发送给服务器端程序,服务器端驱动执行完成一个指 令后,服务器端程序将服务器端界面状态信息发送给客户端程序,如果此时脚本中是一个 Checkpoint,则客户端程序比较之前记录的状态信息,如果一致,则继续发送下一条指令, 否则报错;如果不是Checkpoint,则继续发送下一条指令。直至序列中的所有指令发送完 毕。在步骤3-3)中不论采用直接在设备端进行UI操作的方式还是采用在客户端 (PC端)虚拟屏幕输入UI操作的方式,在指令序列执行完毕后,服务器端程序将此时所处状 态信息发送给客户端程序并与步骤2-3)中记录的状态进行比较。与现有技术相比,本专利技术具有的技术效果是利用本专利技术的方法对Android及衍生系统平台上的软件操作进行记录,在对软件 作相关修改后,可以利用记录进行回放以测试软件行为是否和修改前一致。附图说明图1为本专利技术方法流程图。具体实施例方式为了更清楚的说明本专利技术,特将本专利技术的具体实施方案说明如下本方案描述了两种操作方式下的记录回放过程,录制回放系统服务器端程序安装 在设备端,客户端程序安装在PC端。在记录过程中,服务器端程序主要负责监听设备端的 操作并将操作指令及执行结果发送给客户端程序,客户端程序主要负责接收执行指令和相 应的结果并对其进行整理;而在回放过程中,客户端程序主要负责将记录的指令按照顺序 发送给服务器端,服务器端程序接收到指令后驱动设备端执行相应的指令。录制回放的过 程主要包括PC端与设备端的连接、记录开始设置、记录操作指令及相应程序状态信息、记 录结束设置、根据记录指令序列及相关状态信息回放检测等步骤。以下结合附图1,分别描 述各个步骤。(I)PC端与设备端通过USB接口连接,预先约定P本文档来自技高网...

【技术保护点】
一种面向Android及其衍生系统的软件操作录制回放方法,包括如下步骤:1)装备Android及其衍生系统的设备端与PC端连接并通信;2)对设备端进行UI操作,设备端或PC端记录UI操作指令及相应的程序状态信息;3)PC端解析步骤2)中记录的UI操作指令及相应的程序状态信息,利用记录的UI操作指令驱动设备端执行UI操作,并将执行后的程序状态与记录的相应的程序状态进行比较,完成回放。

【技术特征摘要】
一种面向Android及其衍生系统的软件操作录制回放方法,包括如下步骤1)装备Android及其衍生系统的设备端与PC端连接并通信;2)对设备端进行UI操作,设备端或PC端记录UI操作指令及相应的程序状态信息;3)PC端解析步骤2)中记录的UI操作指令及相应的程序状态信息,利用记录的UI操作指令驱动设备端执行UI操作,并将执行后的程序状态与记录的相应的程序状态进行比较,完成回放。2.如权利要求1所述的方法,其特征在于,所述步骤1)设备端与PC端连接采用客户端 /服务器端模式,设备端为服务器端,PC端为客户端;且设备端通过TCP或UDP或USB协议 与PC端进行连接并通信。3.如权利要求1所述的方法,其特征在于,所述步骤2)包括如下步骤 3-1)记录服务器端起始点的状态;3-2)记录UI操作指令以及相应的程序状态; 3-3)记录结束点的状态;其中,步骤3-2)对设备端进行的UI操作包括直接在设备端进行UI操作;或者通过PC 端与设备端的通信将设备端当前画面显示在PC端虚拟屏幕上进行UI操作。4.如权利要求3所述的方法,其特征在于,所述直接在设备端进行操作的实现方法为 在设备端新建脚本文件,获取操作的每一条指令并将其记录在设备端脚本文件中,当用户 在客户端发送检测点信息或结束记录信息时,设备端将程序状态信息插入到脚本文件中。5.如权利要求3所述的方法,其特征在于,所述在PC端虚拟屏幕上进行操作的实现方 法为在PC端新...

【专利技术属性】
技术研发人员:薛云志陈军成郑东阳张亚峰安朗
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1