CN104572447B - 基于安卓操作系统的业务流程录制‑回放方法及系统 - Google Patents

基于安卓操作系统的业务流程录制‑回放方法及系统 Download PDF

Info

Publication number
CN104572447B
CN104572447B CN201410799801.9A CN201410799801A CN104572447B CN 104572447 B CN104572447 B CN 104572447B CN 201410799801 A CN201410799801 A CN 201410799801A CN 104572447 B CN104572447 B CN 104572447B
Authority
CN
China
Prior art keywords
action
data
context
playback
applications
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410799801.9A
Other languages
English (en)
Other versions
CN104572447A (zh
Inventor
刘伟
黄文雄
姚瑶
雷鸣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 15 Research Institute
Original Assignee
CETC 15 Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CETC 15 Research Institute filed Critical CETC 15 Research Institute
Priority to CN201410799801.9A priority Critical patent/CN104572447B/zh
Publication of CN104572447A publication Critical patent/CN104572447A/zh
Application granted granted Critical
Publication of CN104572447B publication Critical patent/CN104572447B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于安卓操作系统的业务流程录制‑回放方法,包括录制方法和回放方法,所述录制方法包括以下步骤:A、当外部应用启动后,且检测到用户在界面进行操作时,采集并存储动作数据;B、当外部应用从外存或网络加载数据后,根据加载的数据采集并存储上下文数据;所述回放方法包括以下步骤:C、加载动作及上下文数据;D、选择回放起始位置,并从所述起始位置开始进行回放。本发明还公开了一种基于安卓操作系统的业务流程录制‑回放系统。本发明不仅能够记录用户动作,还能记录应用加载的外部数据,使得回放过程仅与已记录下来的动作、上下文数据以及录制的应用程序本身有关,从而保证了每次回放过程中GUI状态的一致性。

Description

基于安卓操作系统的业务流程录制-回放方法及系统
技术领域
本发明涉及GUI(Graphical User Interface,图形用户界面)录制-回放领域,特别是涉及一种基于安卓操作系统的业务流程录制-回放方法及系统。
背景技术
GUI录制-回放自动化测试技术是自动化测试的一个分支,是一种黑盒自动化测试技术。测试人员无需关注底层代码实现,从而避免了不同语言编程带来的测试困难。
在Windows和Linux平台上,目前已经有很多基于录制-回放技术的GUI测试工具,如HP的QuickTest Professional,IBM的Rational Functional Tester,开源工具Selenium等。但由于Android(安卓)安全架构的存在,Windows和Linux上的录制回放技术无法直接应用到Android平台上,同时也加大了录制-回放技术的实现难度。
在Android平台上,到现在为止还没有成熟的GUI录制技术,各类GUI回放工具均是通过解析并执行软件工程师编写的脚本进行回放,并没有形成Android平台上录制-回放的一体化,从而导致GUI回放技术很难应用于软件自动化测试领域之外的其他领域中。
目前,GUI回放技术主要是以脚本为依据往Android操作系统或应用程序本身注入点击、长按、滑动等事件来达到控制应用程序自动运行的目的。然而,大多数Android应用程序会从外存或通过网络加载数据,当同一脚本在两次执行时应用程序从外存中或通过网络加载的数据发生了变化,并且这种变化导致了应用程序的界面逻辑在两次脚本执行过程中有差异,此时就会出现同一脚本在多次执行过程中GUI状态不一致的情况。
发明内容
本发明要解决的技术问题是提供一种基于安卓操作系统的业务流程录制-回放方法及系统,用以解决现有技术在GUI回放时同一脚本在多次执行过程中GUI状态不一致的问题。
为解决上述技术问题,本发明提供一种基于安卓操作系统的业务流程录制-回放方法,包括录制方法和回放方法,
所述录制方法包括以下步骤:
A、当外部应用启动后,且检测到用户在界面进行操作时,采集并存储动作数据;
B、当外部应用从外存或网络加载数据后,根据加载的数据采集并存储上下文数据;
所述回放方法包括以下步骤:
C、加载动作及上下文数据;
D、选择回放起始位置,并从所述起始位置开始进行回放。
进一步,所述步骤A具体包括:
A1、外部应用启动后初始化动作采集代理,将当前应用显示页面信息告知动作采集代理;
A2、检测到用户在界面进行操作时,外部应用将用户动作数据传递给动作采集代理;
A3、动作采集代理将动作数据格式化;
A4、调用动作采集接口保存动作数据。
进一步,所述动作数据包括:页面启动动作数据、页面退出动作数据、单击动作数据、长按动作数据、触摸动作数据和/或按键动作数据。
进一步,所述步骤B具体包括:
B1、外部应用将加载的数据传递给上下文采集代理;
B2、上下文采集代理将上下文数据格式化;
B3、调用上下文采集接口保存上下文数据。
进一步,所述上下文数据包括当前运行环境上下文对象、上下文标识和Json格式的上下文数据。
进一步,所述步骤C具体包括:
C1、外部应用初始化回放控制代理,将当前应用显示页面的页面控制对象交给回放控制代理;
C2、启动动作及上下文管理组件,加载并将动作及上下文数据按照时间顺序显示。
进一步,所述步骤D具体包括:
D1、选择一条动作数据作为回放起始位置;
D2、启动回放组件,回放组件从选择的起始动作数据开始预加载动作数据;
D3、按时间顺序将播放数据逐条传递给回放控制代理;
D4、回放控制代理通过解析动作数据,生成页面控制指令;
D5、回放控制代理通过页面控制对象向页面发出控制指令;
D6、页面收到回放控制代理发出的控制指令,产生页面响应。
进一步,在所述步骤D4中,所述生成页面控制指令包括生成单击控制指令,具体包括:
D411、从动作数据中解析出单击动作发生的页面控件ID号;
D412、根据单击动作数据中的页面控件ID号得到页面控件对象;
D413、向所述控件对象的中心点发出“按下”指令;
D414、向所述控件对象的中心点发出“弹起”指令。
进一步,在所述步骤D4中,所述生成页面控制指令包括生成触摸控制指令,具体包括:
D421、从动作数据中解析出触摸动作发生处屏幕横纵坐标;
D422、判断当前触摸位置是否属于页面中任何控件所覆盖区域,如果是,则转步骤D424;否则转步骤D423;
D423、直接向页面相应位置发出触摸指令,并结束;
D424、根据触摸动作数据中的页面控件ID号得到页面控件对象;
D425、向所述控件相应位置发出触摸指令。
进一步,在所述步骤D4中,所述生成页面控制指令包括生成按键控制指令,具体包括:
D431、从动作数据中解析出按键编码;
D432、向页面发出按键编码对应的键盘按下指令;
D433、向页面发出按键编码对应的键盘弹起指令。
进一步,所述回放方法还包括:E、在回放模式下,外部应用从外存或网络取数据;具体包括以下步骤:
E1、当外部应用需要从外存或网络取数据时,截获外部应用数据请求事件,转为向回放控制代理请求数据;
E2、回放控制代理根据上下文唯一标识,通过回放控制接口向回放组件发出数据查询请求;
E3、回放组件根据上下文唯一标识在数据库中进行查询,将查询到的上下文数据从数据库中取出,并传递给回放控制代理;
E4、回放控制代理向外部应用返回上下文数据;
E5、外部应用根据回放控制代理返回的上下文数据产生页面响应。
本发明还提供一种基于安卓操作系统的业务流程录制-回放系统,所述系统包括数据层、服务层、业务层、接口层和外部代理;
所述数据层,提供动作信息和上下文信息的持久化存储;
所述服务层,为所述业务层和接口层提供支持,包括动作存取服务、上下文存取服务、动作及上下文聚合服务和回放控制服务;
所述业务层,为外部应用提供直接可用的组件,包括动作及上下文管理组件和回放组件;
所述接口层,为外部应用提供动作采集、上下文采集、回放控制和动作及上下文管理接口;
所述外部代理,为外部应用提供封装好的动作采集、上下文采集、回放控制代理,外部应用可直接通过所述外部代理实现动作及上下文数据的采集和回放。
进一步,所述动作信息包括动作类型、操作控件的Resource ID、动作发生的屏幕坐标、功能键编码;所述上下文信息包括状态标识和上下文数据。
进一步,所述动作存取服务对动作数据做数据库存取操作;所述上下文存取服务对上下文数据做数据库存取操作;所述动作及上下文聚合服务通过解析动作和上下文数据,去除、合并其中的冗余数据;所述回放控制服务加载动作和上下文数据,保证回放的流畅性。
进一步,外部应用可直接启动所述动作及上下文管理组件实现对动作及上下文数据的查询和删除操作;所述回放组件为外部应用提供一个能够播放动作及上下文数据的专用播放器,其功能包括播放、暂停、重放和变速播放。
本发明有益效果如下:
1.能够完全重现GUI状态。本发明不仅能够记录用户动作,还能记录应用加载的外部数据,使得回放过程仅与已记录下来的动作、上下文数据以及录制的应用程序本身有关,从而保证了每次回放过程中GUI状态的一致性。
2.实现录制-回放一体化。本发明将录制、回放功能集成后,使用者不用关心录制产生的中间数据格式,也不需要人工编写回放控制脚本,在很大程度上减小了Android平台上非截屏类GUI录制-回放工具的使用难度。
3.应用领域更加广泛。本发明具备完善的录制、回放机制,不仅能在软件自动化测试领域得到更好地应用,而且与一般的截屏类屏幕录制-回放工具相较,本发明在录制过程中产生的文本形式中间数据的数据量非常小,因此本发明产生的录制结果数据能够更方便的在互联网上传输,从而使得本发明在分析终端用户行为方面也能得到广泛地应用。
附图说明
图1是本发明实施例的一种基于安卓操作系统的业务流程录制-回放系统的结构示意图;
图2是本发明实施例的一种基于安卓操作系统的业务流程录制方法的流程图;
图3是本发明实施例的一种基于安卓操作系统的业务流程回放方法的流程图。
具体实施方式
为了解决现有技术在GUI回放时同一脚本在多次执行过程中GUI状态不一致的问题,本发明提供了一种基于安卓操作系统的业务流程录制-回放方法及系统,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
本发明实施例的一种基于安卓操作系统的业务流程录制-回放方法包括录制方法和回放方法,所述录制方法包括以下步骤:
A、当外部应用启动后,且检测到用户在界面进行操作时,采集并存储动作数据。具体包括:A1、外部应用启动后初始化动作采集代理,将当前应用显示页面信息告知动作采集代理;A2、检测到用户在界面进行操作时,外部应用将用户动作数据传递给动作采集代理;所述动作数据包括:页面启动动作数据、页面退出动作数据、单击动作数据、长按动作数据、触摸动作数据和/或按键动作数据。A3、动作采集代理将动作数据格式化;A4、调用动作采集接口保存动作数据。
B、当外部应用从外存或网络加载数据后,根据加载的数据采集并存储上下文数据;具体包括:B1、外部应用将加载的数据传递给上下文采集代理;B2、上下文采集代理将上下文数据格式化,所述上下文数据包括当前运行环境上下文对象、上下文标识和Json格式的上下文数据;B3、调用上下文采集接口保存上下文数据。
本发明实施例的基于安卓操作系统的业务流程回放方法包括以下步骤:
C、加载动作及上下文数据;具体包括:C1、外部应用初始化回放控制代理,将当前应用显示页面的页面控制对象交给回放控制代理;C2、启动动作及上下文管理组件,加载并将动作及上下文数据按照时间顺序显示。
D、选择回放起始位置,并从所述起始位置开始进行回放。具体包括:D1、选择一条动作数据作为回放起始位置;D2、启动回放组件,回放组件从选择的起始动作数据开始预加载动作数据;D3、按时间顺序将播放数据逐条传递给回放控制代理;D4、回放控制代理通过解析动作数据,生成页面控制指令;D5、回放控制代理通过页面控制对象向页面发出控制指令;D6、页面收到回放控制代理发出的控制指令,产生页面响应。
在所述步骤D4中,所述生成页面控制指令包括生成单击控制指令、触摸控制指令、按键控制指令。
所述生成单击控制指令具体包括:D411、从动作数据中解析出单击动作发生的页面控件ID(IDentity,身份标识号码)号;D412、根据单击动作数据中的页面控件ID号得到页面控件对象;D413、向所述控件对象的中心点发出“按下”指令;D414、向所述控件对象的中心点发出“弹起”指令。
所述生成触摸控制指令具体包括:D421、从动作数据中解析出触摸动作发生处屏幕横纵坐标;D422、判断当前触摸位置是否属于页面中任何控件所覆盖区域,如果是,则转步骤D424;否则转步骤D423;D423、直接向页面相应位置发出触摸指令,并结束;D424、根据触摸动作数据中的页面控件ID号得到页面控件对象;D425、向所述控件相应位置发出触摸指令。
所述生成按键控制指令具体包括:D431、从动作数据中解析出按键编码;D432、向页面发出按键编码对应的键盘按下指令;D433、向页面发出按键编码对应的键盘弹起指令。
所述回放方法还包括:E、在回放模式下,外部应用从外存或网络取数据;具体包括以下步骤:E1、当外部应用需要从外存或网络取数据时,截获外部应用数据请求事件,转为向回放控制代理请求数据;E2、回放控制代理根据上下文唯一标识,通过回放控制接口向回放组件发出数据查询请求;E3、回放组件根据上下文唯一标识在数据库中进行查询,将查询到的上下文数据从数据库中取出,并传递给回放控制代理;E4、回放控制代理向外部应用返回上下文数据;E5、外部应用根据回放控制代理返回的上下文数据产生页面响应。
本发明实施例的一种基于安卓操作系统的业务流程录制-回放系统如图1所示,所述系统包括数据层、服务层、业务层、接口层和外部代理。
所述数据层提供动作信息和上下文信息的持久化存储;所述动作信息包括动作类型(Activity切换、单击、长按、触摸、功能键等)、操作控件的ResourceID、动作发生的屏幕坐标、功能键编码;所述上下文信息包括状态标识和上下文数据,上下文数据采用标准Json格式。数据库选择开源嵌入式数据库引擎SQLite。
所述服务层为所述业务层和接口层提供支持,包括动作存取服务、上下文存取服务、动作及上下文聚合服务和回放控制服务;所述动作存取服务对动作数据做数据库存取操作;所述上下文存取服务对上下文数据做数据库存取操作;所述动作及上下文聚合服务通过解析动作和上下文数据,去除、合并其中的冗余数据;所述回放控制服务按照一定规则加载动作和上下文数据,在内存占用尽可能小的情况下保证回放的流畅性。
所述业务层为外部应用提供直接可用的组件,包括动作及上下文管理组件和回放组件;外部应用可直接启动所述动作及上下文管理组件实现对动作及上下文数据的查询和删除操作;所述回放组件为外部应用提供一个能够播放动作及上下文数据的专用播放器,其功能包括播放、暂停、重放和变速播放。
所述接口层为外部应用提供动作采集、上下文采集、回放控制和动作及上下文管理接口。
所述外部代理为外部应用提供封装好的动作采集、上下文采集、回放控制代理,外部应用可直接通过所述外部代理实现动作及上下文数据的采集和回放。
本发明实施例的一种基于安卓操作系统的业务流程录制方法的流程如图2所示,外部应用启动后首先初始化动作采集代理,用户操作界面时,外部应用将用户动作相关数据传递给动作采集代理,动作采集代理将动作数据格式化后,调用动作采集接口保存动作数据。外部应用从外存或网络加载数据后,进行数据传递,上下文采集代理将上下文数据格式化后,调用上下文采集接口保存上下文数据。具体包括:
步骤1、初始化动作采集代理,外部应用将当前应用显示页面信息告知动作采集代理。
步骤2、用户操作界面,该过程为动作采集触发时机。
步骤3、外部应用将如用户点击按钮ID号等动作数据告知动作采集代理。
步骤4、数据格式化处理,方便数据库存储。
步骤5、将动作数据存储至数据库。
步骤6、外部应用从外存或网络加载数据,该过程为上下文采集触发时机。
步骤7、将加载的数据传递给上下文采集代理。
步骤8、数据格式化处理,方便数据库存储。
步骤9、将上下文数据存储至数据库。
动作采集接口提供以下方法:
(1)页面启动动作采集方法(参数1:页面实例,参数2:页面名称,参数3:动作描述);
(2)页面退出动作采集方法(参数1:页面实例,参数2:动作描述);
(3)单击动作采集方法(参数1:页面实例,参数2:单击控件ID号,参数3:动作描述);
(4)长按动作采集方法(参数1:页面实例,参数2:单击控件ID号,参数3:动作描述);
(5)触摸动作采集方法(参数1:页面实例,参数2:单击控件ID号,参数3:触摸动作类型,参数4:触摸点屏幕横坐标,参数5:触摸点屏幕纵坐标,参数6:动作描述);
(6)按键动作采集方法(参数1:页面实例,参数2:按键编码,参数3:动作描述)。
动作采集接口提供启动Activity事件采集、Activity回退事件采集、单击事件采集、长按事件采集、触摸事件采集和按键事件采集等方法。其中各方法的参数主要有Activity对象、Activity名、事件描述、事件产生控件ID、触摸动作类型、触摸点坐标、按键码等。
上下文采集接口提供以下方法:
上下文采集方法(参数1:当前运行环境上下文对象,参数2:上下文唯一标识,参数3:Json格式的上下文数据);
上下文采集接口中只有一个上下文采集方法,参数包括当前运行环境上下文对象、上下文标识和Json格式的上下文数据。
本发明实施例的一种基于安卓操作系统的业务流程回放方法的流程如图3所示,外部应用首先初始化回放控制代理,启动动作及上下文管理组件,选择一条动作数据作为回放起始位置后启动回放组件,回放组件从选择的起始动作数据开始预加载动作数据,然后按时间顺序逐条传递给回放控制代理,回放控制代理通过解析动作数据,生成UI控制指令,并将其注入外部应用,使外部应用在没有人干预的情况下产生界面响应。如此循环,外部应用不断根据回放控制发出的控制指令作出界面响应,便实现了动作回放的效果。在回放模式下,当外部应用需要从外存或网络取数据时,转为向回放控制代理请求外部数据,回放控制代理通过回放控制接口向业务流程录制-回放工具发出上下文查询请求,业务流程录制-回放工具将根据上下文唯一标识查询到的结果返回给回放控制代理,最后回放控制代理将上下文注入外部程序,外部程序产生界面响应。具体包括:
步骤1、初始化动作代理,外部应用将当前应用显示页面的页面控制对象交给回放控制代理;
步骤2、启动动作及上下文管理组件,此处组件负责加载并将动作及上下文数据按照时间顺序显示,以方便用户选择起始播放位置;
步骤3、选择一条动作数据作为回放起始位置,类似于播放器选择起始播放位置;
步骤4、启动回放组件;
步骤5、回放组件按时间轴组织播放数据,类似于播放器预加载数据;
步骤6、按时间轴将播放数据传递给回放控制代理;
步骤7、回放控制代理解析收到的动作数据,生成页面控制指令;
步骤8、回放控制代理通过页面控制对象向页面发出控制指令;
步骤9、页面收到回放控制代理发出的控制指令,被动产生页面响应;
步骤10、截获外部应用数据请求事件,改为向回放控制代理请求数据;
步骤11、回放控制代理根据上下文唯一标识,向回放组件发出数据查询请求,将录制流程步骤9中存储的上下文数据从数据库中取出;
步骤12、回放组件将查询到的上下文数据传递给回放控制代理;
步骤13、回放控制代理向外部应用返回上下文数据;
步骤14、外部应用根据回放控制代理返回的上下文数据产生页面响应。
根据收到的动作数据,回放控制代理将产生多种不同的控制指令,下面将以单击、触摸和按键动作为例,展示如何在Android环境下发出这些动作的界面控制指令。
(1)单击动作:
单击动作控制指令产生方法:a.从动作数据中解析出单击动作发生的页面控件ID号;b.根据单击动作数据中的页面控件ID号得到页面控件对象;c.向该控件中心点发出按下指令;d.向该控件中心点发出弹起指令;e.方法结束。具体如下:
(2)触摸动作:
触摸动作控制指令产生方法:a.从动作数据中解析出触摸动作发生处屏幕横纵坐标;b.若当前触摸位置不属于页面中任何控件所覆盖区域,转c;反之,转d;c.直接向页面相应位置发出触摸指令,转f;d.根据触摸动作数据中的页面控件ID号得到页面控件对象;e.向该控件相应位置发出触摸指令;f.方法结束。具体如下:
(3)按键动作:
按键动作控制指令产生方法:a.从动作数据中解析出按键编码;b.向页面发出按键编码对应的键盘按下指令;c.向页面发出按键编码对应的键盘弹起指令;d.方法结束。
外部应用需要按如下方法,通过回放控制代理提供的方法加载外部数据:回放控制代理截获外部应用的数据请求后,判断当前运行模式,若外部应用处于正常运行模式,回放代理通过监听器回调应用中的A方法,A方法负责正常(向网络或外存)请求数据;若外部应用处于回放模式,回放代理通过监听器回调应用中的B方法,并将请求数据直接通过B方法的参数返回给外部应用,完成数据注入。在该方法中需要实现LoadDataReallyListener和LoadDataFromProxyListener两个监听器,加载外部数据时,回放控制代理会根据当前模式(正常模式或回放模式)判断回调哪个监听器中的加载数据方法。具体如下:
本发明能够完全重现GUI状态。本发明不仅能够记录用户动作,还能记录应用加载的外部数据,使得回放过程仅与已记录下来的动作、上下文数据以及录制的应用程序本身有关,从而保证了每次回放过程中GUI状态的一致性。
本发明实现了录制-回放一体化。本发明将录制、回放功能集成后,使用者不用关心录制产生的中间数据格式,也不需要人工编写回放控制脚本,在很大程度上减小了Android平台上非截屏类GUI录制-回放工具的使用难度。
本发明的应用领域更加广泛。本发明具备完善的录制、回放机制,不仅能在软件自动化测试领域得到更好地应用,而且与一般的截屏类屏幕录制-回放工具相较,本发明在录制过程中产生的文本形式中间数据的数据量非常小,因此本发明产生的录制结果数据能够更方便的在互联网上传输,从而使得本发明在分析终端用户行为方面也能得到广泛地应用。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。

Claims (7)

1.一种基于安卓操作系统的业务流程录制-回放方法,包括录制方法和回放方法,其特征在于,
所述录制方法包括以下步骤:
A、当外部应用启动后,且检测到用户在界面进行操作时,采集并存储动作数据;
B、当外部应用从外存或网络加载数据后,根据加载的数据采集并存储上下文数据;
所述回放方法包括以下步骤:
C、加载动作及上下文数据;
D、选择回放起始位置,并从所述起始位置开始进行回放;
所述步骤C具体包括:
C1、外部应用初始化回放控制代理,将当前应用显示页面的页面控制对象交给回放控制代理;
C2、启动动作及上下文管理组件,加载并将动作及上下文数据按照时间顺序显示;
所述步骤D具体包括:
D1、选择一条动作数据作为回放起始位置;
D2、启动回放组件,回放组件从选择的起始动作数据开始预加载动作数据;
D3、按时间顺序将播放数据逐条传递给回放控制代理;
D4、回放控制代理通过解析动作数据,生成页面控制指令;
D5、回放控制代理通过页面控制对象向页面发出控制指令;
D6、页面收到回放控制代理发出的控制指令,产生页面响应。
2.如权利要求1所述的基于安卓操作系统的业务流程录制-回放方法,其特征在于,所述步骤A具体包括:
A1、外部应用启动后初始化动作采集代理,将当前应用显示页面信息告知动作采集代理;
A2、检测到用户在界面进行操作时,外部应用将用户动作数据传递给动作采集代理;
A3、动作采集代理将动作数据格式化;
A4、调用动作采集接口保存动作数据。
3.如权利要求2所述的基于安卓操作系统的业务流程录制-回放方法,其特征在于,所述动作数据包括:页面启动动作数据、页面退出动作数据、单击动作数据、长按动作数据、触摸动作数据和/或按键动作数据。
4.如权利要求1所述的基于安卓操作系统的业务流程录制-回放方法,其特征在于,所述步骤B具体包括:
B1、外部应用将加载的数据传递给上下文采集代理;
B2、上下文采集代理将上下文数据格式化;
B3、调用上下文采集接口保存上下文数据。
5.如权利要求4所述的基于安卓操作系统的业务流程录制-回放方法,其特征在于,所述上下文数据包括当前运行环境上下文对象、上下文标识和Json格式的上下文数据。
6.如权利要求1至5任一项所述的基于安卓操作系统的业务流程录制-回放方法,其特征在于,所述回放方法还包括:E、在回放模式下,外部应用从外存或网络取数据;具体包括以下步骤:
E1、当外部应用需要从外存或网络取数据时,截获外部应用数据请求事件,转为向回放控制代理请求数据;
E2、回放控制代理根据上下文唯一标识,通过回放控制接口向回放组件发出数据查询请求;
E3、回放组件根据上下文唯一标识在数据库中进行查询,将查询到的上下文数据从数据库中取出,并传递给回放控制代理;
E4、回放控制代理向外部应用返回上下文数据;
E5、外部应用根据回放控制代理返回的上下文数据产生页面响应。
7.一种基于安卓操作系统的业务流程录制-回放系统,其特征在于,所述系统包括数据层、服务层、业务层、接口层和外部代理;
所述数据层,提供动作信息和上下文信息的持久化存储;
所述服务层,为所述业务层和接口层提供支持,包括动作存取服务、上下文存取服务、动作及上下文聚合服务和回放控制服务;
所述业务层,为外部应用提供直接可用的组件,包括动作及上下文管理组件和回放组件;
所述接口层,为外部应用提供动作采集、上下文采集、回放控制和动作及上下文管理接口;
所述外部代理,为外部应用提供封装好的动作采集、上下文采集、回放控制代理,外部应用可直接通过所述外部代理实现动作及上下文数据的采集和回放;
所述动作信息包括动作类型、操作控件的Resource ID、动作发生的屏幕坐标、功能键编码;所述上下文信息包括状态标识和上下文数据;
所述动作存取服务对动作数据做数据库存取操作;所述上下文存取服务对上下文数据做数据库存取操作;所述动作及上下文聚合服务通过解析动作和上下文数据,去除、合并其中的冗余数据;所述回放控制服务加载动作和上下文数据,保证回放的流畅性;
外部应用可直接启动所述动作及上下文管理组件实现对动作及上下文数据的查询和删除操作;所述回放组件为外部应用提供一个能够播放动作及上下文数据的专用播放器,其功能包括播放、暂停、重放和变速播放。
CN201410799801.9A 2014-12-19 2014-12-19 基于安卓操作系统的业务流程录制‑回放方法及系统 Active CN104572447B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410799801.9A CN104572447B (zh) 2014-12-19 2014-12-19 基于安卓操作系统的业务流程录制‑回放方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410799801.9A CN104572447B (zh) 2014-12-19 2014-12-19 基于安卓操作系统的业务流程录制‑回放方法及系统

Publications (2)

Publication Number Publication Date
CN104572447A CN104572447A (zh) 2015-04-29
CN104572447B true CN104572447B (zh) 2017-09-29

Family

ID=53088579

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410799801.9A Active CN104572447B (zh) 2014-12-19 2014-12-19 基于安卓操作系统的业务流程录制‑回放方法及系统

Country Status (1)

Country Link
CN (1) CN104572447B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512031A (zh) * 2015-11-30 2016-04-20 惠州Tcl移动通信有限公司 一种移动终端及其自动测试方法
CN106021099A (zh) * 2016-05-12 2016-10-12 上海联彤网络通讯技术有限公司 实现智能终端ui自动化测试的系统及方法
CN107153599B (zh) * 2017-06-14 2021-02-26 上海点融信息科技有限责任公司 一种记录以及回放用户操作的方法及设备
CN108614853A (zh) * 2018-03-15 2018-10-02 中国人民解放军63895部队 一种多数据源信息同步混合存储与回放系统及方法
CN109446025B (zh) * 2018-10-17 2022-08-23 北京字节跳动网络技术有限公司 一种操作行为的回放方法、装置、电子设备及可读介质
CN110177076B (zh) * 2019-04-16 2022-08-23 凯通科技股份有限公司 面向多协议多类型设备接入方法、电子设备及存储介质
CN110647321A (zh) * 2019-08-15 2020-01-03 平安普惠企业管理有限公司 回放操作流程的方法、装置、设备及存储介质
CN110795311B (zh) * 2019-10-30 2020-11-03 北京三快在线科技有限公司 一种事件回放的方法及装置
CN111694757B (zh) * 2020-08-04 2023-05-30 抖音视界有限公司 应用程序的测试方法、装置、电子设备及计算机可读存储介质
CN115079914A (zh) * 2022-07-04 2022-09-20 山东捷瑞数字科技股份有限公司 一种基于云平台的全景互动记录回放系统
CN116627581A (zh) * 2023-07-26 2023-08-22 北京轻松筹信息技术有限公司 一种回溯业务系统页面的方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620564A (zh) * 2008-06-30 2010-01-06 福建升腾资讯有限公司 终端系统的录制回放模式自动化测试方法
CN102521118A (zh) * 2011-11-11 2012-06-27 福建星网视易信息系统有限公司 一种Android程序的自动测试方法
CN103853658A (zh) * 2012-12-04 2014-06-11 腾讯科技(深圳)有限公司 在安卓设备中进行录制回放的自动化测试方法及安卓设备
CN103970649A (zh) * 2013-01-31 2014-08-06 腾讯科技(深圳)有限公司 Android终端应用程序的测试方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8042055B2 (en) * 2007-08-31 2011-10-18 Tealeaf Technology, Inc. Replaying captured network interactions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620564A (zh) * 2008-06-30 2010-01-06 福建升腾资讯有限公司 终端系统的录制回放模式自动化测试方法
CN102521118A (zh) * 2011-11-11 2012-06-27 福建星网视易信息系统有限公司 一种Android程序的自动测试方法
CN103853658A (zh) * 2012-12-04 2014-06-11 腾讯科技(深圳)有限公司 在安卓设备中进行录制回放的自动化测试方法及安卓设备
CN103970649A (zh) * 2013-01-31 2014-08-06 腾讯科技(深圳)有限公司 Android终端应用程序的测试方法和装置

Also Published As

Publication number Publication date
CN104572447A (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
CN104572447B (zh) 基于安卓操作系统的业务流程录制‑回放方法及系统
US20200319996A1 (en) System and method of handling complex experiments in a distributed system
US10409564B2 (en) Recording and playback of development sessions
Paganelli et al. Intelligent analysis of user interactions with web applications
CN104133828B (zh) 用于html文档的拖放剪贴板
US10673916B1 (en) Executing applications in remotely emulated computing devices
US7844036B2 (en) Visual test automation tool for message-based applications, web applications and SOA systems
US8640034B2 (en) Remote GUI control by replication of local interactions
US20110258603A1 (en) Method and system for simulating and analyzing code execution in an on-demand service environment
US20070277061A1 (en) System, Method, Computer Program Product And Article Of Manufacture For Remote Fault Diagnosis And Correction In A Computer System
US20150100406A1 (en) Integrated testing, targeting and measuring of web site components
US20200133829A1 (en) Methods and systems for performance testing
US7661031B2 (en) Correlating macro and error data for debugging program error event
US11782821B2 (en) Page simulation system
US20120311538A1 (en) Capturing Rich Actionable Feedback on Working Software
US20240189724A1 (en) Videogame telemetry data and game asset tracker for session recordings
US11055209B2 (en) Application analysis with flexible post-processing
CN112131085A (zh) 互联网业务过程记录与回放的方法、系统及装置
JP2009223568A (ja) シナリオ生成装置及びプログラム
CN111459547B (zh) 一种函数调用链路的展示方法和装置
US20170032552A1 (en) Implementing out of order access to reversal operations in images
CN107193734B (zh) 用于移动Web应用的重放方法及重放系统
US20230315499A1 (en) Simulation of user actions in computer environment
US10481999B2 (en) Partial process recording
US20230333962A1 (en) User feedback mechanism for software applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant