CN112988304B - 一种操作方式的记录方法、装置、电子设备和存储介质 - Google Patents

一种操作方式的记录方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN112988304B
CN112988304B CN202110322021.5A CN202110322021A CN112988304B CN 112988304 B CN112988304 B CN 112988304B CN 202110322021 A CN202110322021 A CN 202110322021A CN 112988304 B CN112988304 B CN 112988304B
Authority
CN
China
Prior art keywords
target
control
calling
target control
target operation
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
CN202110322021.5A
Other languages
English (en)
Other versions
CN112988304A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110322021.5A priority Critical patent/CN112988304B/zh
Publication of CN112988304A publication Critical patent/CN112988304A/zh
Application granted granted Critical
Publication of CN112988304B publication Critical patent/CN112988304B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Abstract

本申请涉及计算机技术领域,提供一种操作方式的记录方法、装置、电子设备和存储介质,用以提高自动化测试的测试效率和准确率,其中,方法包括:针对目标操作界面对应的目标操作区域中触发的多个目标操作事件,根据各个目标控件与目标操作区域之间的嵌套关系,分别确定各个目标控件的目标调用路径,然后,依次记录各个目标调用路径,获得目标操作方式。由于同一目标操作界面中,各个目标控件目标操作区域之间的嵌套关系是相同的,因而当在不同的测试终端上针对同一目标操作界面进行测试时,均可以根据目标调用路径,快速、准确地定位目标控件,从而提高了测试的准确率和测试效率。

Description

一种操作方式的记录方法、装置、电子设备和存储介质
技术领域
本申请涉及计算机技术领域,提供一种操作方式的记录方法、装置、电子设备和存储介质。
背景技术
为保证软件性能,在软件的开发过程中以及软件上市之前都需进行相关的测试。在各种测试技术中,最接近用户需求的是与用户交互相关的用户界面(User Interface,UI)自动化测试,UI自动化测试技术主要是以模拟手工操作的方式,实现自动化的界面功能操作,达到对界面功能的测试。
相关技术中,通常会对用户在UI中执行的各个操作进行记录,这一过程,称为录制,进一步地,基于录制内容,可以模拟用户的操作过程,这一过程称为回放,通过回放过程,可以在不同的测试终端上进行操作测试,以达到测试目的。
而在记录用户的各个操作时,通常可以采用以下两种方式:
第一种方式:通过记录用户在UI中触发的各个控件的坐标,记录用户执行的各个操作。
这样,在回放过程中,可以遵循用户在UI中对各个控件的触发顺序,依次根据各个控件的坐标,模拟相应的操作。
然而,采用第一种方式时,由于不同类型的测试终端的屏幕尺寸、分辨率之间存在较大差异,因此,将录制内容在不同类型的测试终端上进行回放时,会因为坐标位置偏差,而无法准确触发控件,从而导致测试准确性较差。
第二种方式:通过编译脚本的方式,记录用户在UI中执行的各个操作。
具体的,在录制过程中,将用户在UI中执行的各个操作,通过编译脚本的方式,记录在脚本文件中。
这样,在回放过程中,通过执行脚本文件,可以模拟用户的操作过程。
然而,采用第二种方式时,需要投入大量的时间进行脚本编写,操作复杂度高,因此,测试效率低;此外,当UI布局发生变化时,需要重新编写脚本文件,维护成本高。
发明内容
本申请实施例提供一种操作方式的记录方法、装置、电子设备和存储介质,用以提高自动化测试的测试效率和准确率。
第一方面,本申请实施例提供一种操作方式的记录方法,该方法包括:
针对目标操作界面对应的目标操作区域,获得基于目标操作区域触发的多个目标操作事件各自对应的操作描述信息;其中,每个操作描述信息至少包含对应的目标操作事件关联的目标控件的标识信息;
基于获得的各个目标控件的标识信息,根据预设的操作逻辑关系,确定各个目标控件各自对应的目标调用路径;其中,操作逻辑关系至少包含各个目标控件与目标操作区域之间的嵌套关系;
按照多个目标操作事件的触发顺序,分别记录各个目标控件各自对应的目标调用路径,获得目标操作方式。
第二方面,本申请实施例提供一种操作方式的记录装置,该装置包括:
监听单元,用于针对操作界面对应的目标操作区域,获得基于目标操作区域触发的多个目标操作事件各自对应的操作描述信息;其中,每个操作描述信息至少包含对应的目标操作事件关联的目标控件的标识信息;
确定单元,用于基于获得的各个目标控件的标识信息,根据预设的操作逻辑关系,确定各个目标控件各自对应的目标调用路径;其中,操作逻辑关系至少包含各个目标控件与目标操作区域之间的嵌套关系;
记录单元,用于按照多个目标操作事件的触发顺序,分别记录各个目标控件各自对应的目标调用路径,获得目标操作方式。
可选的,基于所述至少一个链接点控件,将所述一个目标控件对应的中间调用路径转换为所述一个目标控件对应的目标调用路径时,所述确定单元具体用于:
若所述一个目标控件对应的初始调用路径中,除所述一个目标控件之外还包含非链接点控件,则从所述一个目标控件对应的中间调用路径中,删除所述非链接点控件,获得所述一个目标控件对应的目标调用路径;
若所述一个目标控件对应的初始调用路径中,除所述一个目标控件之外未包含非链接点控件,则将所述一个目标控件对应的中间调用路径,作为所述一个目标控件对应的目标调用路径。
可选的,获得所述一个目标控件对应的目标调用路径之后,所述确定单元还用于:
在所述一个目标控件对应的目标调用路径中,添加所述至少一个链接点控件各自对应的嵌套操作区域的描述信息,其中,每个描述信息用于指示相应的链接点控件对应的嵌套操作区域。
可选的,所述按照所述多个目标操作事件的触发顺序,分别记录所述各个目标控件各自对应的目标调用路径,获得目标操作方式,所述记录单元具体用于:
获取所述多个目标操作事件的各自对应的触发时间,并基于所述多个目标操作事件的各自对应的触发时间,确定所述多个目标操作事件的触发顺序;
将所述触发顺序作为记录顺序,依次针对所述各个目标控件,记录对应的触发时间和目标调用路径,获得相应的路径操作组合;
将所述路径操作组合,作为所述目标操作方式。
可选的,操作方式的记录装置还包括:
回放单元,用于响应于针对所述目标操作界面触发的界面测试指令,获取所述目标操作方式;以及按照所述目标操作方式中包含的各个目标调用路径的记录顺序,依次根据所述各个目标调用路径调用对应的目标控件,执行相应的测试操作。
可选的,所述每个操作描述信息还包括:对应的目标操作事件的事件类型,以及所述对应的目标操作事件关联的目标控件的屏幕触发坐标;
则所述按照所述多个目标操作事件的触发顺序,分别记录所述各个目标控件各自对应的目标调用路径,获得目标操作方式时,所述记录单元还用于:
分别针对所述各个目标控件各自对应的目标调用路径,关联记录对应的目标控件的屏幕触发坐标以及对应的目标操作事件的事件类型。
可选的,响应于针对所述目标操作界面触发的界面测试指令,获取所述目标操作方式之后,按照所述目标操作方式中包含的各个目标调用路径的记录顺序,依次根据所述各个目标调用路径调用对应的目标控件,执行相应的测试操作之前,所述回放单元还用于:
根据所述目标操作方式中记录的所述多个目标操作事件的事件类型,以及所述多个目标操作事件关联的目标控件的屏幕触发坐标,基于预设的操作映射关系,分别确定所述各个目标控件各自对应的测试操作;其中,所述操作映射关系中包含事件类型和屏幕触发坐标,与测试操作之间的映射关系。
可选的,所述回放单元还用于:
若根据所述各个目标调用路径中的一个目标调用路径,调用对应的一个目标控件时,获取到路径无效指示,则根据所述一个目标控件的屏幕触发坐标,调用所述一个目标控件,执行相应的测试操作。
第三方面,本申请实施例提供的一种电子设备,包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行上述操作方式的记录方法的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行上述操作方式的记录方法的步骤。
本申请实施例中,针对目标操作界面对应的目标操作区域中触发的多个目标操作事件,根据预设的操作逻辑关系,该操作逻辑关系至少包含各个目标控件与目标操作区域之间的嵌套关系,分别确定多个目标操作事件关联的各个目标控件的目标调用路径,然后,按照多个目标操作事件的触发顺序,分别记录各个目标控件各自对应的目标调用路径,获得目标操作方式。
这样,当在不同的测试终端上针对同一目标操作界面进行测试时,由于各个目标控件与目标操作区域之间的嵌套关系是相同的,因此,可以根据目标调用路径,快速、准确地定位目标控件,从而提高了测试的准确率和测试效率,同时降低了维护成本。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中提供的一种应用场景示意图;
图2为本申请实施例中提供的一种操作方式的记录方法的流程示意图;
图3为本申请实施例中提供的第一种目标操作界面的示意图;
图4为本申请实施例中提供的第一种操作逻辑关系的示意图;
图5为本申请实施例中提供的反向遍历操作逻辑关系的示意图;
图6A为本申请实施例中提供的第一种初始调用路径的示意图;
图6B为本申请实施例中提供的第一种中间调用路径的示意图;
图7为本申请实施例中提供的第二种操作逻辑关系的示意图;
图8A为本申请实施例中提供的第二种初始调用路径的示意图;
图8B为本申请实施例中提供的第二种中间调用路径的示意图;
图8C为本申请实施例中提供的一种目标调用路径的示意图;
图9为本申请实施例中提供的一种基于目标操作方式的回放方法的流程示意图;
图10为本申请实施例中提供的测试操作的示意图;
图11为本申请实施例中提供的一种应用程序和录制引擎之间的交互示意图;
图12A为本申请实施例中的第二种目标操作界面的示意图;
图12B为本申请实施例中的第三种操作逻辑关系的示意图;
图13为本申请实施例中提供的一种操作方式的记录装置的组成结构示意图;
图14为本申请实施例中提供的一种电子设备的硬件结构示意图;
图15为本申请实施例中提供的一种终端设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
下面对本申请实施例中涉及的部分概念进行介绍。
1、操作界面和目标操作界面:本申请实施例中的操作界面用于实现人机交互,不同的操作界面用于向用户展示不同的内容,实现与用户的信息交互。本申请实施例中,一个操作界面中可以包含一个或多个操作区域,每个操作区域中包含一个或多个控件。目标操作界面为需要记录操作方式的操作界面。
2、操作区域和目标操作区域:本申请实施例中的操作区域用于布局控件。需要说明的是,操作区域也可以称为控件蓝图(userwidget)。本申请实施例中,每个目标操作界面对应一个目标操作区域。示例性的,若目标操作界面还包含有其它的操作区域,则其它的操作区域可以采用嵌套的方式嵌套于目标操作区域中。例如,目标操作界面对应的目标操作区域中嵌套有操作区域A。下文中,将目标操作区域中嵌套的操作区域称为嵌套操作区域。
3、控件和目标控件:本申请实施例中的控件是指对数据和方法的封装,用户可以与之交互以实现输入或操作。控件可以包括但不限于图片、面板(Panel)、输入框(Input)、列表(ListView)、按钮(Button)、插槽(Slot)等;目标控件是针对目标操作界面进行记录时需要触发的控件。示例性的,本申请实施例中,容器类型的控件可以用于实现操作区域的嵌套,例如,列表、面板、插槽等。
4、操作事件和目标操作事件:本申请实施例中的操作事件用于表征通过操作界面实现的各种类型的用户操作,操作事件可以但不限于包括输入事件(InputEvent)、焦点事件(FocusEvent)等,其中,输入事件可以但不限于包括键盘事件、鼠标事件、触摸事件等;目标操作事件是针对目标操作界面进行测试时需要测试的操作事件。
5、操作逻辑关系:本申请实施例中的操作逻辑关系中可以包括但不限于各个控件与各个操作区域之间的嵌套关系。为了便于描述,将一个控件所在的操作区域称为父区域,将一个控件中嵌套的操作区域称为子区域。示例性的,上述嵌套关系可以用于指示控件对应的父区域。示例性的,各个控件与各个操作区域之间的嵌套关系还可以用于指示控件对应的子区域。
6、操作方式和目标操作方式:本申请实施例中的操作方式用于表征用户在操作界面中执行的各个操作;目标操作方式是针对目标操作界面进行记录时需要记录的操作方式。
下文中所用的词语“示例性”的意思为“用作例子、实施例或说明性”。作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
文中的术语“第一”、“第二”仅用于描述目的,而不能理解为明示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
下面对本申请实施例的设计思想进行简要介绍:
随着科技的高速发展,为提高测试效率,通常采用UI自动化测试技术,实现自动化的界面功能操作,以达到对界面功能的测试。相关技术中,会对用户在UI中执行的各个操作进行录制,进而基于录制内容,在不同的测试终端上,对用户的各个操作进行回放。
在对用户的各个操作进行录制时,一方面,可以通过记录用户在UI中触发的各个控件的坐标,记录用户执行的各个操作。由于不同类型的测试终端的屏幕尺寸、分辨率之间存在较大差异,因此,将录制内容在不同类型的测试终端上进行回放时,会因为坐标位置偏差,而无法准确触发控件,从而导致测试准确性较差。另一方面,可以通过编译脚本的方式,记录用户在UI中执行的各个操作。但是,脚本编写需要耗费大量时间,且操作复杂度高,因此,测试效率低;此外,当UI布局发生变化时,需要重新编写脚本文件,维护成本高。
由于记录用户在UI中触发的各个控件的坐标的方式,会导致测试准确率低的问题,而编译脚本的方式,会导致测试效率低的问题,因此,本申请实施例中,针对目标操作界面中触发的目标操作事件,根据预设的操作逻辑关系,确定目标控件对应的目标调用路径,通过记录用户在目标操作界面触发的各个目标控件的目标调用路径,记录用户执行的各个操作。
这样,当在不同的测试终端上针对目标操作界面进行测试时,即使不同的测试终端的屏幕尺寸、分辨率存在较大差异,但由于不同的测试终端的操作界面的布局是相同的,即不同的测试终端的操作逻辑关系是相同的,因此,不同的测试终端中目标控件对应的目标调用路径是相同的,在后续基于目标操作方式进行回放的过程中,可以根据目标调用路径,在不同的测试终端上快速、准确地定位目标控件,提高了UI自动化测试的准确率和测试效率,同时降低了维护成本。
为了更清楚地理解本申请的设计思路,以下结合附图对本申请实施例进行详细说明。
参阅图1所示,其为本申请实施例的应用场景示意图。该应用场景中包括至少一个终端设备110和服务器120,终端设备110和服务器120之间可以通过网络进行通信。
在一种可选的实施方式中,通信网络是有线网络或无线网络。终端设备110以及服务器120可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在本申请实施例中,终端设备110为用户使用的电子设备,该电子设备可以是个人计算机、手机、平板电脑、笔记本等具有一定计算能力的计算机设备。各终端设备110通过无线网络与服务器120连接,服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在本申请实施例中,用户通过终端设备110可以获取相关的目标操作界面,终端设备110可响应用户在目标操作界面的目标操作区域触发的各个操作事件,执行相应的操作。例如用户A执行针对目标操作界面的目标操作区域1的触摸事件时,终端设备110响应触摸事件。
终端设备110中安装有客户端,该客户端用于显示目标操作界面。在本申请实施例中,客户端可以是应用程序,例如游戏应用等,还可以是小程序、网页等,在此不做具体限定。服务器120则是与应用程序或是网页、小程序等类型的客户端相对应的服务器。
终端设备110可以基于目标操作区域中触发的多个目标操作事件,获得录制的操作方式。
作为一种可能的实现方式,终端设备110上可以安装用于记录操作方式的录制引擎,进而由上述录制引擎基于目标操作界面的目标操作区域中触发的多个目标操作事件,获得录制的操作方式。
参阅图2所示,其为本申请实施例中提供的操作方式的记录方法的流程示意图,应用于上述终端设备110或安装在上述终端设备110上的录制引擎,该流程具体如下:
S201、针对操作界面对应的目标操作区域,获得基于目标操作区域触发的多个目标操作事件各自对应的操作描述信息,其中,每个操作描述信息至少包含对应的目标操作事件关联的目标控件的标识信息。
本申请实施例中,目标操作区域中可以包含一个或多个嵌套操作区域,每个嵌套操作区域中部署有不同的控件。
以目标操作界面为图3所示的操作界面为例,目标操作界面对应的目标操作区域中包含控件301(即“好友列表”)和“返回”按钮,其中,控件301中嵌套有操作区域A、操作区域B和操作区域C。在操作区域A中包含控件302(即“面板”)和图片,“面板”中嵌套有操作区域D和操作区域F。操作区域D中包含控件303(即“聊天”按钮)。操作区域F中包含“删除”按钮。
本申请实施例中,由于在不同的操作区域中,可能存在名称相同的目标控件,因此,目标控件的标识信息中可以包含目标控件的名称以及该目标控件所在的操作区域的名称。例如,假设,目标控件1的名称为btn_1,目标控件1所在的操作区域的名称为UserWidget_0,那么,目标控件1的标识信息中可以包含操作区域的名称UserWidget_0和目标控件1的名称btn_1。
具体的,在目标操作区域中,每响应于针对一个目标控件的触发操作,确定触发一次目标操作事件,并对应目标操作事件记录一个目标控件的标识信息。
需要说明的是,本申请实施例中,针对目标控件的触发操作,可以采用但不限于鼠标、触摸、键盘等方式实现,对此不做具体限定。
以控件303为目标控件为例,参阅图3所示,响应于针对控件303的触发操作,确定触发一次目标操作事件,并对应该目标操作事件记录控件303的标识信息,控件303的标识信息中包含操作区域D的名称UserWidget_D和控件303的名称btn。
S202、基于获得的各个目标控件的标识信息,根据预设的操作逻辑关系,确定各个目标控件各自对应的目标调用路径,其中,操作逻辑关系至少包含各个目标控件与目标操作区域之间的嵌套关系。
具体的,执行S202时,可以采用但不限于以下方式:
S2021、基于获得的各个目标控件的标识信息,根据操作逻辑关系中包含的嵌套关系,得到各个目标控件各自对应的初始调用路径;其中,每个目标控件对应的初始调用路径表征:从目标操作区域到相应的目标控件的路径。
本申请实施例中,操作逻辑关系可以采用树型结构表示。参阅图4所示,其为图3所示的操作界面对应的操作逻辑关系,在图4所示的操作逻辑关系中,该操作逻辑关系表征:目标操作界面对应的目标操作区域中包含“好友列表”和“返回”按钮,其中,“好友列表”中嵌套有操作区域A、操作区域B和操作区域C。在操作区域A中包含“面板”和图片,其中,“面板”中嵌套有操作区域D和操作区域F。操作区域D中包含控件303(即“聊天”按钮)。操作区域F中包含“删除”按钮。
示例性的,可以采用但不限于反向遍历操作逻辑关系的方式,得到各个目标控件各自对应的初始调用路径。具体的,根据获得的各个目标控件中的目标控件x的标识信息,确定目标控件x对应的节点,将目标控件x对应的节点,作为目标控件x对应的初始调用路径的起始节点,并将目标操作区域对应的节点作为终止节点,以及分别从目标控件x对应的起始节点遍历至终止节点,得到目标控件x对应的初始调用路径。
以目标控件x为“聊天”按钮为例,参阅图5所示,根据获得的“聊天”按钮的标识信息,确定“聊天”按钮对应的节点,作为“聊天”按钮对应的初始调用路径的起始节点,并将目标操作区域对应的节点作为终止节点,以及从起始节点开始遍历至终止节点,得到“聊天”按钮对应的初始调用路径,“聊天”按钮对应的初始调用路径为:目标操作区域→“好友列表”→操作区域A→“面板”→操作区域B→“聊天”按钮。
以目标控件x为“返回”按钮为例,参阅图5所示,基于“返回”按钮的标识信息,确定“返回”按钮对应的节点,作为“返回”按钮对应的初始调用路径的起始节点,并将目标操作区域对应的节点作为终止节点,以及从起始节点开始遍历至终止节点,得到“返回”按钮对应的初始调用路径,其中,“返回”按钮对应的初始调用路径为:目标操作区域→“返回”按钮。
S2022、基于得到的各个目标控件各自对应的初始调用路径,分别确定各个目标控件各自对应的目标调用路径。
本申请实施例中,执行S2022时,存在但不限于以下两种可能的情况:
第一种可能的情况:各个目标控件中的目标控件x采用非嵌套方式分布在目标操作区域中,目标控件x对应的初始调用路径中包含:目标操作区域和目标控件x。
具体的,将目标控件x对应的初始调用路径,作为目标控件x对应的目标调用路径。
以目标控件x为“返回”按钮为例,参阅图5所示,“返回”按钮对应的初始调用路径为:目标操作区域→“返回”按钮,,“返回”按钮直接位于目标操作区域中,也就是说,“返回”采用非嵌套方式分布在目标操作区域中,那么,将“返回”按钮对应的初始调用路径,作为“返回”按钮对应的目标调用路径,即“返回”按钮对应的目标调用路径为:目标操作区域→“返回”按钮。
第二种可能的情况:各个目标控件中的目标控件x采用嵌套方式分布在目标操作区域内的嵌套操作区域中,目标控件x对应的初始调用路径中包含:目标操作区域,至少一个链接点控件及相应的嵌套操作区域,目标控件x。
本申请实施例中,链接点控件用于实现操作区域之间的切换。链接点控件采用非嵌套方式分布在目标操作区域中,也可以采用嵌套方式分布在目标操作区域中内的嵌套操作区域中,目标控件x分布于嵌套的最后一层嵌套操作区域中。
以目标控件x为“聊天”按钮为例,参阅图6A所示,“聊天”按钮对应的初始调用路径为:目标操作区域→“好友列表”→操作区域A→“面板”→操作区域B→“聊天”按钮。可见,目标操作界面的目标操作区域中,嵌套操作区域为操作区域A和操作区域B,“好友列表”采用非嵌套方式分布在目标操作区域中,而“面板”采用嵌套方式分布在目标操作区域中内的操作区域A中,“聊天”按钮分布于操作区域A。由于“好友列表”用于在目标操作区域内嵌套操作区域A,“面板”用于在操作区域A内嵌套操作区域B,也就是说,“好友列表”和“面板”均可以实现操作区域的嵌套,因此,“好友列表”和“面板”均为链接点控件。
由于在不同的终端设备或进程中,嵌套操作区域的名称(例如,实例号)会发生变化,例如,在终端设备1中,操作区域A的名称为UserWidget_A,而在终端设备1中,操作区域A的名称为UserWidget_B,因此,当目标控件x对应的初始调用路径中包含有链接点控件对应的嵌套操作区域时,无法直接根据初始调用路径,调用目标控件x。为避免由于嵌套操作区域名称变化导致的无法调用目标控件的问题,本申请实施例中,在第二种可能的情况下,可以采用但不限于以下方式确定目标控件x对应的目标调用路径:
首先、从目标控件x对应的初始调用路径中,删除至少一个链接点控件对应的嵌套操作界面,获得目标控件x对应的中间调用路径。
仍以目标控件x为“聊天”按钮为例,参阅图6A所示,在“聊天”按钮对应的初始调用路径中,链接点控件包括“好友列表”和“面板”,其中,“好友列表”对应的嵌套操作区域为操作区域A,“面板”对应的嵌套操作区域为操作区域B。从“聊天”按钮对应的初始调用路径中,删除操作区域A和操作区域B,获得“聊天”按钮对应的中间调用路径,参阅图6B所示,“聊天”按钮对应的中间调用路径为:目标操作区域→“好友列表”→“面板”→“聊天”按钮。
其次、基于至少一个链接点控件,将目标控件x对应的中间调用路径,转换为目标控件x对应的目标调用路径。
作为一种可能的实现方式,本申请实施例中,可以直接将目标控件x对应的中间调用路径,作为目标控件x对应的目标调用路径。
作为另一种可能的实现方式,考虑到若操作区域内中存在容器类控件(例如,Panel),由于容器类控件中可以包含一个或多个控件,而容器类控件内包含的控件也可以用于实现操作区域的嵌套,因此,目标控件x对应的中间调用路径中可能存在除目标控件x之外的非链接点控件。为了缩短目标调用路径,节省存储空间,本申请实施例中,将目标控件x对应的中间调用路径,转换为目标控件x对应的目标调用路径时,可以但不限于采用以下方式,:
第一种情况:目标控件x对应的初始调用路径中,除目标控件x之外未包含非链接点控件。
具体的,将目标控件x对应的中间调用路径,直接作为目标控件x对应的目标调用路径。
仍以目标控件x为“聊天”按钮为例,参阅图6B所示,“聊天”按钮对应的中间调用路径为:目标操作区域→“好友列表”→“面板”→“聊天”按钮,将“聊天”按钮对应的中间调用路径,直接作为“聊天”按钮对应的目标调用路径,即,“聊天”按钮对应的目标调用路径为:目标操作区域→“好友列表”→“面板”→“聊天”按钮。
第二种情况:目标控件x对应的初始调用路径中,除目标控件x之外还包含非链接点控件。
具体的,从目标控件x对应的中间调用路径中,删除非链接点控件,获得目标控件x对应的目标调用路径。
例如,参阅图7所示,假设,预设的操作逻辑关系表征:目标操作界面的目标操作区域中包含按钮1和面板,面板中至少包含缩放容器和文本框,缩放容器中嵌套有操作区域X,操作区域X中包含按钮2。
以目标控件x为按钮2为例,参阅图8A所示,按钮2的初始调用路径为:目标操作区域→面板→缩放容器(Scale Box)→操作区域X→按钮2,其中,链接点控件为缩放容器,非链接点控件为面板和按钮2。参阅图8B所示,按钮2的中间调用路径为:目标操作区域→面板→缩放容器→按钮2。由于按钮2对应的初始调用路径中,除按钮2之外还包含非链接点控件:面板,因此,获得按钮2对应的中间调用路径之后,从按钮2对应的中间调用路径中,删除面板,得到按钮2对应的目标调用路径。参阅图8C所示,按钮2对应的目标调用路径为:目标操作区域→缩放容器→按钮2。
进一步的,在实际应用过程中,由于一个链接点控件中可以嵌套多个嵌套操作区域,为了便于在删除嵌套操作区域后,区分链接点控件中嵌套的嵌套操作区域,作为第一种可能的实现方式,可以在获得目标控件x对应的目标调用路径之后,在目标控件x对应的目标调用路径中,添加至少一个链接点控件各自对应的嵌套操作区域的描述信息,其中,每个描述信息用于表征相应的链接点控件对应的嵌套操作区域。
本申请实施例中,描述信息可以采用嵌套操作区域在操作逻辑关系中的节点序号表示。
仍以目标控件x为“聊天”按钮为例,参阅图4所示,操作区域A和操作区域D均为嵌套操作区域,操作区域A的节点序号为0,操作界面3的节点序号为0,在获得“聊天”按钮对应的目标调用路径之后,在“聊天”按钮对应的目标调用路径中,添加“好友列表”的描述信息,以及添加“面板”的描述信息,添加描述信息后,“聊天”按钮的目标调用路径为:目标操作区域→“好友列表”|0→“面板”|0→“聊天”按钮,其中,“好友列表”的描述信息用于表征“好友列表”对应的嵌套操作区域为操作区域A,“面板”的描述信息用于表征“面板”对应的嵌套操作区域为操作区域D。
作为第二种可能的实现方式,本申请实施例中,也可以在得到目标控件x对应的初始调用路径之后,基于得到的目标控件x对应的初始调用路径,确定目标控件x对应的目标调用路径之前,在目标控件x的初始调用路径中,添加至少一个链接点控件各自对应的嵌套操作区域的描述信息。
作为第三种可能的实现方式,本申请实施例中,还可以在从目标控件x对应的初始调用路径中,删除至少一个链接点控件对应的嵌套操作区域,获得目标控件x对应的中间调用路径之后,将目标控件x对应的中间调用路径转换为目标控件x对应的目标调用路径之前,在目标控件x的中间调用路径中,添加至少一个链接点控件各自对应的嵌套操作区域的描述信息。
这样,即使删除了嵌套操作区域,在回放过程中,也可以确定的嵌套操作区域,同时,相较于图像,文字的数据量小且易保存,因此,提高了记录效率,减轻了存储压力。
需要说明的是,上文仅以目标控件x为例进行说明,本申请实施例中,其他的目标控件均可以基于上述方式获得各自对应的目标调用路径,在此不再赘述。
S203、按照多个目标操作事件的触发顺序,分别记录各个目标控件各自对应的目标调用路径,获得目标操作方式。
作为一种可能的实现方式,直接将多个目标操作事件的触发顺序作为记录顺序,依次记录各个目标控件各自对应的目标调用路径,获得对应的路径操作组合;将路径操作组合,作为目标操作方式。
例如,假设,多个目标操作事件的触发顺序为:目标操作事件1→目标操作事件2→目标操作事件3,目标操作事件1关联的目标控件为“返回”按钮、目标操作事件2关联的目标控件为“聊天”按钮、目标操作事件3关联的目标控件为“删除”按钮,那么,将各个目标操作事件的触发顺序作为记录顺序,依次记录“返回”按钮、“聊天”按钮、“删除”按钮各自对应的目标调用路径,获得路径操作组合,然后,将路径操作组合,作为目标操作方式。其中,路径操作组合为:
目标操作区域→“返回”按钮;
目标操作区域→“好友列表”|0→“面板”|0→“聊天”按钮;
目标操作区域→“好友列表”|0→“面板”|0→“删除”按钮。
作为另一种可能的实现方式,为了提高记录的操作方式的准确性,保证测试准确性,同时便于后续基于记录的操作方式进行回放,执行S203时,具体的,获取多个目标操作事件的各自对应的触发时间,并基于多个目标操作事件的各自对应的触发时间,确定多个目标操作事件的触发顺序;将触发顺序作为记录顺序,依次针对各个目标控件,记录对应的触发时间和目标调用路径,获得相应的路径操作组合;以及,将路径操作组合,作为目标操作方式。
例如,假设,目标操作事件1、目标操作事件2、目标操作事件3的触发时间分别为2020年10月x日20:00、2020年10月x日20:02、2020年10月x日20:03,目标操作事件1关联的目标控件为“返回”按钮、目标操作事件2关联的目标控件为“聊天”按钮、目标操作事件3关联的目标控件为“删除”按钮。获取目标操作事件1、目标操作事件2、目标操作事件3的各自对应的触发时间之后,基于目标操作事件1、目标操作事件2、目标操作事件3的各自对应的触发时间,确定目标操作事件1、目标操作事件2、目标操作事件3的触发顺序为:目标操作事件1→目标操作事件2→目标操作事件3,然后,将触发顺序作为记录顺序,依次针对“返回”按钮、“聊天”按钮、“删除”按钮,记录对应的触发时间和目标调用路径,获得相应的路径操作组合,然后,将路径操作组合,作为目标操作方式。其中,路径操作组合为:
2020年10月x日20:00目标操作区域→“返回”按钮;
2020年10月x日20:02目标操作区域→“好友列表”|0→“面板”|0→“删除”按钮;
2020年10月x日20:03目标操作区域→“好友列表”|0→“面板”|0→“聊天”按钮。
需要说明的是,本申请实施例中,也可以每获取到基于目标操作区域触发的一个目标操作事件后,基于获得的一个目标操作事件关联的一个目标控件的标识信息,根据预设的操作逻辑关系,确定并记录该一个目标控件对应的目标调用路径,进而,获取到按照多个目标操作事件的触发顺序,记录的各个目标控件各自对应的目标调用路径,作为目标操作方式,在此不再赘述。
本申请实施例中获取的目标操作方式,可以用于对目标操作界面进行回放,参见图9所示,其为本申请实施例中提供的一种根据目标操作方式进行回放的流程示意图,可以应用于上述终端设备110,也可以应用于服务器120,还可以应用于安装有客户端的其他终端设备,其他终端设备可以是个人计算机、手机、平板电脑、笔记本等具有一定计算能力的计算机设备,该回放过程具体包括:
S901、响应于针对目标操作界面触发的界面测试指令,获取目标操作方式。
S902、按照目标操作方式中包含的各个目标调用路径的记录顺序,依次根据各个目标调用路径调用对应的目标控件,执行相应的测试操作。
例如,假设,目标操作方式中包含的各个目标调用路径的记录顺序依次为:“返回”按钮对应的目标调用路径、“聊天”按钮对应的目标调用路径、“删除”按钮对应的目标调用路径,那么,按照目标操作方式中包含的各个目标调用路径的记录顺序,首先,根据“返回”按钮对应的目标调用路径调用“返回”按钮,执行相应的测试操作,接着,根据“聊天”按钮对应的目标调用路径调用“聊天”按钮,执行相应的测试操作,然后,根据“删除”按钮对应的目标调用路径调用“删除”按钮,执行相应的测试操作。
进一步的,为避免单一数据对测试结果的影响,以提高测试准确性,本申请实施例中,每个操作描述信息还可以包括对应的目标操作事件的事件类型,以及对应的目标操作事件关联的目标控件的屏幕触发坐标。进而,在按照多个目标操作事件的触发顺序,分别记录各个目标控件各自对应的目标调用路径,获得目标操作方式时,还可以分别针对各个目标控件各自对应的目标调用路径,关联记录对应的目标控件的屏幕触发坐标以及对应的目标操作事件的事件类型。也就是说,目标操作方式中,针对每个目标操作事件,均记录有对应的目标操作事件的事件类型、目标操作事件关联的目标控件的目标调用路径、以及目标操作事件关联的目标控件的屏幕触发坐标。
例如,参阅表1所示,假设,目标操作方式中记录有目标操作事件1、目标操作事件2、目标操作事件3、目标操作事件x、目标操作事件x+1,其中,目标操作事件1的事件类型为鼠标按钮按下,目标操作事件1关联的目标控件的目标调用路径为:操作界面1→“返回”按钮,目标操作事件1关联的目标控件的屏幕触发坐标为(X=873,Y=527);目标操作事件2的事件类型为鼠标按钮按下,目标操作事件2关联的目标控件的目标调用路径为:操作界面1→“聊天”按钮,目标操作事件2关联的目标控件的屏幕触发坐标为(X=873,Y=527);目标操作事件3、目标操作事件x、目标操作事件x+1不再赘述。
表1目标操作方式
Figure BDA0002993236220000191
示例性的,本申请实施例中,可以基于事件委托机制,监听目标操作界面对应的目标操作区域中触发的多个目标操作事件。事件委托机制是指将监听函数与目标操作事件进行绑定,当触发目标操作事件时,通过广播获取到相应的信息。具体的,将目标操作事件与监听函数进行绑定,进而,当目标操作事件触发时,获取到目标操作事件的事件类型,以及获取到目标操作事件关联的目标控件的标识信息。参阅表2所示,通过监听函数获取的信息中还可以包含额外信息,该额外信息中包含用户输入的用户名、密码等信息。
表2通过监听函数获取的信息
Figure BDA0002993236220000192
由于在回放过程中,一个目标控件的测试操作可以由两个不同事件类型的目标操作事件构成,例如,MouseButtonDown、TouchStart属于开始操作、MouseButtonUp、TouchEnd、拖放(DragDrop)属于结束操作,MouseButtonDown和MouseButtonUp可以组成一个测试操作:点击,TouchStart和TouchEnd也可以组成一个测试操作:点击。因此,在基于目标操作方式进行回放的过程中,响应于针对目标操作界面触发的界面测试指令,获取目标操作方式之后,按照目标操作方式中包含的各个目标调用路径的记录顺序,依次根据各个目标调用路径调用相应的目标控件,执行相应的测试操作之前,还包括:
根据目标操作方式中记录的多个目标操作事件的事件类型,以及多个目标操作事件关联的目标控件的屏幕触发坐标,基于预设的操作映射关系,分别确定各个目标控件各自对应的测试操作;其中,操作映射关系中包含事件类型和屏幕触发坐标,与测试操作之间的映射关系。
例如,参阅图10所示,预设的操作映射关系中,若两个目标操作事件的事件类型分别为鼠标按钮落下、鼠标按钮抬起,且两个目标操作事件关联的目标控件x的屏幕触发坐标相同,则目标控件x对应的测试操作为点击。
又例如,参阅图10所示,预设的操作映射关系中,若两个目标操作事件的事件类型分别为触摸开始、触摸结束,且两个目标操作事件关联的目标控件x的屏幕触发坐标相同,则目标控件x对应的测试操作为点击。
再例如,参阅图10所示,预设的操作映射关系中,若两个目标操作事件的事件类型分别为触摸开始、拖放,且两个目标操作事件关联的目标控件x的屏幕触发坐标之间的距离达到预设距离门限1厘米,则目标控件x对应的测试操作为拖拽
进一步的,考虑到目标调用路径失效情况下无法调用目标控件,为避免测试过程被中断,保证测试效率,本申请实施例中,若根据各个目标调用路径中的调用目标控件x的目标调用路径,调用对应的目标控件x时,获取到路径无效指示,则根据目标控件x的屏幕触发坐标,调用目标控件x,执行相应的测试操作。
以目标控件x为“返回”按钮为例,若根据各个目标调用路径中的“返回”按钮的目标调用路径,调用“返回”按钮时,获取到路径无效指示,则根据“返回”按钮的屏幕触发坐标(X=873,Y=527),调用“返回”按钮,执行相应的测试操作。
下面,结合一个具体的示例对本申请进行说明。
该示例中通过安装在终端设备1上的录制引擎,针对操作界面进行操作方式的录制。该示例中,目标操作界面为基于虚幻4引擎(Unreal Engine 4,UE4)开发的应用程序的操作界面。
参阅图11所示,基于UE4开发的应用程序中包含用户输入层、委托层、应用层(FSlateApplication)和事件处理层。其中,用户输入层用于接收用户输入的针对目标控件的触发操作,示例性的,用户可以通过个人计算机(Personal Computer,PC)进行输入,也可以通过安卓进行输入,还可以通过其他方式进行输入,对此不作限定。不同平台的用户输入都会转化成相应的消息,交由应用层进行处理。
应用层中可以提供预处理函数的注册,预处理函数用于在应用程序响应目标操作事件之前,将目标操作事件关联的目标控件的屏幕触发坐标,通知给录制引擎。
在UE4引擎中,定义了输入事件、焦点事件、鼠标捕获等事件委托,以目标操作事件均为输入事件为例,目标操作事件包含鼠标按下、鼠标抬起、触摸开始、触摸结束等。录制引擎初始化监听函数,并将监听函数绑定到输入事件的委托上,这样,当应用程序响应目标操作事件时,应用程序通过事件委托广播,将目标操作事件关联的目标控件的标识信息以及目标操作事件的事件类型通知给录制引擎。
参阅图12A所示,假设,目标操作界面对应的目标操作区域中包含有用户头像、用户名、“常用功能”面板、“观看历史”面板,“常用功能”面板中嵌套有操作区域1,操作区域1中至少包含“我的下载”按钮和“我的下载”按钮,“观看历史”面板包含“视频1”和“视频2”。参阅图12B所示,其为图12A的目标操作界面的操作逻辑关系,该操作逻辑关系表征:“常用功能”面板、“观看历史”面板采用非嵌套方式分布在目标操作区域内,操作区域1为嵌套操作区域,“我的下载”按钮和“我的下载”按钮采用嵌套方式分布在目标操作区域内的操作区域1中。
首先,用户点击“我的收藏”按钮,录制引擎获得基于目标操作界面触发的目标操作事件1对应的操作描述信息1,操作描述信息1中包含“我的收藏”按钮的标识信息,基于获得的“我的收藏”按钮的标识信息,根据图12B所示的操作逻辑关系,确定并记录“我的收藏”按钮对应的目标调用路径为:目标操作区域→“常用功能”面板→“我的收藏”按钮。
接着,用户点击“视频1”,录制引擎获得基于目标操作界面触发的目标操作事件2对应的操作描述信息2,操作描述信息2中包含视频列表的标识信息,基于获得的视频列表的标识信息,根据图12B所示的操作逻辑关系,确定并记录“视频1”对应的目标调用路径为:目标操作区域→“视频1”。
然后,用户“我的下载”按钮,录制引擎获得基于目标操作界面触发的目标操作事件3对应的操作描述信息3,操作描述信息3中包含“我的下载”按钮的标识信息,基于获得的“我的下载”按钮的标识信息,根据图12B所示的操作逻辑关系,确定并记录“我的下载”按钮对应的目标调用路径为:目标操作区域→“常用功能”面板→“我的下载”按钮。
录制引擎中依次记录有“我的收藏”按钮、“视频1”、“我的下载”按钮各自对应的目标调用路径后,作为目标操作方式。
进而,在终端设备2中基于目标操作方式进行回放时,根据目标操作方式中记录的“我的收藏”按钮、“视频1”、“我的下载”按钮各自对应的目标调用路径,依次调用“我的收藏”按钮、“视频1”、“我的下载”按钮,执行相应的测试操作。
基于相同的发明构思,本申请实施例提供一种操作方式的记录装置。如图13所示,其为操作方式的记录装置1300的结构示意图,可以包括:
监听单元1301,用于针对目标操作界面对应的目标操作区域,获得基于目标操作区域触发的多个目标操作事件各自对应的操作描述信息;其中,每个操作描述信息至少包含对应的目标操作事件关联的目标控件的标识信息;
确定单元1302,用于基于获得的各个目标控件的标识信息,根据预设的操作逻辑关系,确定各个目标控件各自对应的目标调用路径;其中,操作逻辑关系至少包含各个目标控件与目标操作区域之间的嵌套关系;
记录单元1303,用于按照多个目标操作事件的触发顺序,分别记录各个目标控件各自对应的目标调用路径,获得目标操作方式。
可选的,基于获得的各个目标控件的标识信息,根据预设的操作逻辑关系,确定各个目标控件各自对应的目标调用路径时,确定单元1302具体用于:
基于获得的各个目标控件的标识信息,根据操作逻辑关系中包含的嵌套关系,得到各个目标控件各自对应的初始调用路径;其中,每个目标控件对应的初始调用路径表征:从目标操作区域到相应的目标控件的路径;
基于得到的各个目标控件各自对应的初始调用路径,分别确定各个目标控件各自对应的目标调用路径。
可选的,基于得到的各个目标控件各自对应的初始调用路径,分别确定各个目标控件各自对应的目标调用路径时,确定单元1302具体用于:
若各个目标控件中的一个目标控件采用非嵌套方式分布在目标操作区域中,一个目标控件对应的初始调用路径中包含目标操作区域和一个目标控件;则将一个目标控件对应的初始调用路径作为一个目标控件对应的目标调用路径;
若各个目标控件中的一个目标控件采用嵌套方式分布在目标操作区域内的嵌套操作区域中,一个目标控件对应的初始调用路径中至少包含:目标操作区域,至少一个链接点控件及相应的嵌套操作区域,以及一个目标控件,其中,每个链接点控件用于实现操作区域之间的嵌套;则从一个目标控件对应的初始调用路径中,删除至少一个链接点控件对应的嵌套操作区域,获得一个目标控件对应的中间调用路径,并基于至少一个链接点控件,将一个目标控件对应的中间调用路径转换为一个目标控件对应的目标调用路径。
可选的,基于至少一个链接点控件,将一个目标控件对应的中间调用路径转换为一个目标控件对应的目标调用路径时,确定单元1302具体用于:
若一个目标控件对应的初始调用路径中,除一个目标控件之外还包含非链接点控件,则从一个目标控件对应的中间调用路径中,删除非链接点控件,获得一个目标控件对应的目标调用路径;
若一个目标控件对应的初始调用路径中,除一个目标控件之外未包含非链接点控件,则将一个目标控件对应的中间调用路径,作为一个目标控件对应的目标调用路径。
可选的,获得一个目标控件对应的目标调用路径之后,确定单元1302还用于:
在一个目标控件对应的目标调用路径中,添加至少一个链接点控件各自对应的嵌套操作区域的描述信息,其中,每个描述信息用于指示相应的链接点控件对应的嵌套操作区域。
可选的,按照多个目标操作事件的触发顺序,分别记录各个目标控件各自对应的目标调用路径,获得目标操作方式,记录单元1303具体用于:
获取多个目标操作事件的各自对应的触发时间,并基于多个目标操作事件的各自对应的触发时间,确定多个目标操作事件的触发顺序;
将触发顺序作为记录顺序,依次针对各个目标控件,记录对应的触发时间和目标调用路径,获得相应的路径操作组合;
将路径操作组合,作为目标操作方式。
可选的,操作方式的记录装置1300还包括:
回放单元1304,用于响应于针对目标操作界面触发的界面测试指令,获取目标操作方式;以及按照目标操作方式中包含的各个目标调用路径的记录顺序,依次根据各个目标调用路径调用对应的目标控件,执行相应的测试操作。
可选的,每个操作描述信息还包括:相应的目标操作事件的事件类型,以及相应的目标操作事件关联的目标控件的屏幕触发坐标;
则按照多个目标操作事件的触发顺序,分别记录各个目标控件各自对应的目标调用路径,获得目标操作方式时,记录单元1303还用于:
分别针对各个目标控件各自对应的目标调用路径,关联记录对应的目标控件的屏幕触发坐标以及对应的目标操作事件的事件类型。
可选的,响应于针对目标操作界面触发的界面测试指令,获取目标操作方式之后,按照目标操作方式中包含的各个目标调用路径的记录顺序,依次根据各个目标调用路径调用对应的目标控件,执行相应的测试操作之前,回放单元1304还用于:
根据目标操作方式中记录的多个目标操作事件的事件类型,以及多个目标操作事件关联的目标控件的屏幕触发坐标,基于预设的操作映射关系,分别确定各个目标控件各自对应的测试操作;其中,操作映射关系中包含事件类型和屏幕触发坐标,与测试操作之间的映射关系。
可选的,回放单元1304还用于:
若根据各个目标调用路径中的一个目标调用路径,调用对应的一个目标控件时,获取到路径无效指示,则根据一个目标控件的屏幕触发坐标,调用一个目标控件,执行相应的测试操作。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
关于上述实施例中的装置,其中各个单元执行请求的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在介绍了本申请示例性实施方式的操作方式的记录方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。
图14是根据一示例性实施例示出的一种电子设备1400的框图,该装置包括:
处理器1410;
用于存储处理器1410可执行指令的存储器1420;
其中,处理器1410被配置为执行指令,以实现本公开实施例中的操作方式的记录方法,例如图2中所示的步骤或者图9中所示的步骤。
在示例性实施例中,还提供了一种包括操作的存储介质,例如包括操作的存储器1420,上述操作可由电子设备1400的处理器1410执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是随机存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、便携式紧凑盘只读存储器(Compact Disk Read Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
基于同一发明构思,本申请实施例还提供了一种终端设备1500,该终端设备1500可以为智能手机、平板电脑,手提电脑或PC等电子设备。
请参照图15,该终端设备1500包括显示单元1540、处理器1580以及存储器1520,其中,显示单元1540包括显示面板1541,用于显示由用户输入的信息或提供给用户的信息以及终端设备1500的各种操作界面等,在本申请实施例中主要用于显示终端设备1500中已安装的应用程序的操作界面、快捷窗口等。可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)或OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板1541。
处理器1580用于读取计算机程序,然后执行计算机程序定义的方法,例如处理器1580读取游戏应用,从而在该终端设备1500上运行游戏应用,在显示单元1540上显示游戏应用的操作界面。处理器1580可以包括一个或多个通用处理器,还可包括一个或多个DSP(Digital Signal Processor,数字信号处理器),用于执行相关操作,以实现本申请实施例所提供的技术方案。
存储器1520一般包括内存和外存,内存可以为RAM,ROM,以及高速缓存(CACHE)等。外存可以为硬盘、光盘、USB盘、软盘或磁带机等。存储器1520用于存储计算机程序和其他数据,该计算机程序包括应用程序等,其他数据可包括操作系统或应用程序被运行后产生的数据,该数据包括系统数据(例如操作系统的配置参数)和用户数据。本申请实施例中程序指令存储在存储器1520中,处理器1580执行存储其中1520中的程序指令,实现前文论述的操作方式的记录方法。
此外,终端设备1500还可以包括显示单元1540,用于接收输入的数字信息、字符信息或接触式触摸操作/非接触式手势,以及产生与终端设备1500的用户设置以及功能控制有关的信号输入等。具体地,本申请实施例中,该显示单元1540可以包括显示面板1541。显示面板1541例如触摸屏,可收集用户在其上或附近的触摸操作(比如玩家使用手指、触笔等任何适合的物体或附件在显示面板1541上或在显示面板1541的操作),并根据预先设定的程式驱动相应的连接装置。可选的,显示面板1541可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1580,并能接收处理器1580发来的命令并加以执行。在本申请实施例中,若用户对操作界面中的控件进行选中操作,则在显示面板1541中的触摸检测装置检测到触摸操作,则将检测到的触摸操作对应的信号发送的触摸控制器,触摸控制器将信号转换成触点坐标发送给处理器1580,处理器1580根据接收到的触点坐标确定用户选中的控件。
其中,显示面板1541可以采用电阻式、电容式、红外线以及表面声波等多种类型实现。除了显示单元1540,终端设备1500还可以包括输入单元1530,输入单元1530可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。图15中是以输入单元1530包括图像输入设备1531和其它输入设备1532为例。
除以上之外,终端设备1500还可以包括用于给其他模块供电的电源1590、音频电路1560、近场通信模块1570和RF电路1510。终端设备1510还可以包括一个或多个传感器1550,例如加速度传感器、光传感器、压力传感器等。音频电路1560具体包括扬声器1561和麦克风1562等,例如用户可以使用语音控制,终端设备1500可以通过麦克风1562采集用户的声音,可以用户的声音进行控制,并在需要提示用户时,通过扬声器1561播放对应的提示音。
基于同一发明构思,本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中各种可选实现方式中提供的操作方式的记录方法。
在一些可能的实施方式中,本申请提供的操作方式的记录方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在计算机设备上运行时,计算机程序用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的操作方式的记录方法中的步骤,例如,计算机设备可以执行如图2或图9中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、RAM、ROM、可擦式可编程只读存储器(EPROM或闪存)、光纤、CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用CD-ROM并包括程序代码,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (13)

1.一种操作方式的记录方法,其特征在于,该方法包括:
针对目标操作界面对应的目标操作区域,获得基于所述目标操作区域触发的多个目标操作事件各自对应的操作描述信息;其中,每个操作描述信息至少包含对应的目标操作事件关联的目标控件的标识信息;
基于获得的各个目标控件的标识信息,根据预设的操作逻辑关系中包含的所述各个目标控件与所述目标操作区域之间的嵌套关系,得到所述各个目标控件各自对应的初始调用路径,每个目标控件对应的初始调用路径表征:从所述目标操作区域到相应的目标控件的路径;基于得到的所述各个目标控件各自对应的初始调用路径,分别确定所述各个目标控件各自对应的目标调用路径;
按照所述多个目标操作事件的触发顺序,分别记录所述各个目标控件各自对应的目标调用路径,获得目标操作方式;
其中,所述基于得到的所述各个目标控件各自对应的初始调用路径,分别确定所述各个目标控件各自对应的目标调用路径,包括:
若所述各个目标控件中的一个目标控件采用嵌套方式分布在所述目标操作区域内的嵌套操作区域中,所述一个目标控件对应的初始调用路径中至少包含:所述目标操作区域,至少一个链接点控件及相应的嵌套操作区域,以及所述一个目标控件,其中,每个链接点控件用于实现操作区域之间的嵌套;则从所述一个目标控件对应的初始调用路径中,删除所述至少一个链接点控件对应的嵌套操作区域,获得所述一个目标控件对应的中间调用路径,并基于所述至少一个链接点控件,将所述一个目标控件对应的中间调用路径转换为所述一个目标控件对应的目标调用路径。
2.如权利要求1所述的方法,其特征在于,还包括:
若所述各个目标控件中的一个目标控件采用非嵌套方式分布在所述目标操作区域中,所述一个目标控件对应的初始调用路径中包含所述目标操作区域和所述一个目标控件;则将所述一个目标控件对应的初始调用路径作为所述一个目标控件对应的目标调用路径。
3.如权利要求1所述的方法,其特征在于,基于所述至少一个链接点控件,将所述一个目标控件对应的中间调用路径转换为所述一个目标控件对应的目标调用路径,包括:
若所述一个目标控件对应的初始调用路径中,除所述一个目标控件之外还包含非链接点控件,则从所述一个目标控件对应的中间调用路径中,删除所述非链接点控件,获得所述一个目标控件对应的目标调用路径;
若所述一个目标控件对应的初始调用路径中,除所述一个目标控件之外未包含非链接点控件,则将所述一个目标控件对应的中间调用路径,作为所述一个目标控件对应的目标调用路径。
4.如权利要求1-3中任一项所述的方法,其特征在于,获得所述一个目标控件对应的目标调用路径之后,还包括:
在所述一个目标控件对应的目标调用路径中,添加所述至少一个链接点控件各自对应的嵌套操作区域的描述信息,其中,每个描述信息用于指示相应的链接点控件对应的嵌套操作区域。
5.如权利要求1-3中任一项所述的方法,其特征在于,所述按照所述多个目标操作事件的触发顺序,分别记录所述各个目标控件各自对应的目标调用路径,获得目标操作方式,具体包括:
获取所述多个目标操作事件的各自对应的触发时间,并基于所述多个目标操作事件的各自对应的触发时间,确定所述多个目标操作事件的触发顺序;
将所述触发顺序作为记录顺序,依次针对所述各个目标控件,记录对应的触发时间和目标调用路径,获得相应的路径操作组合;
将所述路径操作组合,作为所述目标操作方式。
6.如权利要求1-3中任一项所述的方法,其特征在于,所述按照所述多个目标操作事件的触发顺序,分别记录所述各个目标控件各自对应的目标调用路径,获得目标操作方式之后,还包括:
响应于针对所述目标操作界面触发的界面测试指令,获取所述目标操作方式;
按照所述目标操作方式中包含的各个目标调用路径的记录顺序,依次根据所述各个目标调用路径调用对应的目标控件,执行相应的测试操作。
7.如权利要求6所述的方法,其特征在于,所述每个操作描述信息还包括:对应的目标操作事件的事件类型,以及所述对应的目标操作事件关联的目标控件的屏幕触发坐标;
则所述按照所述多个目标操作事件的触发顺序,分别记录所述各个目标控件各自对应的目标调用路径,获得目标操作方式,还包括:
分别针对所述各个目标控件各自对应的目标调用路径,关联记录对应的目标控件的屏幕触发坐标以及对应的目标操作事件的事件类型。
8.如权利要求7所述的方法,其特征在于,响应于针对所述目标操作界面触发的界面测试指令,获取所述目标操作方式之后,按照所述目标操作方式中包含的各个目标调用路径的记录顺序,依次根据所述各个目标调用路径调用对应的目标控件,执行相应的测试操作之前,还包括:
根据所述目标操作方式中记录的所述多个目标操作事件的事件类型,以及所述多个目标操作事件关联的目标控件的屏幕触发坐标,基于预设的操作映射关系,分别确定所述各个目标控件各自对应的测试操作;其中,所述操作映射关系中包含事件类型和屏幕触发坐标,与测试操作之间的映射关系。
9.如权利要求7或8所述的方法,其特征在于,还包括:
若根据所述各个目标调用路径中的一个目标调用路径,调用对应的一个目标控件时,获取到路径无效指示,则根据所述一个目标控件的屏幕触发坐标,调用所述一个目标控件,执行相应的测试操作。
10.一种操作方式的记录装置,其特征在于,包括:
监听单元,用于针对目标操作界面对应的目标操作区域,获得基于所述目标操作区域触发的多个目标操作事件各自对应的操作描述信息;其中,每个操作描述信息至少包含对应的目标操作事件关联的目标控件的标识信息;
确定单元,用于基于获得的各个目标控件的标识信息,根据预设的操作逻辑关系中包含的所述各个目标控件与所述目标操作区域之间的嵌套关系,得到所述各个目标控件各自对应的初始调用路径,每个目标控件对应的初始调用路径表征:从所述目标操作区域到相应的目标控件的路径;基于得到的所述各个目标控件各自对应的初始调用路径,分别确定所述各个目标控件各自对应的目标调用路径;
记录单元,用于按照所述多个目标操作事件的触发顺序,分别记录所述各个目标控件各自对应的目标调用路径,获得目标操作方式;
其中,所述基于得到的所述各个目标控件各自对应的初始调用路径,分别确定所述各个目标控件各自对应的目标调用路径时,所述确定单元具体用于:
若所述各个目标控件中的一个目标控件采用嵌套方式分布在所述目标操作区域内的嵌套操作区域中,所述一个目标控件对应的初始调用路径中至少包含:所述目标操作区域,至少一个链接点控件及相应的嵌套操作区域,以及所述一个目标控件,其中,每个链接点控件用于实现操作区域之间的嵌套;则从所述一个目标控件对应的初始调用路径中,删除所述至少一个链接点控件对应的嵌套操作区域,获得所述一个目标控件对应的中间调用路径,并基于所述至少一个链接点控件,将所述一个目标控件对应的中间调用路径转换为所述一个目标控件对应的目标调用路径。
11.如权利要求10所述的装置,其特征在于,所述确定单元还用于:
若所述各个目标控件中的一个目标控件采用非嵌套方式分布在所述目标操作区域中,所述一个目标控件对应的初始调用路径中包含所述目标操作区域和所述一个目标控件;则将所述一个目标控件对应的初始调用路径作为所述一个目标控件对应的目标调用路径。
12.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1~9中任一项所述方法的步骤。
13.一种计算机可读存储介质,其特征在于,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行权利要求1~9中任一项所述方法的步骤。
CN202110322021.5A 2021-03-25 2021-03-25 一种操作方式的记录方法、装置、电子设备和存储介质 Active CN112988304B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110322021.5A CN112988304B (zh) 2021-03-25 2021-03-25 一种操作方式的记录方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110322021.5A CN112988304B (zh) 2021-03-25 2021-03-25 一种操作方式的记录方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN112988304A CN112988304A (zh) 2021-06-18
CN112988304B true CN112988304B (zh) 2022-04-29

Family

ID=76333657

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110322021.5A Active CN112988304B (zh) 2021-03-25 2021-03-25 一种操作方式的记录方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN112988304B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117234935A (zh) * 2023-09-28 2023-12-15 重庆赛力斯新能源汽车设计院有限公司 基于虚幻引擎的测试方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107025165A (zh) * 2017-03-07 2017-08-08 腾讯科技(深圳)有限公司 游戏自动化测试方法及相关装置
CN107402877A (zh) * 2016-05-19 2017-11-28 福建天晴数码有限公司 基于Android端的APP测试方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040061714A1 (en) * 2002-09-30 2004-04-01 Microsoft Corporation Logical element tree and method
US8949794B2 (en) * 2012-10-12 2015-02-03 Vmware, Inc. Binding a software item to a plain english control name
US9507700B1 (en) * 2015-12-22 2016-11-29 Sap Se Generic method for automated software testing
CN106095666B (zh) * 2016-06-02 2018-01-09 腾讯科技(深圳)有限公司 游戏自动化测试方法及相关装置
CN106681919B (zh) * 2016-12-22 2019-10-22 上海斐讯数据通信技术有限公司 一种用户界面自动化测试方法及系统
CN108345485B (zh) * 2018-01-30 2021-05-07 口碑(上海)信息技术有限公司 用于界面视图的标识方法及装置
US20200050540A1 (en) * 2018-08-10 2020-02-13 International Business Machines Corporation Interactive automation test

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107402877A (zh) * 2016-05-19 2017-11-28 福建天晴数码有限公司 基于Android端的APP测试方法及系统
CN107025165A (zh) * 2017-03-07 2017-08-08 腾讯科技(深圳)有限公司 游戏自动化测试方法及相关装置

