CN114860559A - 用户操作录制方法、重现方法、装置、可读介质及设备 - Google Patents
用户操作录制方法、重现方法、装置、可读介质及设备 Download PDFInfo
- Publication number
- CN114860559A CN114860559A CN202210465688.5A CN202210465688A CN114860559A CN 114860559 A CN114860559 A CN 114860559A CN 202210465688 A CN202210465688 A CN 202210465688A CN 114860559 A CN114860559 A CN 114860559A
- Authority
- CN
- China
- Prior art keywords
- target
- information
- description information
- sliding
- historical
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 230000001960 triggered effect Effects 0.000 claims abstract description 19
- 238000004458 analytical method Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 13
- 238000012360 testing method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000013475 authorization Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开涉及一种用户操作录制方法、重现方法、装置、可读介质及设备。所述方法包括:响应于用户对应用程序执行目标操作,确定目标操作所触发的目标事件,目标操作为预设类型的操作中的一者,预设类型的操作包括点击操作;根据目标操作的类型,确定用于描述目标事件的目标描述信息;根据目标描述信息,生成与目标操作对应的操作录制数据;其中,点击操作对应目标事件的目标描述信息通过以下方式确定:确定目标操作的操作时间信息和目标事件对应的点击事件描述信息,并将点击事件描述信息和操作时间信息确定为目标事件的目标描述信息,点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者。
Description
技术领域
本公开涉及计算机技术领域,具体地,涉及一种用户操作录制方法、重现方法、装置、可读介质及设备。
背景技术
目前,在对应用程序的品质、性能进行优化时,常常存在诸多问题。例如,代码的改动是否带来品质上的优化或劣化。再例如,虽能够估计代码的改动能带来性能优化效果,但是,优化在哪里仍然无法确定。再例如,测试人员发现bug(程序错误),但由于无法恢复出现错误的操作现场及操作环境而无法定位,为线下定位错误增加了人力和时间成本。相关技术中,通常基于应用程序的日志对用户的操作进行分析,但是仍然无法完整复现出测试用户的历史操作行为。
发明内容
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
第一方面,本公开提供一种用户操作录制方法,所述方法包括:
响应于用户对应用程序执行目标操作,确定所述目标操作所触发的目标事件,所述目标操作为预设类型的操作中的一者,所述预设类型的操作包括点击操作;
根据所述目标操作的类型,确定用于描述所述目标事件的目标描述信息,所述目标描述信息至少用于指示所述目标操作的操作时间和操作位置;
根据所述目标描述信息,生成与所述目标操作对应的操作录制数据;
其中,所述点击操作对应目标事件的目标描述信息通过以下方式确定:
确定所述目标操作的操作时间信息和所述目标事件对应的点击事件描述信息,并将所述点击事件描述信息和所述操作时间信息确定为所述目标事件的目标描述信息,所述点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者。
第二方面,本公开提供一种用户操作重现方法,所述方法包括:
响应于针对历史操作数据的重现请求,对所述历史操作数据进行解析,得到解析结果,所述解析结果包括针对用户对应用程序的历史操作进行录制而生成的操作录制数据,其中,每一所述操作录制数据至少用于指示与用户的历史操作相关的操作时间和操作位置,所述历史操作包括点击操作;
针对每一所述历史操作,根据与所述历史操作相关的操作时间,在与所述历史操作相关的操作位置处执行该历史操作,以重现用户对所述应用程序执行过的历史操作;
其中,所述点击操作对应的操作录制数据包括点击事件描述信息和操作时间信息,所述点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者;并且,通过以下方式重现该历史操作:
根据该历史操作对应的操作录制数据中的点击事件描述信息,确定该历史操作所针对的目标页面元素,并在与该历史操作对应的操作时间信息对应的重现时刻,对所述目标页面元素执行点击操作,以重现该历史操作。
第三方面,本公开提供一用户操作录制装置,所述装置包括:
第一确定模块,用于响应于用户对应用程序执行目标操作,确定所述目标操作所触发的目标事件,所述目标操作为预设类型的操作中的一者,所述预设类型的操作包括点击操作;
第二确定模块,用于根据所述目标操作的类型,确定用于描述所述目标事件的目标描述信息,所述目标描述信息至少用于指示所述目标操作的操作时间和操作位置;
生成模块,用于根据所述目标描述信息,生成与所述目标操作对应的操作录制数据;
其中,所述第二确定模块用于通过以下子模块确定所述点击操作对应目标事件的目标描述信息:
第一确定子模块,用于确定所述目标操作的操作时间信息和所述目标事件对应的点击事件描述信息,并将所述点击事件描述信息和所述操作时间信息确定为所述目标事件的目标描述信息,所述点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者。
第四方面,本公开提供一种用户操作重现装置,所述装置包括:
解析模块,用于响应于针对历史操作数据的重现请求,对所述历史操作数据进行解析,得到解析结果,所述解析结果包括针对用户对应用程序的历史操作进行录制而生成的操作录制数据,其中,每一所述操作录制数据至少用于指示与用户的历史操作相关的操作时间和操作位置,所述历史操作包括点击操作;
操作重现模块,用于针对每一所述历史操作,根据与所述历史操作相关的操作时间,在与所述历史操作相关的操作位置处执行该历史操作,以重现用户对所述应用程序执行过的历史操作;
其中,所述点击操作对应的操作录制数据包括点击事件描述信息和操作时间信息,所述点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者;并且,所述操作重现模块通过以下方式重现该历史操作:
根据该历史操作对应的操作录制数据中的点击事件描述信息,确定该历史操作所针对的目标页面元素,并在与该历史操作对应的操作时间信息对应的重现时刻,对所述目标页面元素执行点击操作,以重现该历史操作。
第五方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现本公开第一方面或第二方面所述方法的步骤。
第六方面,本公开提供一种电子设备,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现本公开第一方面或第二方面所述方法的步骤。
通过上述技术方案,响应于用户对应用程序执行目标操作,确定目标操作所触发的目标事件,根据目标操作的类型,确定用于描述目标事件的目标描述信息,并根据目标描述信息,生成与目标操作对应的操作录制数据。由此,通过记录用户对应用程序执行操作所触发事件的相关信息,对用户对应用程序执行的操作进行录制,从而,便于在任何时间点基于录制所得的数据对用户操作进行重现。其中,目标操作为预设类型的操作中的一者,预设类型的操作包括点击操作,目标描述信息至少用于指示目标操作的操作时间和操作位置,并且,点击操作对应目标事件的目标描述信息的确定方式为,确定目标操作的操作时间信息和目标事件对应的点击事件描述信息,并将点击事件描述信息和操作时间信息确定为目标事件的目标描述信息,点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者。由此,对于用户对应用程序执行的点击操作,通过该点击操作所触发的目标事件的控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者描述该目标事件,再结合该点击操作的操作时间信息,进一步生成与该点击操作对应的操作录制数据,从而,操作录制数据包含有描述该点击操作的必要信息,有利于完整、准确地重现该点击操作。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
图1是根据本公开的一种实施方式提供的用户操作录制方法的流程图;
图2是本公开提供的用户操作录制方法中应用场景的示例性示意图;
图3是根据本公开的一种实施方式提供的用户操作重现方法的流程图;
图4是本公开提供的用户操作重现方法中应用场景的示例性示意图;
图5是本公开提供的用户操作重现方法中,录制预设指标下的数据的一种示例性的流程图;
图6是根据本公开的一种实施方式提供的用户操作录制装置的框图;
图7是根据本公开的一种实施方式提供的用户操作重现装置的框图;
图8示出了适于用来实现本公开实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限定性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。
同时,可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
图1是根据本公开的一种实施方式提供的用户操作录制方法的流程图。如图1所示,本公开提供的用户操作录制方法可以包括步骤11~步骤13。
在步骤11中,响应于用户对应用程序执行目标操作,确定目标操作所触发的目标事件。
目标操作可以为预设类型的操作中的一者。
其中,预设类型的操作可以包括点击操作。当用户用手指在应用程序界面的某一位置(例如,界面中某一元素)按下又抬起,就可以认为用户执行了一次点击操作。
此外,预设类型的操作还可以包括滑动操作。当用户手指在应用程序界面的某一位置按下不松、再移动后抬起,就可以认为用户执行了一次滑动操作。实际上,滑动操作可以理解为是由连续的多个触摸动作构成的。
可选地,步骤11可以在接收到测试用户发出录制请求后执行,其中,若接收到录制请求,可以认为是获得了测试用户对录制的授权,从而,可以开始录制过程。
通常情况下,用户对于应用程序的操作会触发对应的事件。例如,用户对应用程序界面中的某个对象进行点击,就会产生对应的点击事件(即,click事件)。再例如,用户在应用程序界面上进行滑动操作,就会产生对应的滑动事件。
在步骤12中,根据目标操作的类型,确定用于描述目标事件的目标描述信息。
其中,目标描述信息至少用于指示目标操作的操作时间和操作位置。因此,通过目标描述信息,可以获知目标操作是在何时、何处发生的操作,从而,有利于定位到目标事件的发生时间和发生位置。
在一种可能的实施方式中,若目标操作为点击操作,则点击操作对应目标事件的目标描述信息可以通过以下方式确定:
确定目标操作的操作时间信息和目标事件对应的点击事件描述信息,并将点击事件描述信息和操作时间信息确定为目标事件的目标描述信息。
其中,点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者。
如上文所述,测试用户的点击操作,也就是测试用户针对应用程序页面中某个UI(User Interface,用户界面)元素的点击,会触发与该UI元素相对应的目标事件(即,点击事件)。基于应用程序的代码信息,可以定位被点击的UI元素的路径,从而确定被点击的UI元素的位置,基于此,可以确定点击事件的点击事件描述信息。
示例地,点击事件可以分为UIControl、UIView和cell这三种,点击事件描述信息可以通过控制器链信息、点击位置信息、功能信息(包括对象信息和选择器信息)和内容信息这四者进行定义。点击事件描述信息的生成可以参考下表:
在确定目标事件对应的点击事件描述信息后,可以将点击事件描述信息和目标操作的操作时间信息确定为该目标事件的目标描述信息。并且,每当测试用户进行了点击操作,就按照上述方式记录对应的目标描述信息。
在一种可能的实施方式中,若目标操作为滑动操作,则滑动操作对应目标事件的目标描述信息可以通过以下方式确定:
确定目标事件对应的滑动事件描述信息;
将滑动事件描述信息确定为目标事件的目标描述信息。
其中,滑动事件描述信息可以包括构成目标操作的多个滑动子操作各自对应的描述信息,其中,滑动子操作对应的描述信息包括该滑动子操作的触摸位置、该滑动子操作在目标操作中所处的滑动阶段以及该滑动子操作的时间戳信息。其中,滑动子操作可以认为是构成滑动操作的触摸操作之一。
如上文所述,若测试用户进行了滑动操作,可以触发对应的目标事件(即,滑动事件),而滑动操作实际上可以认为是多个触摸操作连接而形成的动作,因此,记录滑动操作实际上就是记录多个触摸动作(滑动子操作)的轨迹。举例来说,若能获取UIApplication中sendEvent的内容,就可以得到滑动事件,而UIEvent是由一系列的UITouch构成,所以只要记录滑动子操作在屏幕上的触摸位置、滑动子操作在滑动操作中所处的滑动阶段(例如,开始滑动、正在滑动、滑动结束等)、以及滑动子操作发生的时间点(通过滑动子操作的时间戳信息反映),就能够完整描述该滑动事件,也就形成了该滑动事件的滑动事件描述信息。
示例地,滑动阶段的设置可以参考触摸的各个阶段状态,也就是UITouch对象,比如,UITouchPhaseBegan用于记录手指接触屏幕时的相关信息,UITouchPhaseMoved用于记录手指在屏幕上移动时的相关信息。
因此,针对滑动事件,可以按照上文提供的用于描述滑动事件的方式生成滑动事件描述信息,并将滑动事件描述信息确定为目标事件的目标描述信息。并且,每当测试用户进行了滑动操作,就按照上述方式记录对应的操作数据。
可选地,考虑到系统定时器(例如,iOS系统定时器)本身存在误差,可能导致录制滑动操作所记录的滑动停止位置不同于滑动操作的实际停止位置,因此,在上述实施方式的基础上,本公开提供的方法还可以包括以下步骤:
获取目标操作的滑动终止位置;
将滑动终止位置添加到目标事件的目标描述信息中。
其中,滑动终止位置可以理解为滑动操作结束时的触摸位置。
滑动终止位置可以通过记录录制时scrollView停止的位置实现。这样,在后续对录制的操作进行重现时,若因定时器误差导致重现与录制时存在误差,还可以利用滑动终止位置对重现时滑动的最终位置进行修正,以达到与录制时完全一样的效果。
在步骤13中,根据目标描述信息,生成与目标操作对应的操作录制数据。
在得到用于描述目标事件的目标描述信息之后,可以将该目标描述信息确定为与该目标操作对应的操作录制数据。
基于这一方法,每当用户对应用程序执行一次预设类型的操作,就可以按照本公开提供的上述方法生成与该操作对应的操作录制数据,进而,可以对录制期间测试用户的操作进行持续录制。
通过上述技术方案,响应于用户对应用程序执行目标操作,确定目标操作所触发的目标事件,根据目标操作的类型,确定用于描述目标事件的目标描述信息,并根据目标描述信息,生成与目标操作对应的操作录制数据。由此,通过记录用户对应用程序执行操作所触发事件的相关信息,对用户对应用程序执行的操作进行录制,从而,便于在任何时间点基于录制所得的数据对用户操作进行重现。其中,目标操作为预设类型的操作中的一者,预设类型的操作包括点击操作,目标描述信息至少用于指示目标操作的操作时间和操作位置,并且,点击操作对应目标事件的目标描述信息的确定方式为,确定目标操作的操作时间信息和目标事件对应的点击事件描述信息,并将点击事件描述信息和操作时间信息确定为目标事件的目标描述信息,点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者。由此,对于用户对应用程序执行的点击操作,通过该点击操作所触发的目标事件的控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者描述该目标事件,再结合该点击操作的操作时间信息,进一步生成与该点击操作对应的操作录制数据,从而,操作录制数据包含有描述该点击操作的必要信息,有利于完整、准确地重现该点击操作。
此外,在测试期间,除测试用户对应用程序的操作之外,应用程序的初始状态、操作所触发的数据传输等,也对用户操作的复现具有重要意义,因此,在一种可能的实施方式中,除上述步骤11~步骤13外,本公开提供的用户操作录制方法,还可以包括以下步骤:
获取应用程序在录制阶段的起始时刻的配置信息,作为应用程序的本地录制数据;
获取录制阶段内应用程序的网络录制数据;
将本地录制数据、网络录制数据和操作录制数据作为与录制阶段对应的历史操作数据。
在录制阶段的起始时刻(即,上文所述的接收到录制请求的时刻),可以记录应用程序当前的配置信息,作为此次录制的应用程序的本地录制数据。其中,应用程序的配置信息可以包括对应用程序的UI(User Interface,用户界面)存在影响的数据,例如,AB实验的配置信息、NSUserDefaults(通常用于iOS开发中,适合存储轻量级的、不需要加密的本地录制数据)、MMKV(基于mmap的高性能通用key-value组件)等。此外,应用程序的配置信息还可以包括应用程序的设置(Settings)、经纬度信息等。
网络录制数据可以包括应用程序请求回包对应的数据包及各数据包的接收时间。在录制过程中,可以持续地记录应用程序接收的数据包及其接收时间,以形成网络录制数据。
示例地,若应用程序应用于iOS系统,可以通过iOS Hook的方式获取底层网络数据,记录请求回包的数据包,同时记录回包顺序(或者,记录接收时间)。
进而,可以将上述将本地录制数据、网络录制数据和操作录制数据存储为与当前录制阶段对应的历史操作数据,也就是本次录制的历史操作数据。
示例地,本公开提供的用户操作录制方法可以应用于录制引擎,相应地,该录制引擎位于上层业务与底层SDK(Software Development Kit,软件开发工具包)之间,并且,该录制引擎可以包括三个部分,分别用于记录录制阶段内应用程序对应的本地录制数据、网络录制数据和操作录制数据,进而,根据这三者形成历史操作数据,如图2所示。
图3是根据本公开的一种实施方式提供的用户操作重现方法的流程图。如图3所示,本公开提供的用户操作重现方法可以包括步骤31和步骤32。
在步骤31中,响应于针对历史操作数据的重现请求,对历史操作数据进行解析,得到解析结果。
在步骤32中,针对每一历史操作,根据与历史操作相关的操作时间,在与历史操作相关的操作位置处执行该历史操作,以重现用户对应用程序执行过的历史操作。
历史操作数据所包含的内容可以参考前文有关历史操作数据的相关描述,此处不赘述。相应地,对历史操作数据的解析结果可以包括针对用户对应用程序的历史操作进行录制而生成的操作录制数据。
其中,每一操作录制数据至少用于指示与用户的历史操作相关的操作时间和操作位置。用户的历史操作也就是前文所述的在录制阶段测试用户曾对应用程序执行过的目标操作。因此,历史操作可以包括点击操作,也可以包括滑动操作。
对于用户操作的重现,可以理解为根据录制的历史操作数据中各事件的时间点,用定时器去模拟用户的历史操作,并消费与该历史操作对应的本地、网络mock数据(用于模拟真实接口,虚拟业务场景,有助于前、后台同时开发的虚拟、虚假数据)和其他数据。
在一种可能的实施方式中,若历史操作为点击操作,则如上文所述,点击操作对应的操作录制数据可以包括点击事件描述信息和操作时间信息,点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者,相应地,可以通过以下方式重现该历史操作:
根据该历史操作对应的操作录制数据中的点击事件描述信息,确定该历史操作所针对的目标页面元素,并在与该历史操作对应的操作时间信息对应的重现时刻,对目标页面元素执行点击操作,以重现该历史操作。
示例地,可以根据下表确定点击操作所针对的目标页面元素:
在确定目标页面元素后,可以在到达点击操作对应的操作时间信息所指示的时间时,对目标页面元素执行点击操作,以重现该点击操作。其中,对目标页面元素执行点击操作,可以通过代码强制执行点击操作实现。
在另一种可能的实施方式中,若历史操作为滑动操作,如上文所述,滑动操作对应的操作录制数据可以包括滑动事件描述信息,滑动事件描述信息包括构成该历史操作的多个滑动子操作各自对应的描述信息,其中,滑动子操作对应的描述信息包括该滑动子操作的触摸位置、该滑动子操作在该历史操作中所处的滑动阶段以及该滑动子操作的时间戳信息,相应地,可以通过以下方式重现该历史操作:
根据历史操作对应的操作录制数据中的滑动事件描述信息,确定构成历史操作的多个滑动子操作各自的触摸位置、滑动阶段和时间戳信息;
按照滑动阶段从前到后、且时间戳信息所指示的时间从早到晚的顺序依次执行滑动子操作,以重现该历史操作。
如上文所述,录制阶段记录了滑动操作的滑动事件描述信息,对滑动操作的重现可以理解为录制的逆向操作,因此,需要根据与滑动操作对应的操作录制数据构建UITouch,UITouch中包含私有API(Application Programming Interface,应用程序接口),可以通过录制阶段记录的滑动事件描述信息和私有API,构建出该滑动事件描述信息对应的滑动事件,基于UITouch实例进一步构造UIEvent,最后调用UIApplication的sendEvent,实现滑动操作的重现。
如前文所述,滑动操作对应的操作录制数据还可以包括该历史操作的滑动终止位置,相应地,本公开提供的用户操作重现方法,还可以包括以下步骤:
若识别到处于时间末尾的滑动子操作所对应的触摸位置不同于滑动终止位置,将历史操作中处于时间末尾的滑动子操作的触摸位置修正为滑动终止位置。
也就是说,若识别到处于时间末尾的滑动子操作所对应的触摸位置不同于滑动终止位置,说明系统定时器(例如,iOS系统定时器)在重现过程中的误差导致了重现滑动的终止位置不同于录制时实际滑动的终止位置,因此,为了准确呈现录制时滑动操作的终止位置,可以将处于时间末尾的滑动子操作所对应的触摸位置修正为已记录的滑动终止位置。
通过这一方式,在因定时器误差导致重现与录制存在误差的情况下,可以利用录制时记录的滑动终止位置对重现过程中滑动的最终位置进行修正,以达到与录制时完全一样的效果,进而准确重现该滑动操作。
除操作录制数据外,历史操作数据还可以包括本地录制数据和网络录制数据,相应地,解析结果还可以包括本地录制数据和网络录制数据。如上文所述,本地录制数据可以为应用程序在录制时段的起始时刻的配置信息,网络录制数据可以为录制时段内应用程序请求回包对应的数据包及各数据包的接收时间。相应地,本公开提供的用户操作重现方法,还可以包括以下步骤:
在重现阶段的起始时刻,根据本地录制数据,将应用程序的配置信息还原为本地录制数据所指示的配置信息;
在重现阶段内,根据网络录制数据所包括的数据包及各数据包的接收时间,在到达每一接收时间时,向应用程序返回与接收时间对应的数据包。
通过本地录制数据,可以将应用程序的配置信息还原为该次录制初始时所记录的配置信息,以还原录制初期应用程序的状态。
此外,还可以将历史操作重现前(即,进入重现阶段前)应用程序的配置信息进行存储,以便在重现完毕后还原应用程序的配置。
示例地,本公开提供的用户操作重现方法可以应用于回放引擎,相应地,该回放引擎对接上层业务,并且,该回放引擎可以包括三个部分,分别为用于解析操作录制数据中操作指令(即,历史操作所指示的操作指令,例如,点击、滑动)的指令解析器、用于重现录制时段内数据包的网络录制数据播放器和用于重现应用程序在录制时段的起始时刻的配置信息的本地录制数据播放器,进而,根据本地录制数据、网络录制数据、操作录制数据这三者形成重现录制阶段应用程序的表现,如图4所示。
通过上述技术方案,响应于针对历史操作数据的重现请求,对历史操作数据进行解析,得到解析结果,解析结果包括针对用户对应用程序的历史操作进行录制而生成的操作录制数据,并且,针对每一历史操作,根据与历史操作相关的操作时间,在与历史操作相关的操作位置处执行该历史操作,以重现用户对应用程序执行过的历史操作。其中,点击操作对应的操作录制数据包括点击事件描述信息和操作时间信息,点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者,从而,根据该历史操作对应的操作录制数据中的点击事件描述信息,确定该历史操作所针对的目标页面元素,并在与该历史操作对应的操作时间信息对应的重现时刻,对目标页面元素执行点击操作,以重现该历史操作。由此,通过对历史操作数据解析,解析出录制过程中的操作录制数据,以完整重现用户在录制阶段在应用程序执行过的操作。这样,基于录制生成的历史操作数据,能够在任何时间点,完整地重现用户在该录制期间所执行的操作以及应用程序的对应表现,进而有利于对用户操作所引起的问题进行定位。
可选地,本公开提供的用户操作重现方法,还可以包括以下步骤:
响应于针对应用程序的至少两种配置信息的对比指令,获取待对比的目标配置信息;
针对每一目标配置信息,根据目标配置信息,更新本地录制数据,并利用更新后的本地录制数据、网络录制数据和操作录制数据,对应用程序进行历史操作重现,并在重现过程中收集应用程序对应于预设指标的数据;
根据针对每一目标配置信息所收集的预设指标的数据,对各个目标配置信息进行比较。
也就是说,若存在多种需要对比的目标配置信息,可以利用每一目标配置信息对操作录制数据的解析结果中的本地录制数据进行更新,并利用更新后的本地录制数据分别进行历史操作重现,以模拟相同的测试用户操作在不同版本的应用程序各自的表现,从而,仅需对目标配置信息进行更改,即可实现对比,无需编写测试脚本,节省人力。
示例地,预设指标可以包括但不限于FPS(Frames Per Second,每秒传输帧数)、CPU(Central Processing Unit,中央处理器)相关指标(例如,CPU利用率)、GPU(GraphicsProcessing Unit,图形处理器)相关指标(例如,GPU利用率)、Memory相关指标(例如,可用内存)等。上述步骤可以应用于AB实验中,以对AB实验所针对的各个版本进行比较。
举例来说,假设预设指标包括CPU相关指标和GPU相关指标,且核心指标分别为CPU利用率和GPU利用率,则对于用户的历史操作重现过程中预设指标下数据的录制可以参考图5所示的流程图,在图5所示的流程图中,存储核心数据实际上就是存储回放过程中录制的CPU利用率和GPU利用率,用于基于不同历史重现过程中所收集的CPU利用率和GPU利用率对应用程序的不同版本性能进行比较。
其中,可以将针对不同目标配置信息进行历史操作重现过程中所收集到的预设指标的数据分别通过图表进行展示(例如,通过不同的颜色区别展示),以将各自的表现可视化,有利于比较,进而,基于可视化图表,可以对二者的表现进行比较,从而确定表现较好的应用程序版本。
图6是根据本公开的一种实施方式提供的用户操作录制装置的框图。如图6所示,所述装置60包括:
第一确定模块61,用于响应于用户对应用程序执行目标操作,确定所述目标操作所触发的目标事件,所述目标操作为预设类型的操作中的一者,所述预设类型的操作包括点击操作;
第二确定模块62,用于根据所述目标操作的类型,确定用于描述所述目标事件的目标描述信息,所述目标描述信息至少用于指示所述目标操作的操作时间和操作位置;
生成模块63,用于根据所述目标描述信息,生成与所述目标操作对应的操作录制数据;
其中,所述第二确定模块62用于通过以下子模块确定所述点击操作对应目标事件的目标描述信息:
第一确定子模块,用于确定所述目标操作的操作时间信息和所述目标事件对应的点击事件描述信息,并将所述点击事件描述信息和所述操作时间信息确定为所述目标事件的目标描述信息,所述点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者。
可选地,所述预设类型的操作包括滑动操作,所述第二确定模块62用于通过以下子模块确定所述滑动操作对应目标事件的目标描述信息:
第二确定子模块,用于确定所述目标事件对应的滑动事件描述信息,所述滑动事件描述信息包括构成所述目标操作的多个滑动子操作各自对应的描述信息,其中,滑动子操作对应的描述信息包括该滑动子操作的触摸位置、该滑动子操作在所述目标操作中所处的滑动阶段以及该滑动子操作的时间戳信息;
第三确定子模块,用于将所述滑动事件描述信息确定为所述目标事件的目标描述信息。
可选地,所述第二确定模块62还用于通过以下子模块确定所述滑动操作对应目标事件的目标描述信息:
获取子模块,用于获取所述目标操作的滑动终止位置;
添加子模块,用于将所述滑动终止位置添加到所述目标事件的目标描述信息中。
可选地,所述装置60还包括:
第一获取模块,用于获取所述应用程序在录制阶段的起始时刻的配置信息,作为所述应用程序的本地录制数据;
第二获取模块,用于获取录制阶段内所述应用程序的网络录制数据,所述网络录制数据包括所述应用程序请求回包对应的数据包及各数据包的接收时间;
第三确定模块,用于将所述本地录制数据、所述网络录制数据和所述操作录制数据作为与所述录制阶段对应的历史操作数据。
图7是根据本公开的一种实施方式提供的用户操作重现装置的框图。如图7所示,所述装置70包括:
解析模块71,用于响应于针对历史操作数据的重现请求,对所述历史操作数据进行解析,得到解析结果,所述解析结果包括针对用户对应用程序的历史操作进行录制而生成的操作录制数据,其中,每一所述操作录制数据至少用于指示与用户的历史操作相关的操作时间和操作位置,所述历史操作包括点击操作;
操作重现模块72,用于针对每一所述历史操作,根据与所述历史操作相关的操作时间,在与所述历史操作相关的操作位置处执行该历史操作,以重现用户对所述应用程序执行过的历史操作;
其中,所述点击操作对应的操作录制数据包括点击事件描述信息和操作时间信息,所述点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者;并且,所述操作重现模块72通过以下方式重现该历史操作:
根据该历史操作对应的操作录制数据中的点击事件描述信息,确定该历史操作所针对的目标页面元素,并在与该历史操作对应的操作时间信息对应的重现时刻,对所述目标页面元素执行点击操作,以重现该历史操作。
可选地,所述历史操作包括滑动操作,所述滑动操作对应的操作录制数据包括滑动事件描述信息,所述滑动事件描述信息包括构成该历史操作的多个滑动子操作各自对应的描述信息,其中,滑动子操作对应的描述信息包括该滑动子操作的触摸位置、该滑动子操作在该历史操作中所处的滑动阶段以及该滑动子操作的时间戳信息;并且,所述操作重现模块72通过以下方式重现该历史操作:
根据所述历史操作对应的操作录制数据中的滑动事件描述信息,确定构成所述历史操作的多个滑动子操作各自的触摸位置、滑动阶段和时间戳信息;
按照滑动阶段从前到后、且时间戳信息所指示的时间从早到晚的顺序依次执行所述滑动子操作,以重现该历史操作。
可选地,所述滑动操作对应的操作录制数据还包括该历史操作的滑动终止位置;
所述装置70还包括:
位置修正模块,用于若识别到处于时间末尾的滑动子操作所对应的触摸位置不同于所述滑动终止位置,将所述历史操作中处于时间末尾的滑动子操作的触摸位置修正为所述滑动终止位置。
可选地,所述解析结果还包括本地录制数据和网络录制数据,所述本地录制数据为所述应用程序在录制时段的起始时刻的配置信息,所述网络录制数据为所述录制时段内所述应用程序请求回包对应的数据包及各数据包的接收时间;
所述装置70还包括:
还原模块,用于在重现阶段的起始时刻,根据所述本地录制数据,将所述应用程序的配置信息还原为所述本地录制数据所指示的配置信息;
数据包传输模块,用于在所述重现阶段内,根据所述网络录制数据所包括的数据包及各数据包的接收时间,在到达每一所述接收时间时,向所述应用程序返回与所述接收时间对应的数据包。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
下面参考图8,其示出了适于用来实现本公开实施例的电子设备600的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端可以利用诸如HTTP(HyperText Transfer Protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
响应于用户对应用程序执行目标操作,确定所述目标操作所触发的目标事件,所述目标操作为预设类型的操作中的一者,所述预设类型的操作包括点击操作;根据所述目标操作的类型,确定用于描述所述目标事件的目标描述信息,所述目标描述信息至少用于指示所述目标操作的操作时间和操作位置;根据所述目标描述信息,生成与所述目标操作对应的操作录制数据;其中,所述点击操作对应目标事件的目标描述信息通过以下方式确定:确定所述目标操作的操作时间信息和所述目标事件对应的点击事件描述信息,并将所述点击事件描述信息和所述操作时间信息确定为所述目标事件的目标描述信息,所述点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
响应于针对历史操作数据的重现请求,对所述历史操作数据进行解析,得到解析结果,所述解析结果包括针对用户对应用程序的历史操作进行录制而生成的操作录制数据,其中,每一所述操作录制数据至少用于指示与用户的历史操作相关的操作时间和操作位置,所述历史操作包括点击操作;针对每一所述历史操作,根据与所述历史操作相关的操作时间,在与所述历史操作相关的操作位置处执行该历史操作,以重现用户对所述应用程序执行过的历史操作;其中,所述点击操作对应的操作录制数据包括点击事件描述信息和操作时间信息,所述点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者;并且,通过以下方式重现该历史操作:根据该历史操作对应的操作录制数据中的点击事件描述信息,确定该历史操作所针对的目标页面元素,并在与该历史操作对应的操作时间信息对应的重现时刻,对所述目标页面元素执行点击操作,以重现该历史操作。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,第一确定模块还可以被描述为“响应于用户对应用程序执行目标操作,确定所述目标操作所触发的目标事件的模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,提供了一种用户操作录制方法,所述方法包括:
响应于用户对应用程序执行目标操作,确定所述目标操作所触发的目标事件,所述目标操作为预设类型的操作中的一者,所述预设类型的操作包括点击操作;
根据所述目标操作的类型,确定用于描述所述目标事件的目标描述信息,所述目标描述信息至少用于指示所述目标操作的操作时间和操作位置;
根据所述目标描述信息,生成与所述目标操作对应的操作录制数据;
其中,所述点击操作对应目标事件的目标描述信息通过以下方式确定:
确定所述目标操作的操作时间信息和所述目标事件对应的点击事件描述信息,并将所述点击事件描述信息和所述操作时间信息确定为所述目标事件的目标描述信息,所述点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者。
根据本公开的一个或多个实施例,提供了一种用户操作录制方法,所述预设类型的操作包括滑动操作,所述滑动操作对应目标事件的目标描述信息通过以下方式确定:
确定所述目标事件对应的滑动事件描述信息,所述滑动事件描述信息包括构成所述目标操作的多个滑动子操作各自对应的描述信息,其中,滑动子操作对应的描述信息包括该滑动子操作的触摸位置、该滑动子操作在所述目标操作中所处的滑动阶段以及该滑动子操作的时间戳信息;
将所述滑动事件描述信息确定为所述目标事件的目标描述信息。
根据本公开的一个或多个实施例,提供了一种用户操作录制方法,所述方法还包括:
获取所述目标操作的滑动终止位置;
将所述滑动终止位置添加到所述目标事件的目标描述信息中。
根据本公开的一个或多个实施例,提供了一种用户操作录制方法,所述方法还包括:
获取所述应用程序在录制阶段的起始时刻的配置信息,作为所述应用程序的本地录制数据;
获取录制阶段内所述应用程序的网络录制数据,所述网络录制数据包括所述应用程序请求回包对应的数据包及各数据包的接收时间;
将所述本地录制数据、所述网络录制数据和所述操作录制数据作为与所述录制阶段对应的历史操作数据。
根据本公开的一个或多个实施例,提供了一种用户操作重现方法,所述方法包括:
响应于针对历史操作数据的重现请求,对所述历史操作数据进行解析,得到解析结果,所述解析结果包括针对用户对应用程序的历史操作进行录制而生成的操作录制数据,其中,每一所述操作录制数据至少用于指示与用户的历史操作相关的操作时间和操作位置,所述历史操作包括点击操作;
针对每一所述历史操作,根据与所述历史操作相关的操作时间,在与所述历史操作相关的操作位置处执行该历史操作,以重现用户对所述应用程序执行过的历史操作;
其中,所述点击操作对应的操作录制数据包括点击事件描述信息和操作时间信息,所述点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者;并且,通过以下方式重现该历史操作:
根据该历史操作对应的操作录制数据中的点击事件描述信息,确定该历史操作所针对的目标页面元素,并在与该历史操作对应的操作时间信息对应的重现时刻,对所述目标页面元素执行点击操作,以重现该历史操作。
根据本公开的一个或多个实施例,提供了一种用户操作重现方法,所述历史操作包括滑动操作,所述滑动操作对应的操作录制数据包括滑动事件描述信息,所述滑动事件描述信息包括构成该历史操作的多个滑动子操作各自对应的描述信息,其中,滑动子操作对应的描述信息包括该滑动子操作的触摸位置、该滑动子操作在该历史操作中所处的滑动阶段以及该滑动子操作的时间戳信息;并且,通过以下方式重现该历史操作:
根据所述历史操作对应的操作录制数据中的滑动事件描述信息,确定构成所述历史操作的多个滑动子操作各自的触摸位置、滑动阶段和时间戳信息;
按照滑动阶段从前到后、且时间戳信息所指示的时间从早到晚的顺序依次执行所述滑动子操作,以重现该历史操作。
根据本公开的一个或多个实施例,提供了一种用户操作重现方法,所述滑动操作对应的操作录制数据还包括该历史操作的滑动终止位置;
所述方法还包括:
若识别到处于时间末尾的滑动子操作所对应的触摸位置不同于所述滑动终止位置,将所述历史操作中处于时间末尾的滑动子操作的触摸位置修正为所述滑动终止位置。
根据本公开的一个或多个实施例,提供了一种用户操作重现方法,所述解析结果还包括本地录制数据和网络录制数据,所述本地录制数据为所述应用程序在录制时段的起始时刻的配置信息,所述网络录制数据为所述录制时段内所述应用程序请求回包对应的数据包及各数据包的接收时间;
所述方法还包括:
在重现阶段的起始时刻,根据所述本地录制数据,将所述应用程序的配置信息还原为所述本地录制数据所指示的配置信息;
在所述重现阶段内,根据所述网络录制数据所包括的数据包及各数据包的接收时间,在到达每一所述接收时间时,向所述应用程序返回与所述接收时间对应的数据包。
根据本公开的一个或多个实施例,提供了一种用户操作录制装置,所述装置包括:
第一确定模块,用于响应于用户对应用程序执行目标操作,确定所述目标操作所触发的目标事件,所述目标操作为预设类型的操作中的一者,所述预设类型的操作包括点击操作;
第二确定模块,用于根据所述目标操作的类型,确定用于描述所述目标事件的目标描述信息,所述目标描述信息至少用于指示所述目标操作的操作时间和操作位置;
生成模块,用于根据所述目标描述信息,生成与所述目标操作对应的操作录制数据;
其中,所述第二确定模块用于通过以下子模块确定所述点击操作对应目标事件的目标描述信息:
第一确定子模块,用于确定所述目标操作的操作时间信息和所述目标事件对应的点击事件描述信息,并将所述点击事件描述信息和所述操作时间信息确定为所述目标事件的目标描述信息,所述点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者。
根据本公开的一个或多个实施例,提供了一种用户操作重现装置,所述装置包括:
解析模块,用于响应于针对历史操作数据的重现请求,对所述历史操作数据进行解析,得到解析结果,所述解析结果包括针对用户对应用程序的历史操作进行录制而生成的操作录制数据,其中,每一所述操作录制数据至少用于指示与用户的历史操作相关的操作时间和操作位置,所述历史操作包括点击操作;
操作重现模块,用于针对每一所述历史操作,根据与所述历史操作相关的操作时间,在与所述历史操作相关的操作位置处执行该历史操作,以重现用户对所述应用程序执行过的历史操作;
其中,所述点击操作对应的操作录制数据包括点击事件描述信息和操作时间信息,所述点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者;并且,所述操作重现模块通过以下方式重现该历史操作:
根据该历史操作对应的操作录制数据中的点击事件描述信息,确定该历史操作所针对的目标页面元素,并在与该历史操作对应的操作时间信息对应的重现时刻,对所述目标页面元素执行点击操作,以重现该历史操作。
根据本公开的一个或多个实施例,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现本公开任意实施例所述的用户操作录制方法或用户操作重现方法的步骤。
根据本公开的一个或多个实施例,提供了一种电子设备,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现本公开任意实施例所述的用户操作录制方法或用户操作重现方法的步骤。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
Claims (12)
1.一种用户操作录制方法,其特征在于,所述方法包括:
响应于用户对应用程序执行目标操作,确定所述目标操作所触发的目标事件,所述目标操作为预设类型的操作中的一者,所述预设类型的操作包括点击操作;
根据所述目标操作的类型,确定用于描述所述目标事件的目标描述信息,所述目标描述信息至少用于指示所述目标操作的操作时间和操作位置;
根据所述目标描述信息,生成与所述目标操作对应的操作录制数据;
其中,所述点击操作对应目标事件的目标描述信息通过以下方式确定:
确定所述目标操作的操作时间信息和所述目标事件对应的点击事件描述信息,并将所述点击事件描述信息和所述操作时间信息确定为所述目标事件的目标描述信息,所述点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者。
2.根据权利要求1所述的方法,其特征在于,所述预设类型的操作包括滑动操作,所述滑动操作对应目标事件的目标描述信息通过以下方式确定:
确定所述目标事件对应的滑动事件描述信息,所述滑动事件描述信息包括构成所述目标操作的多个滑动子操作各自对应的描述信息,其中,滑动子操作对应的描述信息包括该滑动子操作的触摸位置、该滑动子操作在所述目标操作中所处的滑动阶段以及该滑动子操作的时间戳信息;
将所述滑动事件描述信息确定为所述目标事件的目标描述信息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取所述目标操作的滑动终止位置;
将所述滑动终止位置添加到所述目标事件的目标描述信息中。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
获取所述应用程序在录制阶段的起始时刻的配置信息,作为所述应用程序的本地录制数据;
获取录制阶段内所述应用程序的网络录制数据,所述网络录制数据包括所述应用程序请求回包对应的数据包及各数据包的接收时间;
将所述本地录制数据、所述网络录制数据和所述操作录制数据作为与所述录制阶段对应的历史操作数据。
5.一种用户操作重现方法,其特征在于,所述方法包括:
响应于针对历史操作数据的重现请求,对所述历史操作数据进行解析,得到解析结果,所述解析结果包括针对用户对应用程序的历史操作进行录制而生成的操作录制数据,其中,每一所述操作录制数据至少用于指示与用户的历史操作相关的操作时间和操作位置,所述历史操作包括点击操作;
针对每一所述历史操作,根据与所述历史操作相关的操作时间,在与所述历史操作相关的操作位置处执行该历史操作,以重现用户对所述应用程序执行过的历史操作;
其中,所述点击操作对应的操作录制数据包括点击事件描述信息和操作时间信息,所述点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者;并且,通过以下方式重现该历史操作:
根据该历史操作对应的操作录制数据中的点击事件描述信息,确定该历史操作所针对的目标页面元素,并在与该历史操作对应的操作时间信息对应的重现时刻,对所述目标页面元素执行点击操作,以重现该历史操作。
6.根据权利要求5所述的方法,其特征在于,所述历史操作包括滑动操作,所述滑动操作对应的操作录制数据包括滑动事件描述信息,所述滑动事件描述信息包括构成该历史操作的多个滑动子操作各自对应的描述信息,其中,滑动子操作对应的描述信息包括该滑动子操作的触摸位置、该滑动子操作在该历史操作中所处的滑动阶段以及该滑动子操作的时间戳信息;并且,通过以下方式重现该历史操作:
根据所述历史操作对应的操作录制数据中的滑动事件描述信息,确定构成所述历史操作的多个滑动子操作各自的触摸位置、滑动阶段和时间戳信息;
按照滑动阶段从前到后、且时间戳信息所指示的时间从早到晚的顺序依次执行所述滑动子操作,以重现该历史操作。
7.根据权利要求6所述的方法,其特征在于,所述滑动操作对应的操作录制数据还包括该历史操作的滑动终止位置;
所述方法还包括:
若识别到处于时间末尾的滑动子操作所对应的触摸位置不同于所述滑动终止位置,将所述历史操作中处于时间末尾的滑动子操作的触摸位置修正为所述滑动终止位置。
8.根据权利要求5-7中任一项所述的方法,其特征在于,所述解析结果还包括本地录制数据和网络录制数据,所述本地录制数据为所述应用程序在录制时段的起始时刻的配置信息,所述网络录制数据为所述录制时段内所述应用程序请求回包对应的数据包及各数据包的接收时间;
所述方法还包括:
在重现阶段的起始时刻,根据所述本地录制数据,将所述应用程序的配置信息还原为所述本地录制数据所指示的配置信息;
在所述重现阶段内,根据所述网络录制数据所包括的数据包及各数据包的接收时间,在到达每一所述接收时间时,向所述应用程序返回与所述接收时间对应的数据包。
9.一种用户操作录制装置,其特征在于,所述装置包括:
第一确定模块,用于响应于用户对应用程序执行目标操作,确定所述目标操作所触发的目标事件,所述目标操作为预设类型的操作中的一者,所述预设类型的操作包括点击操作;
第二确定模块,用于根据所述目标操作的类型,确定用于描述所述目标事件的目标描述信息,所述目标描述信息至少用于指示所述目标操作的操作时间和操作位置;
生成模块,用于根据所述目标描述信息,生成与所述目标操作对应的操作录制数据;
其中,所述第二确定模块用于通过以下子模块确定所述点击操作对应目标事件的目标描述信息:
第一确定子模块,用于确定所述目标操作的操作时间信息和所述目标事件对应的点击事件描述信息,并将所述点击事件描述信息和所述操作时间信息确定为所述目标事件的目标描述信息,所述点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者。
10.一种用户操作重现装置,其特征在于,所述装置包括:
解析模块,用于响应于针对历史操作数据的重现请求,对所述历史操作数据进行解析,得到解析结果,所述解析结果包括针对用户对应用程序的历史操作进行录制而生成的操作录制数据,其中,每一所述操作录制数据至少用于指示与用户的历史操作相关的操作时间和操作位置,所述历史操作包括点击操作;
操作重现模块,用于针对每一所述历史操作,根据与所述历史操作相关的操作时间,在与所述历史操作相关的操作位置处执行该历史操作,以重现用户对所述应用程序执行过的历史操作;
其中,所述点击操作对应的操作录制数据包括点击事件描述信息和操作时间信息,所述点击事件描述信息包括控制器链信息、点击位置信息、对象信息、选择器信息和内容信息中的至少一者;并且,所述操作重现模块通过以下方式重现该历史操作:
根据该历史操作对应的操作录制数据中的点击事件描述信息,确定该历史操作所针对的目标页面元素,并在与该历史操作对应的操作时间信息对应的重现时刻,对所述目标页面元素执行点击操作,以重现该历史操作。
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现权利要求1-8中任一项所述方法的步骤。
12.一种电子设备,其特征在于,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现权利要求1-8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210465688.5A CN114860559A (zh) | 2022-04-25 | 2022-04-25 | 用户操作录制方法、重现方法、装置、可读介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210465688.5A CN114860559A (zh) | 2022-04-25 | 2022-04-25 | 用户操作录制方法、重现方法、装置、可读介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114860559A true CN114860559A (zh) | 2022-08-05 |
Family
ID=82635816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210465688.5A Pending CN114860559A (zh) | 2022-04-25 | 2022-04-25 | 用户操作录制方法、重现方法、装置、可读介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114860559A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115202798A (zh) * | 2022-09-14 | 2022-10-18 | 北京达佳互联信息技术有限公司 | 操作重现方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110855655A (zh) * | 2019-11-06 | 2020-02-28 | 北京字节跳动网络技术有限公司 | 一种信息验证方法、装置、设备和存储介质 |
CN112015626A (zh) * | 2020-08-26 | 2020-12-01 | 支付宝(杭州)信息技术有限公司 | 用户行为的记录方法、装置及设备 |
CN112817866A (zh) * | 2021-02-25 | 2021-05-18 | 北京百家科技集团有限公司 | 录制回放方法、装置、系统、计算机设备以及存储介质 |
US20210304015A1 (en) * | 2020-03-31 | 2021-09-30 | Nec Corporation | Method, device, and computer readable storage media for data analysis |
-
2022
- 2022-04-25 CN CN202210465688.5A patent/CN114860559A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110855655A (zh) * | 2019-11-06 | 2020-02-28 | 北京字节跳动网络技术有限公司 | 一种信息验证方法、装置、设备和存储介质 |
US20210304015A1 (en) * | 2020-03-31 | 2021-09-30 | Nec Corporation | Method, device, and computer readable storage media for data analysis |
CN112015626A (zh) * | 2020-08-26 | 2020-12-01 | 支付宝(杭州)信息技术有限公司 | 用户行为的记录方法、装置及设备 |
CN112817866A (zh) * | 2021-02-25 | 2021-05-18 | 北京百家科技集团有限公司 | 录制回放方法、装置、系统、计算机设备以及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115202798A (zh) * | 2022-09-14 | 2022-10-18 | 北京达佳互联信息技术有限公司 | 操作重现方法、装置、电子设备和存储介质 |
CN115202798B (zh) * | 2022-09-14 | 2023-02-17 | 北京达佳互联信息技术有限公司 | 操作重现方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111897740B (zh) | 用户界面的测试方法、装置、电子设备及计算机可读介质 | |
CN111400625B (zh) | 页面处理方法、装置、电子设备及计算机可读存储介质 | |
CN109446025B (zh) | 一种操作行为的回放方法、装置、电子设备及可读介质 | |
CN110177300B (zh) | 程序运行状态的监控方法、装置、电子设备和存储介质 | |
CN111273986A (zh) | 应用程序的页面跳转方法、装置、电子设备及存储介质 | |
CN111290819B (zh) | 显示操作提示的方法、装置和电子设备 | |
CN111694757B (zh) | 应用程序的测试方法、装置、电子设备及计算机可读存储介质 | |
WO2023030224A1 (zh) | 一种信息展示方法、装置、电子设备和存储介质 | |
CN111163336B (zh) | 视频资源推送方法、装置、电子设备及计算机可读介质 | |
CN114860559A (zh) | 用户操作录制方法、重现方法、装置、可读介质及设备 | |
CN109492163B (zh) | 一种列表展示的记录方法、装置、终端设备及存储介质 | |
CN110908921A (zh) | 一种游戏问题定位方法、装置、电子设备及存储介质 | |
CN112256372B (zh) | 信息处理方法、装置和电子设备 | |
CN111552620B (zh) | 数据获取方法、装置、终端及存储介质 | |
CN112905281A (zh) | 视图显示方法、装置、电子设备及存储介质 | |
CN112306826A (zh) | 用于终端的处理信息的方法和装置 | |
CN114510305B (zh) | 模型训练方法、装置、存储介质及电子设备 | |
US20230214237A1 (en) | Method and apparatus for processing listening resuming of music application, and device | |
CN114116480A (zh) | 应用程序测试覆盖率的确定方法、装置、介质及设备 | |
CN112363885B (zh) | 检测应用异常的方法、装置、电子设备及计算机可读介质 | |
WO2020143556A1 (zh) | 用于展示页面的方法和装置 | |
CN115134254A (zh) | 一种网络模拟方法、装置、设备及存储介质 | |
CN116418711A (zh) | 服务网关的测试方法、设备、存储介质及产品 | |
CN113177176A (zh) | 特征构建方法、内容显示方法及相关装置 | |
CN109614137B (zh) | 软件版本控制方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |