CN116431485A - 一种用户行为回放方法、装置及电子设备 - Google Patents
一种用户行为回放方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116431485A CN116431485A CN202310327674.1A CN202310327674A CN116431485A CN 116431485 A CN116431485 A CN 116431485A CN 202310327674 A CN202310327674 A CN 202310327674A CN 116431485 A CN116431485 A CN 116431485A
- Authority
- CN
- China
- Prior art keywords
- target
- user
- user behavior
- identification information
- event
- 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 65
- 230000006399 behavior Effects 0.000 claims abstract description 175
- 230000001960 triggered effect Effects 0.000 claims abstract description 41
- 230000008859 change Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 abstract description 20
- 238000005516 engineering process Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 13
- 238000004590 computer program Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 239000010410 layer Substances 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000002346 layers by function Substances 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 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/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- 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/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例提供了一种用户行为回放方法、装置及电子设备,其中,该用户行为回放方法包括:通过获取用户行为数据,基于行为数据中的用户行为的类型标识信息,确定出用户在历史时间段使用目标项目过程中触发的目标事件类型,以及对应的页面元素,然后根据用户的行为数据的产生时刻顺序,依次在目标项目显示界面上,按照目标事件类型依次触发对应的目标页面元素。选用本申请实施例,无需具备专业的数据库知识,便可直观地通过目标项目显示界面,重现用户在历史时间段内使用该目标项目过程中产生的行为以及触发的页面元素,有利于后期基于用户行为数据实现的项目的推进。
Description
技术领域
本申请涉及网络技术领域,尤其涉及一种用户行为回放方法、装置及电子设备。
背景技术
在网络技术领域中,通过开发应用程序、浏览器、网站等前端项目,向用户提供直观的互联网服务,用户通过点击、键盘输入、浏览等一系列的行为,触发对应的事件,改变前端项目所展示的内容,以获取所需的服务。
但是,由于用户所产生的行为数据通常是以数据表或者日志的形式存储在后端数据库中的,这导致非专业人员在不具备数据库知识的情况下,是无法知晓用户在历史时间段内使用目标前端项目过程中,具体产生了哪些行为,不利于后期基于用户行为数据实现的项目的推进。
发明内容
有鉴于此,本申请实施例提供了一种用户行为回放方法、装置及电子设备,以实现可视化回放用户使用前端项目过程中产生的行为。具体技术方案如下:
第一方面,本申请实施例提供了一种用户行为回放方法,其中,所述方法包括:
获取用户历史时间段内使用目标项目的行为数据,各个所述行为数据包括:用户行为的类型标识信息、用户行为的产生时刻;
确定各所述用户行为的类型标识信息对应的目标事件类型、目标页面元素;
基于各个所述用户行为的产生时刻顺序,在所述目标项目显示界面上,按照所述目标事件类型依次触发所述目标页面元素。
结合第一方面,在第二种可能的实施例中,所述用户行为的类型标识信息包括:第一标识信息字段,所述第一标识信息字段用于表征所述用户触发的事件类型,所述确定各所述用户行为的类型标识信息对应的目标事件类型包括:
基于各所述第一标识信息字段,确定所述目标事件类型。
结合第一方面,在第三种可能的实施例中,所述用户行为的类型标识信息包括:第二标识信息字段,所述第二标识信息字段与所述目标项目显示界面上的页面元素之间存在预设对应关系,所述确定所述用户行为的类型标识信息对应目标页面元素包括:
根据所述预设对应关系,确定所述用户行为的类型对应的页面元素为目标页面元素。
结合第一方面,在第四种可能的实施例中,所述目标项目中包括预设辅助事件触发套件,所述预设辅助事件触发套件独立于所述目标项目的原始事件触发套件,所述事件触发套件用于基于所述目标事件类型改变所述目标页面元素的状态,所述在所述目标项目显示界面上,按照所述目标事件类型依次触发所述目标页面元素包括:
利用所述预设辅助事件触发套件,按照所述目标事件类型依次改变所述目标页面元素的状态。
第二方面,本申请实施例提供了一种用户行为回放装置,其中,所述装置包括:
获取模块,用于获取用户历史时间段内使用目标项目的行为数据,各个所述行为数据包括:用户行为的类型标识信息、用户行为的产生时刻;
确定模块,用于确定各所述用户行为的类型标识信息对应的目标事件类型、目标页面元素;
事件触发模块,用于基于各个所述用户行为的产生时刻顺序,在所述目标项目显示界面上,按照所述目标事件类型依次触发所述目标页面元素。
结合第二方面,在第二种可能的实施例中,所述用户行为的类型标识信息包括:第一标识信息字段,所述第一标识信息字段用于表征所述用户触发的事件类型,所述确定模块具体用于:
基于各所述第一标识信息字段,确定所述目标事件类型。
结合第二方面,在第三种可能的实施例中,所述用户行为的类型标识信息包括:第二标识信息字段,所述第二标识信息字段与所述目标项目显示界面上的页面元素之间存在预设对应关系,所述确定模块具体用于:
根据所述预设对应关系,确定所述用户行为的类型对应的页面元素为目标页面元素。
结合第二方面,在第四种可能的实施例中,所述目标项目中包括预设辅助事件触发套件,所述预设辅助事件触发套件独立于所述目标项目的原始事件触发套件,所述事件触发套件用于基于所述目标事件类型改变所述目标页面元素的状态,所述事件触发模块具体用于:
利用所述预设辅助事件触发套件,按照所述目标事件类型依次改变所述目标页面元素的状态。
第三方面,本申请实施例提供了一种电子设备,其中,所述电子设备包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行第一方面提供的用户行为回放方法。
第四方面,本申请实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行第一方面提供的用户行为回放方法。
本申请的有益效果:
本申请实施例提供了一种用户行为回放方法、装置及电子设备,其中,该用户行为回放方法包括:通过获取用户行为数据,基于行为数据中的用户行为的类型标识信息,确定出用户在历史时间段使用目标项目过程中触发的目标事件类型,以及对应的页面元素,然后根据用户行为的产生时刻顺序,依次在目标项目显示界面上,按照目标事件类型依次触发对应的目标页面元素。
选用本申请实施例,无需具备专业的数据库知识,便可直观地通过目标项目显示界面,重现用户在历史时间段内使用该目标项目过程中产生的行为以及触发的页面元素,有利于后期基于用户行为数据实现的项目的推进。
本申请实施例中提供的一个或多个技术方案,可以实现可视化回放用户使用前端项目过程中产生的行为。
附图说明
在下面结合附图对于示例性实施例的描述中,本申请的更多细节、特征和优点被公开,在附图中:
图1为本申请实施例提供的用户行为回放方法的一种可能的流程示意图;
图2a为本申请实施例提供的数据信息管理平台的逻辑框架示意图;
图2b为本申请实施例提供的数据信息管理平台执行用户行为回放方法时的一种可能的流程示意图;
图3为本申请实施例提供的用户行为回放方法的另一种可能的流程示意图;
图4为本申请实施例提供的用户行为回放装置的一种可能的逻辑结构示意图;
图5为本申请实施例提供的电子设备的一种可能的逻辑结构示意框图。
具体实施方式
下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
应当理解,本申请的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本申请中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本申请中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
网络技术领域中,互联网项目根据用户是否可直观看见区分为前端与后端,分别通过前端技术与后端技术实现的。其中,前端是用户实实在在肉眼可见的,而后端是用户无法肉眼直观看见的。示例性的,若当前存在一个购物网站的项目,该项目的网站界面中包含的商品信息界面,支付界面,个人信息界面等等信息是通过前端技术实现的,该项目用于便于用户调用的数据库对用户而言是不可见的,是通过后端技术实现的。
因此,用户所产生的行为数据通常都是经专业后端技术处理后,生成特定格式的数据表或者用户日志,以数据表或者用户日志的形式存储在后端的数据库中。此种情况下,对于不具备专业的后端技术或者数据分析能力的人员而言,该人员无法知晓数据库中所存储的日志中的内容,进而无法知晓用户在历史时间段内使用目标前端项目过程中,具体产生了哪些行为,不利于后期基于用户行为数据实现的项目的推进。
示例性的,在一种可能的应用场景中,若一个网络项目出现故障,需要软件测试人员基于用户历史操作记录,分析是否存在因用户的错误操作导致的项目故障。此种场景下,若软件测试人员不具备专业的后端技术或者强大的数据分析能力,将无法清楚知悉用户在历史时间段内具体产生过哪些操作,进而使得后续基于用户历史行为数据重现项目故障难度较大,不利于推进项目故障定位。
有鉴于此,第一方面,本申请实施例提供了一种用户行为回放方法,用于实现可视化回放用户使用前端项目过程中产生的历史操作。该用户行为回放方法可应用于任一具备运行前端项目的电子设备中,包括但不限于移动终端,个人计算机,服务器等。
如图1所示,本申请实施例提供的用户行为回放方法,包括如下步骤:
S11、获取用户历史时间段内使用目标项目的行为数据。
其中,该行为数据为多条行为数据的总称,各条行为数据包括:用户行为的类型标识信息、该用户行为的产生时刻。
S12、确定用户行为的类型标识信息对应的目标事件类型、目标页面元素。
S13、基于各用户行为的产生时刻顺序,在目标项目显示界面上,按照目标事件类型依次触发对应的目标页面元素。
本申请实施例所提供的用户行为回放方法,通过获取用户行为数据,基于行为数据中的用户行为的类型标识信息,确定出用户在历史时间段使用目标项目过程中触发的目标事件类型,以及对应的页面元素,然后根据用户行为的产生时刻顺序,依次在目标项目显示界面上,按照目标事件类型依次触发对应的目标页面元素。
选用本申请实施例,无需具备专业的数据库知识,便可直观地通过目标项目显示界面,重现用户在历史时间段内使用该目标项目过程中产生的行为以及触发的页面元素,有利于后期基于用户行为数据实现的项目的推进。
示例性的,同样以前述项目故障定位的例子为例,选用本申请实施例,能够在目标项目的显示界面上,直观地重现用户在历史时间段内产生的操作,进而直观地看出用户具体操作了哪些页面元素,以何种方式触发的对应的页面元素,进而快速判断是否存在错误的用户操作导致的项目故障。
下文将对上述步骤S11-步骤S13进行详细说明:
在S11中,目标项目为用户或者操作人员指定的前端项目,其中,本申请实施例所提及的前端项目为:由用户可直观查看的前端显示界面,与支撑该前端显示界面正常显示的运行代码共同组成的功能完备的项目。
在一种可能的实施例中,该用户行为回放方法可通过数据信息管理平台为载体运行,即该用户行为回放方法可应用于预设的数据信息管理平台。
如图2a所示,预设的数据信息管理平台的逻辑结构分为如下几个部分:
展示层21、用于显示目标前端项目的显示界面。该目标前端的显示界面包括界面上的各页面元素。
功能层22、用于基于用户触发的事件,确定出所触发的事件类型以及用户所触发的页面元素。
代码驱动层23、用于加载目标前端项目的代码,以及获取后端数据库中存储的用户行为数据。
可见,该预设的数据信息管理平台具备加载或者运行前端项目业务代码、显示前端项目界面的功能。此外,该数据信息管理平台也具备读取前端项目产生的并存储于后端数据库中的各类数据等能力。该数据信息管理平台还具备将用户针对前端项目展示层上页面元素产生的操作进行解析的能力。在本申请实施例中,该数据信息管理平台可以是预先设计开发的具备程序运行、数据解析、用户交互能力的软件系统。
在执行上述步骤S11时,用户或者操作人员可通过在该数据信息管理平台中,勾选或点击目标前端项目,以加载目标前端项目的代码以及目标前端项目的后端数据库中的数据,以获取用户在历史时间段内使用目标前端项目时产生的行为数据。其中,历史时间段的长短可以根据实际需求灵活设置,本申请不作具体限定。
在一种可能的实施例中,在执行上述步骤S11时,还可以通过获取指令信息,确定目标前端项目,并根据目标前端项目的配置文件,获取存储该目标前端项目的用户行为数据的存储路径,基于获取的存储路径,获取对应的用户行为数据。
在S11中,用户行为数据为用户使用目标项目时所产生的所有行为记录信息,通常以数据表或者用户日志的形式存储在后端的数据库中。不同人员设置的数据格式不同,用户行为数据的格式也会不同。但是,用户行为数据中包含各类子信息,比如:用户行为数据所属用户的身份信息,用户行为数据的产生时刻,用户产生的行为类型(即用户触发的事件类型)等等各类因用户操作产生的子信息。在本申请实施例中,用户行为数据包含的各类子信息可以通过一条行为数据中的各子字段的形式进行存储。
在一种可能的实施例中,为了对所产生的数据进行区分,可通过数据埋点技术在前端项目产生的各类数据或者后端项目产生的各类数据中添加标识,以便操作人员了解数据库或者用户日志中所存储的数据的真实含义。基于此,在一种可能的实施例中,可通过埋点技术在用户产生对应的用户行为数据时刻,根据用户触发的事件类型,用户触发的页面元素等等信息在用户行为数据添加不同的标识信息,以便执行主体基于添加的标识信息确定数据中包含的信息。
示例性的,通过该埋点技术在用户数据中添加用户身份标识,以标识该数据来自于哪个用户。或者,通过埋点技术在用户行为数据中添加页面元素标识信息,以标识该数据涉及哪个页面元素。
基于上述分析,用户行为数据中包含了用户使用目标项目的过程中所产生的所有信息,包括用户行为的类型标识信息、用户行为数据产生时刻等等信息。在一种可能的实施例中,用户行为的类型标识信息以及用户行为数据的产生时刻可以是一整条用户行为数据的不同部分的子信息。示例性的,用户行为的类型标识信息是一条用户行为数据的一个子字段,用户行为数据的产生时刻是该条用户行为数据的另一个子字段。
在另一种可能的实施例中,用户行为的类型标识信息与用户行为数据的产生时刻均属于用户行为数据的不同部分的数据,二者相互独立。在本申请实施例中,用户行为数据的产生时刻可以是用户行为数据的时间戳。
基于此,在执行步骤S12时,在一种可能的实施例中,可通过对步骤S11中获取的用户行为数据进行解析,解析出该用户行为数据中的各个部分的子数据信息,以得到所需的目标事件类型以及目标页面元素。
在本申请实施例中,用户的行为数据可以通过埋点技术处理后存储至后端数据库或者日志表中的数据。其中,埋点可以通过监测分析工具提供的SDK(SoftwareDevelopment Kit,软件开发套件)进行编程来实现。具体实现原理为:
通过监听目标项目运行过程中的事件,当用户触发事件时进行判断和捕获,然后获取必要的相关信息,将信息整理后发送至后端服务器。示例性的,通过监听目标项目运行过程中的事件,当用户触发事件时,获取触发的事件类型,触发的对象,用户id等等信息,然后将信息整理后发送至后端服务器存储至数据库,或者基于整理后的数据进行进一步的计算。
可见,埋点技术能够帮助定义和获取操作人员需要的业务数据及其附带的信息,在不同场景下,不同的操作人员所需要的信息和角度可能不同,选用的埋点方案也就不同,因此,操作人员可根据自身需求设计对应的埋点方案获取用户产生的数据。
基于此,在本申请实施例中,通过埋点技术获取用户触发的事件类型、用户触发的页面元素以知晓用户所触发的页面元素以及触发该页面元素时采用的事件类型。
具体的,通过埋点技术添加用户行为的类型标识信息时,将用户行为的类型、用户触发的页面元素等等信息整合成一条用户行为的类型标识信息,其中,用户行为的类型、用户触发的页面元素对应该用户行为的类型标识信息的不同子字段。在本申请实施例中,借助第一标识信息子字段表征用户触发的事件类型。对应的在执行步骤S12时,可以根据第一标识信息子字段,确定出目标事件类型。
在一种可能的实施例中,通过埋点技术添加用户行为的类型标识信息时,可直接借助第二标识信息子字段来表征用户触发的页面元素。
或者,在另一种可能的实施例中,可通过构建第二标识信息子字段与目标项目界面上的页面元素之间存在的对应关系为预设对应关系,在执行步骤S12时,可根据该预设对应关系,确定出第二标识信息子字段对应的页面元素为目标页面元素。
具体的,第二标识信息子字段用于表征用户触发目标项目界面上的页面元素时产生的行为的权重。其中,该行为权重可根据用户触发目标项目界面上的页面元素的频率、触发时长等条件确定。
示例性的,若行为权重根据用户触发目标项目界面上的页面元素的触发时长确定的,可以是行为权重与触发时长呈正相关关系,其中,触发时长越长,对应的行为的权重也就越大。基于此,第二标识信息子字段与目标项目界面上的页面元素之间存在的对应关系为:用户按照第二标识信息子字段所表征的触发时长触发了目标项目界面上的页面元素。对应的,在执行步骤S12时,可以是根据预设对应关系,可确定出第二标识信息子字段对应的页面元素为目标页面元素。
选用本申请实施例,能够直接根据预设的用户行为的类型标识信息,快速确定出用户在历史时间段内以何种事件类型,触发了目标项目界面上的具体哪个页面元素,有助于后续根据该目标事件类型与目标页面元素还原用户的历史操作。
在一种可能的实施例中,以用户行为类型标识为用户行为埋点为例,如图3所示,本申请实施例所提供的用户行为回放方法可包括如下步骤:
S31、获取用户埋点,确定埋点字段;
S32、基于第一埋点字段子字段,确定用户触发的事件类型;
S33、基于第二埋点字段子字段,确定用户触发的页面元素;
S34、按照触发事件类型,再次触发对应的页面元素。
其中,S31中的用户埋点为按照预设埋点方案,监听用户使用目标项目时触发的事件以及对应的页面元素,生成对应的用户行为的类型标识信息。其中,埋点值表征用户触发目标项目界面上的页面元素时产生的行为的权重。其中,用户埋点存储于用户日志表或者用户数据库中。
具体执行步骤S31时,可通过读取用户日志表或者数据库,获取用户埋点,并确定用户埋点的各个子字段。然后,执行步骤S32时基于第一埋点字段子字段确定用户所触发的事件类型,其中页面元素对应的触发事件类型可以为多种,可基于页面元素确定对应的多种触发事件类型。示例性的,一个输入框(input box)页面元素可能对应的触发事件类型包括:点击事件、输入事件。
在执行步骤S33时,可基于第二埋点字段子字段确定出用户触发的页面元素。
在埋点技术实现过程中,SDK用于提供前端页面元素与后端对应执行代码之间的消息交互接口,因此,在执行步骤S34时,可由SDK按照触发事件类型,再次执行该页面元素以及对应的触发事件的代码,以起到重新按照用户的历史触发事件以及触发的页面元素再次触发执行目标项目的代码,以重现用户的历史操作。
在一种可能的实施例中,目标项目中包括预设辅助事件触发套件,该预设辅助事件触发套件独立于目标项目的原始事件触发套件,预设辅助事件触发套件与原始事件触发套件均用于基于目标事件类型改变目标页面元素的状态。基于此,在本申请实施例中,在执行上述步骤S13时,具体可通过如下步骤实现:
利用预设辅助事件触发套件,按照目标事件类型依次改变目标页面元素的状态。
其中,事件触发套件为目标项目的SDK,可根据目标项目的编程方式的不同,对应的SDK不同。示例性的,若目标项目是通过Java(一种编程语言)实现的,则该SDK为Java的软件开发套件,若目标项目是通过JavaScript(另一种编程语言)实现的,则该SDK为JavaScript的软件开发套件。
可通过事件触发套件调用目标事件类型对应的功能函数,以及向目标事件类型对应的功能函数传递参数,以实现对应的功能。具体的,通过目标事件类型对应的触发事件函数,向该触发事件函数传递目标页面元素,以自动补全前端项目运行时目标页面元素部分的代码,进而可改变前端项目界面上的页面元素的状态。
在本申请实施例中,预设辅助事件触发套件是基于目标项目的原始事件触发套件开发的一整套一模一样的事件触发套件。通过将该预设辅助事件触发套件嵌入至目标项目的源代码中,可实现与原始事件触发套件一模一样的功能,由于预设辅助事件触发套件独立于原始事件触发套件,进而可达到真实仿真用户使用目标项目过程中目标项目的事件触发流程。
选用本申请实施例,由于利用了该预设辅助事件触发套件来进行用户行为重现,可在不占用原始事件触发套件的情况下实现用户行为重现,原始事件触发套件仍可正常响应用户当前时刻的事件请求。
具体的,采用预设辅助事件触发套件实现用户行为回放方法的流程可参考图2b,其中:
展示层21是用户可直接肉眼可见的展示界面,界面内容中包括待回放的前端项目的界面以及可视化回放平台,由展示界面向用户或者操作人员展示待回放的目标项目的界面,以及对应的信息输入平台的界面。用户或者操作人员可在该平台上勾选或者点击对应的待回放的目标项目,并输入回放的历史时间段的起始时刻与终止时刻。
功能层22在接收到用户或者操作人员输入的目标项目以及历史时间段后,从后端数据库中获取目标项目历史时间段内,用户产生的行为数据。其中,可根据用户id获取目标用户产生的行为数据。并对行为数据进行解析,输出展示埋点列表以及待回放目标项目的界面,以对待回放目标项目的界面进行预览。
功能层22基于解析到的展示埋点列表以及目标项目的界面,确定出用户触发页面元素时的事件类型,以及对应触发的目标页面元素。以并依据确定出的目标页面元素以及用户触发的事件类型模拟用户页面操作。
代码驱动层23,实质是预设辅助事件触发套件,该预设辅助事件触发套件中的用户行为播放引擎基于解析得到埋点列表,按照用户行为数据的产生时刻的时间顺序,对埋点进行排序。然后由用户行为播放引擎通过消息通知的方式,按照顺序依次告知Mock-awaken唤醒引擎。
后由Mock-awaken唤醒引擎依次执行页面元素对应的DOM节点的代码,通过高亮对应的DOM节点,或者模拟点击DOM节点来模拟用户操作等等操作,来实现模拟用户不同类型的操作,改变页面元素对应节点的代码,进而改变页面元素的状态。其中,用户各种类型的操作包括:点击、输入、聚焦、失焦等等。
其中,高亮对应的DOM节点可以理解为将该DOM节点对应的用户触发的目标页面元素与其他页面元素进行差异化显示。示例性的,高亮对应的DOM节点可以理解为将该DOM节点对应的目标页面元素以高亮度进行显示,其他页面元素以低亮度进行显示。或者,将目标页面元素以红色进行显示,其他页面元素以灰色进行显示,以区分该行为产生时刻用户所触发的页面元素与用户未触发的页面元素。
在本申请实施例中,可以在需要对用户行为回放时,在目标项目的代码中嵌入预设辅助事件触发套件。也可以在目标项目开发时,在目标项目代码中嵌入两个事件触发套件,一个主事件触发套件(即用作原始事件触发套件),一个从事件触发套件(即用作预设辅助事件触发套件)。正常运行过程中,并不会调用从事件触发套件,该从事件在需要对用户行为回放时,调用该从事件触发套件,按照目标事件类型更改目标页面元素的状态。
其中,在目标项目代码中嵌入事件触发套件的相关实现过程可参考现有技术,此处不再赘述。
在执行步骤S13时,可基于行为数据的产生顺序,自动依次触发目标页面元素,也可以由用户在显示界面上,按照依据行为数据产生顺序排序后的埋点列表,依次点击对应的埋点,然后根据用户点击的埋点模拟触发对应的目标页面元素。具体的实现方式,可根据实际需求灵活选择,本申请不作严格限制。
第二方面,本申请实施例提供了一种用户行为回放装置,其中,如图4所示,该装置包括:
获取模块41、用于获取用户历史时间段内使用目标项目的行为数据,各条行为数据包括:用户行为的类型标识信息、用户行为的产生时刻。
确定模块42、用于确定用户行为的类型标识信息对应的目标事件类型、目标页面元素。
事件触发模块43、基于各用户行为的产生时刻顺序,在目标项目显示界面上,按照目标事件类型依次触发目标页面元素。
在一种可能的实施例中,用户行为的类型标识信息包括:用户行为的类型标识,用户行为的类型标识用于表征用户触发的事件类型,确定模块42具体用于:
基于用户行为的类型标识,确定目标事件类型。
在一种可能的实施例中,用户行为的类型标识信息包括:用户行为的类型标识值,用户行为的类型标识值与目标项目显示界面行的页面元素之间存在预设对应关系,确定模块42具体用于根据预设对应关系,确定用户行为的类型标识值对应的页面元素为目标页面元素。
在一种可能的实施例中,目标项目中包括预设辅助事件触发套件,预设辅助事件触发套件独立于目标项目的原始事件触发套件,事件触发套件用于基于目标事件类型改变目标页面元素的状态,事件触发模块43具体用于:
利用预设辅助事件触发套件,按照目标事件类型依次改变目标页面元素的状态。
本申请实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
本申请示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本申请实施例的方法。
本申请示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本申请实施例的方法。
本申请示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本申请实施例的方法。
参考图5,现将描述可以作为本申请的服务器或客户端的电子设备500的结构框图,其是可以应用于本申请的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图5所示,电子设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储设备50操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
电子设备500中的多个部件连接至I/O接口505,包括:输入单元506、输出单元507、存储单元508以及通信单元509。输入单元506可以是能向电子设备50输入信息的任何类型的设备,输入单元506可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元507可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元504可以包括但不限于磁盘、光盘。通信单元509允许电子设备50通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理。例如,在一些实施例中,前述数据处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到电子设备50上。在一些实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行第一方面所述的数据处理方法。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本申请使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
Claims (10)
1.一种用户行为回放方法,其特征在于,所述方法包括:
获取用户历史时间段内使用目标项目的行为数据,各个所述行为数据包括:用户行为的类型标识信息、用户行为的产生时刻;
确定各所述用户行为的类型标识信息对应的目标事件类型、目标页面元素;
基于各个所述用户行为的产生时刻顺序,在所述目标项目显示界面上,按照所述目标事件类型依次触发所述目标页面元素。
2.根据权利要求1所述的方法,其特征在于,所述用户行为的类型标识信息包括:第一标识信息子字段,所述第一标识信息子字段用于表征所述用户触发的事件类型,所述确定各所述用户行为的类型标识信息对应的目标事件类型包括:
基于各所述第一标识信息子字段,确定所述目标事件类型。
3.根据权利要求1所述的方法,其特征在于,所述用户行为的类型标识信息包括:第二标识信息子字段,所述第二标识信息子字段与所述目标项目显示界面上的页面元素之间存在预设对应关系,所述确定所述用户行为的类型标识信息对应目标页面元素包括:
根据所述预设对应关系,确定所述第二标识信息子字段对应的页面元素为目标页面元素。
4.根据权利要求1所述的方法,其特征在于,所述目标项目中包括预设辅助事件触发套件,所述预设辅助事件触发套件独立于所述目标项目的原始事件触发套件,所述事件触发套件用于基于所述目标事件类型改变所述目标页面元素的状态,所述在所述目标项目显示界面上,按照所述目标事件类型依次触发所述目标页面元素包括:
利用所述预设辅助事件触发套件,按照所述目标事件类型依次改变所述目标页面元素的状态。
5.一种用户行为回放装置,其特征在于,所述装置包括:
获取模块,获取用户历史时间段内使用目标项目的行为数据,各个所述行为数据包括:用户行为的类型标识信息、用户行为的产生时刻;
确定模块,确定各所述用户行为的类型标识信息对应的目标事件类型、目标页面元素;
事件触发模块,用于基于各个所述用户行为的产生时刻顺序,在所述目标项目显示界面上,按照所述目标事件类型依次触发所述目标页面元素。
6.根据权利要求5所述的装置,其特征在于,所述用户行为的类型标识信息包括:第一标识信息子字段,所述第一标识信息子字段用于表征所述用户触发的事件类型,所述确定模块具体用于:
基于各所述第一标识信息子字段,确定所述目标事件类型。
7.根据权利要求5所述的装置,其特征在于,所述用户行为的类型标识信息包括:第二标识信息子字段,所述第二标识信息子字段与所述目标项目显示界面上的页面元素之间存在预设对应关系,所述确定模块具体用于根据所述预设对应关系,确定所述第二标识信息子字段对应的页面元素为目标页面元素。
8.根据权利要求5所述的装置,其特征在于,所述目标项目中包括预设辅助事件触发套件,所述预设辅助事件触发套件独立于所述目标项目的原始事件触发套件,所述事件触发套件用于基于所述目标事件类型改变所述目标页面元素的状态,所述事件触发模块具体用于:
利用所述预设辅助事件触发套件,按照所述目标事件类型次改变所述目标页面元素的状态。
9.一种电子设备,包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-4中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310327674.1A CN116431485A (zh) | 2023-03-29 | 2023-03-29 | 一种用户行为回放方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310327674.1A CN116431485A (zh) | 2023-03-29 | 2023-03-29 | 一种用户行为回放方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116431485A true CN116431485A (zh) | 2023-07-14 |
Family
ID=87082600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310327674.1A Pending CN116431485A (zh) | 2023-03-29 | 2023-03-29 | 一种用户行为回放方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116431485A (zh) |
-
2023
- 2023-03-29 CN CN202310327674.1A patent/CN116431485A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7496795B2 (en) | Method, system, and computer program product for light weight memory leak detection | |
CN111552633A (zh) | 接口的异常调用测试方法、装置、计算机设备及存储介质 | |
CN108111364B (zh) | 一种业务系统的测试方法及装置 | |
CN112187585A (zh) | 网络协议测试方法及装置 | |
US9912522B2 (en) | Automatic task tracking | |
CN110908880B (zh) | 埋点代码注入方法、事件上报方法及其相关设备 | |
KR101423030B1 (ko) | 컴퓨터 실행 가능한 어플리케이션 객체 분석 방법, 이를 수행하는 어플리케이션 객체 분석 서버 및 이를 저장하는 기록매체 | |
CN112115038A (zh) | 一种应用测试方法、装置和存储介质 | |
CN111654495B (zh) | 用于确定流量产生来源的方法、装置、设备及存储介质 | |
CN111666217A (zh) | 用于测试代码的方法和装置 | |
CN113961465A (zh) | 程序崩溃场景的复现处理方法、设备及程序产品 | |
CN113595886A (zh) | 即时通讯消息的处理方法、装置、电子设备及存储介质 | |
CN117093627A (zh) | 信息挖掘的方法、装置、电子设备和存储介质 | |
CN116431485A (zh) | 一种用户行为回放方法、装置及电子设备 | |
CN112799956B (zh) | 资产识别能力测试方法、装置及系统装置 | |
CN110795338B (zh) | 一种基于前后端交互的自动化测试方法、装置及电子设备 | |
CN114650211A (zh) | 故障修复方法、装置、电子设备和计算机可读存储介质 | |
CN113342667A (zh) | 数据处理方法、装置、电子设备以及计算机可读存储介质 | |
CN112799957A (zh) | 基于用户行为的故障处理方法、系统、设备和介质 | |
CN113110976A (zh) | 一种异常分析的方法、装置、电子设备及可读存储介质 | |
CN113010409B (zh) | 智能合约测试方法及装置、电子设备、存储介质 | |
US20230308369A1 (en) | Data migration in application performance monitoring | |
CN118132069A (zh) | 一种页面流转控制方法、装置及电子设备 | |
CN113934629A (zh) | 获取测试用例的方法、装置、电子设备及存储介质 | |
CN118689758A (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 |