Also Published As

Publication number Publication date
CN112988304A (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
US11086663B2 (en) Preloading application using active window stack
EP3575962B1 (en) Method and device for preloading application, storage medium and intelligent terminal
CN108984225B (zh) 快速启动寄宿应用的方法及设备
CN107038112B (zh) 应用界面的调试方法及装置
WO2019206158A1 (zh) 一种界面显示方法、装置及设备
CN103984538A (zh) 应用场景的识别方法、功耗管理方法、装置及终端设备
US10257342B2 (en) Validating stateful dynamic links in mobile applications
EP3614250A1 (en) Data processing method and electronic device
EP2659357A2 (en) Supporting intelligent user interface interactions
CN108829371B (zh) 界面控制方法、装置、存储介质及电子设备
CN110109598A (zh) 一种动画交互实现方法、装置及电子设备
KR20150004817A (ko) 사용자 인터페이스 웹 서비스
CN112817790A (zh) 模拟用户行为的方法
CN112214271A (zh) 页面引导方法、装置和电子设备
CN112988304B (zh) 一种操作方式的记录方法、装置、电子设备和存储介质
CN109254908A (zh) 可视化回归测试方法、装置、终端设备及可读存储介质
CN109213668B (zh) 操作记录方法、装置及终端
WO2021068382A1 (zh) 多窗口操作控制方法、装置、设备及存储介质
CN107977127B (zh) 更新页面的方法、装置及终端
CN115543831A (zh) 一种测试脚本生成方法、装置、设备和存储介质
CN113342697B (zh) 闪存转换层仿真测试系统及方法
CN111258581B (zh) 基于云服务的应用开发方法、装置、设备及计算机介质
US20180300301A1 (en) Enhanced inking capabilities for content creation applications
CN108170593A (zh) 应用程序运行的方法及装置
CN114995674A (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
GR01 Patent grant
GR01 Patent grant