CN113407460B - 一种页面测试方法、装置、设备及存储介质 - Google Patents

一种页面测试方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113407460B
CN113407460B CN202110805309.8A CN202110805309A CN113407460B CN 113407460 B CN113407460 B CN 113407460B CN 202110805309 A CN202110805309 A CN 202110805309A CN 113407460 B CN113407460 B CN 113407460B
Authority
CN
China
Prior art keywords
verification
page
target
class
identifier
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
CN202110805309.8A
Other languages
English (en)
Other versions
CN113407460A (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.)
Douyin Vision Co Ltd
Original Assignee
Douyin Vision 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 Douyin Vision Co Ltd filed Critical Douyin Vision Co Ltd
Priority to CN202110805309.8A priority Critical patent/CN113407460B/zh
Publication of CN113407460A publication Critical patent/CN113407460A/zh
Application granted granted Critical
Publication of CN113407460B publication Critical patent/CN113407460B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/3684Test management for test design, e.g. generating new test cases
    • 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开提供了一种页面测试方法、装置、设备及存储介质,所述方法包括:响应于针对目标页面的目标测试操作,获取该目标测试操作对应的测试验证信息。该测试验证信息包括验证类型标识和该目标页面的页面标识。在预设验证类集合中,确定该验证类型标识对应的验证类,该验证类中包括用于测试验证的验证方法,该验证方法与页面标识具有对应关系。在该验证类中,调用与该目标页面的页面标识对应的验证方法,对目标测试操作对应的操作结果进行验证。本公开基于预设验证类集合中的验证方法实现页面测试,通过将测试流与验证方法解耦,即使验证逻辑发生改变,也只需调整预设验证类集合中的验证方法,无需调整页面测试方法的代码,降低了代码维护成本。

Description

一种页面测试方法、装置、设备及存储介质
技术领域
本公开涉及数据处理领域,尤其涉及一种页面测试方法、装置、设备及存储介质。
背景技术
在页面测试中,页面对象(Page Object;PO)包含页面中的静态元素和页面行为,其中,静态元素是指页面上的控件等,页面行为定义了用户在当前页面可触发的操作。
目前,在页面测试方法中,测试流和结果验证逻辑紧密耦合,具体的,用于实现结果验证的断言,通常会写在测试流中对应的页面行为处,用于对该页面行为对应的操作结果进行验证。例如,用于实现对登录验证的断言,通常会写在测试流中的登录操作之后,用于对用户的登录信息进行验证。
但是,由于测试流和结果验证逻辑紧密耦合在页面测试方法中,导致一旦结果验证逻辑(如登录验证逻辑)发生改变,则不得不针对该页面测试方法的代码进行调整,代码维护成本较高。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种页面测试方法、装置、设备及存储介质。
第一方面,本公开提供了一种页面测试方法,所述方法包括:
响应于针对目标页面的目标测试操作,获取所述目标测试操作对应的测试验证信息;其中,所述测试验证信息包括验证类型标识和所述目标页面的页面标识;
在预设验证类集合中,确定所述验证类型标识对应的验证类;其中,所述验证类中包括用于测试验证的验证方法,所述验证方法与页面标识具有对应关系;
在所述验证类中,调用与所述目标页面的页面标识对应的验证方法,对所述目标测试操作对应的操作结果进行验证。
一种可选的实施方式中,所述页面标识属于与所述页面标识具有对应关系的验证方法的输入参数,所述在所述验证类中,调用所述目标页面的页面标识对应的验证方法,对所述目标测试操作对应的操作结果进行验证,包括:
基于验证方法的输入参数维度,从所述验证类中确定与所述目标页面的页面标识相匹配的输入参数所属的验证方法,并将所确定的验证方法作为目标验证方法;
调用所述目标验证方法,对所述目标测试操作对应的操作结果进行验证。
一种可选的实施方式中,所述在预设验证类集合中,确定所述验证类型标识对应的验证类之前,还包括:
从所述测试验证信息中获取所述验证类型标识和所述目标页面的页面标识;
将所述验证类型标识和所述目标页面的页面标识传递至验证方法调用器;其中,所述验证方法调用器用于基于所述验证类型标识和所述页面标识确定验证方法;
相应的,所述在预设验证类集合中,确定所述验证类型标识对应的验证类,在所述验证类中,调用与所述目标页面的页面标识对应的验证方法,对所述目标测试操作对应的操作结果进行验证,包括:
利用所述验证方法调用器,从预设验证类集合中,确定与所述验证类型标识对应的验证类,作为目标验证类;
利用所述验证方法调用器,从所述目标验证类中确定与所述目标页面的页面标识对应的验证方法,并调用所述验证方法对所述目标测试操作对应的操作结果进行验证。
一种可选的实施方式中,所述验证类中包括共用验证方法,所述共用验证方法为基于所述验证类中的各个验证方法中相同的验证逻辑确定;
所述在所述验证类中,调用与所述目标页面的页面标识对应的验证方法,对所述目标测试操作对应的操作结果进行验证,包括:
在所述验证类中,调用与所述目标页面的页面标识对应的验证方法和所述共用验证方法,对所述目标测试操作对应的操作结果进行验证。
一种可选的实施方式中,所述方法还包括:
接收针对目标验证方法的修改请求;其中,所述修改请求携带验证类型标识和页面标识;
在所述预设验证类集合中,确定所述验证类型标识对应的验证类,以及在所述验证类中,确定与所述页面标识对应的验证方法,作为所述目标验证方法;
接收针对所述目标验证方法的修改操作。
第二方面,本公开提供了一种页面测试装置,所述装置包括:
第一获取模块,用于响应于针对目标页面的目标测试操作,获取所述目标测试操作对应的测试验证信息;其中,所述测试验证信息包括验证类型标识和所述目标页面的页面标识;
第一确定模块,用于在预设验证类集合中,确定所述验证类型标识对应的验证类;其中,所述验证类中包括用于测试验证的验证方法,所述验证方法与页面标识具有对应关系;
调用模块,用于在所述验证类中,调用与所述目标页面的页面标识对应的验证方法,对所述目标测试操作对应的操作结果进行验证。
一种可选的实施方式中,所述页面标识属于与所述页面标识具有对应关系的验证方法的输入参数,所述调用模块,包括:
确定子模块,用于基于验证方法的输入参数维度,从所述验证类中确定与所述目标页面的页面标识相匹配的输入参数所属的验证方法,并将所确定的验证方法作为目标验证方法;
调用子模块,用于调用所述目标验证方法,对所述目标测试操作对应的操作结果进行验证。
第三方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现上述的方法。
第四方面,本公开提供了一种设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的方法。
第五方面,本公开提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述的方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例提供了一种页面测试方法,响应于针对目标页面的目标测试操作,获取该目标测试操作对应的测试验证信息。其中,该测试验证信息包括验证类型标识和该目标页面的页面标识。然后,在预设验证类集合中,确定该验证类型标识对应的验证类,其中,该验证类中包括用于测试验证的验证方法,该验证方法与页面标识具有对应关系。进而,在该验证类中,调用与该目标页面的页面标识对应的验证方法,对目标测试操作对应的操作结果进行验证。本公开实施例基于预设验证类集合中的验证方法实现页面测试,通过将测试流与验证方法解耦,即使验证逻辑发生改变,也只需要调整预设验证类集合中的验证方法,无需调整页面测试方法的代码,降低了代码维护成本。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种登录流程的测试流的示意图;
图2为本公开实施例提供的另一种登录流程的测试流的示意图;
图3为本公开实施例提供的一种页面测试方法的流程图;
图4为本公开实施例提供的另一种页面测试方法的流程图;
图5为本公开实施例提供的一种页面测试方法的执行过程示意图;
图6为本公开实施例提供的另一种页面测试方法的执行过程示意图;
图7为本公开实施例提供的一种页面测试装置的结构示意图;
图8为本公开实施例提供的一种页面测试设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
在应用程序的测试领域,页面对象被视为一个原子,它包含页面中的静态元素和页面行为,页面行为定义了用户在当前页面可触发的操作,例如点击某个控件的操作等,这些操作被封装在页面行为中可反复被触发。
测试用例(Test Case)是将软件测试的行为活动做一个科学化的组织归纳,目的是能够将软件测试的行为转化成可管理的模式,同时测试用例也是将测试具体量化的方法之一,不同类别的软件,测试用例是不同的。
实际应用中,在进行页面测试之前,首先基于测试需求编写测试用例。具体的,在测试用例中,针对页面测试中的每个测试流,通常包含多个页面行为,如图1所示,为本公开实施例提供的一种登录流程的测试流的示意图。其中,在触发“输入账号”的页面行为之后,执行对应的断言校验,然后触发执行“输入密码”的页面行为,相应的,执行对应的断言校验,进而触发执行“点击登录”的页面行为,同样的,执行对应的断言校验。可见,目前的测试流与结果验证逻辑(即断言校验)紧密偶合,一旦结果验证逻辑发生改变,则需要针对测试用例进行调整,代码维护成本较高。
为此,本公开提供了一种页面测试方法,响应于针对目标页面的目标测试操作,获取该目标测试操作对应的测试验证信息。其中,该测试验证信息包括验证类型标识和该目标页面的页面标识。然后,在预设验证类集合中,确定该验证类型标识对应的验证类,其中,该验证类中包括用于测试验证的验证方法,该验证方法与页面标识具有对应关系。进而,在该验证类中,调用与该目标页面的页面标识对应的验证方法,对目标测试操作对应的操作结果进行验证。
本公开实施例基于预设验证类集合中的验证方法实现页面测试,通过将测试流与验证方法解耦,即使验证逻辑发生改变,也只需要调整预设验证类集合中的验证方法,无需调整页面测试方法的代码,降低了代码维护成本。
与上述图1所示的登录流程的测试流对比,本公开提供了另一种登录流程的测试流的示意图,参考图2,其中,测试流包括的“输入账号”、“输入密码”和“点击登录”的页面行为,而各个页面行为对应的结果验证逻辑(即断言校验)与测试流是解耦合的,即使结果验证逻辑发生改变,也只需要针对结果验证逻辑的代码进行调整,无需调整测试流的代码,降低了代码维护成本。
基于此,本公开实施例提供了一种页面测试方法,参考图3,为本公开实施例提供的一种页面测试方法的流程图,该方法包括:
S301:响应于针对目标页面的目标测试操作,获取所述目标测试操作对应的测试验证信息。
其中,所述测试验证信息包括验证类型标识和所述目标页面的页面标识。
本公开实施例中,目标页面可以为待测试应用程序中的任意一个页面,目标页面包含页面行为,页面行为用于定义用户在目标页面上可触发的操作。本公开实施例中的目标测试操作属于为用户在目标页面上可触发的操作,例如,目标测试操作可以为上述图1中的“输入账号”操作。
本公开实施例中,在对待测试应用程序进行测试之前,预先编写测试用例。在测试用例的编写阶段,预先为目标页面的目标测试操作设置验证类型标识。其中,验证类型标识用于表征目标测试操作对应的验证方法所属的验证类型,例如,验证类型可以包括弹窗验证类型,属于弹窗验证类型的验证方法用于对弹窗进行验证。
实际应用中,当测试用例中的测试流执行到针对目标页面的目标测试操作时,响应于针对目标页面的该目标测试操作,可以获取该目标测试操作对应的测试验证信息,其中,测试验证信息包括验证类型标识以及该目标页面的页面标识。其中,验证类型标识和页面标识用于共同确定该目标测试操作对应的验证方法。
S302:在预设验证类集合中,确定所述验证类型标识对应的验证类。
其中,所述验证类中包括用于测试验证的验证方法,所述验证方法与页面标识具有对应关系。
本公开实施例中的预设验证类集合包括多个验证类,每个验证类具有对应的验证类型标识,每个验证类中包括多个验证方法。
在测试用例的编写阶段,按照验证方法所属的验证类型,将验证方法进行分类,并将不同类型的验证方法封装在不同的验证类中,每个验证类设置有对应的验证类型标识。
实际应用中,当测试用例中的测试流执行到针对目标页面的目标测试操作时,可以首先获取该目标测试操作对应的验证类型标识和目标页面的页面标识,然后,在预设验证类集合中确定与该验证类型标识对应的验证类。其中,该验证类中封装有目标测试操作对应的验证方法。
S303:在所述验证类中,调用与所述目标页面的页面标识对应的验证方法,对所述目标测试操作对应的操作结果进行验证。
本公开实施例中,在确定验证类型标识对应的验证类之后,基于测试验证信息中的目标页面的页面标识,调用目标测试操作对应的验证方法,对目标测试操作对应的操作结果进行验证。具体的,验证类中的验证方法与页面标识具有对应关系。
举例说明,假设目标测试操作为“点击登录”操作,则“点击登录”操作对应的验证方法可以包括,确定页面上是否显示有“首页”,如果确定页面上显示有“首页”,则说明验证通过,否则说明验证不通过。
一种可选的实施方式中,验证方法的输入参数为页面标识,具体的,在测试用例的编写阶段,基于页面标识为各个验证方法设置输入参数,以便确定各个验证方法的验证对象。也就是说,各个验证方法用于对自身的输入参数的页面进行测试。
本公开实施例中,首先,基于验证方法的输入参数维度,从验证类中确定与目标页面的页面标识相匹配的输入参数所属的验证方法,并将所确定的验证方法作为目标验证方法。然后,调用该目标验证方法,对目标测试操作对应的操作结果进行验证。
一种可选的实施方式中,由于验证方法存储于预设验证类集合中的验证类中,一旦需要对验证方法进行调整,则可以仅调整预设验证类集合中的验证类即可,无需对测试流的代码进行调整,实现了测试流和结果验证逻辑的解耦。
具体的,首先,接收针对目标验证方法的修改请求;其中,所述修改请求携带验证类型标识和页面标识。然后,在所述预设验证类集合中,确定所述验证类型标识对应的验证类,以及在所述验证类中,确定与所述页面标识对应的验证方法,作为所述目标验证方法。接收针对所述目标验证方法的修改操作,实现对预设验证类集合中的该目标验证方法的逻辑更新。本公开实施例提供的页面测试方法中,响应于针对目标页面的目标测试操作,获取该目标测试操作对应的测试验证信息。其中,该测试验证信息包括验证类型标识和该目标页面的页面标识。然后,在预设验证类集合中,确定该验证类型标识对应的验证类,其中,该验证类中包括用于测试验证的验证方法,该验证方法与页面标识具有对应关系。进而,在该验证类中,调用与该目标页面的页面标识对应的验证方法,对目标测试操作对应的操作结果进行验证。本公开实施例基于预设验证类集合中的验证方法实现页面测试,通过将测试流与验证方法解耦,即使验证逻辑发生改变,也只需要调整预设验证类集合中的验证方法,无需调整页面测试方法的代码,降低了代码维护成本。
在上述实施例的基础上,本公开实施例还提供了一种页面测试方法的实施例,参考图4,为本公开实施例提供的另一种页面测试方法的流程图。该方法包括:
S401:响应于针对目标页面的目标测试操作,获取所述目标测试操作对应的测试验证信息。
其中,所述测试验证信息包括验证类型标识和所述目标页面的页面标识。
S402:从所述测试验证信息中获取所述验证类型标识和所述目标页面的页面标识。
S403:将所述验证类型标识和所述目标页面的页面标识传递至验证方法调用器。
本公开实施例中,利用验证方法调用器调用目标测试操作对应的验证方法。具体的,当接收到针对目标页面的目标测试操作时,首先获取目标测试操作对应的验证类型标识和目标页面的页面标识,验证类型标识例如为Action1,目标页面的页面标识例如为OP1。然后,将该验证类型标识和该页面标识作为输入参数传递至验证方法调用器。
实际应用中,验证方法调用器的作用是基于输入参数,调用对应的验证方法。S404:利用所述验证方法调用器,从预设验证类集合中,确定与所述验证类型标识对应的验证类,作为目标验证类。
S405:利用所述验证方法调用器,从所述目标验证类中确定与所述目标页面的页面标识对应的验证方法,并调用所述验证方法对所述目标测试操作对应的操作结果进行验证。
本公开实施例中,在将输入参数传递至验证方法调用器之后,验证方法调用器基于验证类型标识,从预设验证类集合中,确定与该验证类型标识对应的验证类,作为目标验证类,然后,从该目标验证类中确定与该页面标识对应的验证方法,调用所述验证方法对所述目标测试操作对应的操作结果进行验证。
为了便于理解,本公开实施例提供了一种页面测试方法的执行过程示意图。其中,图5中包含测试用例中的部分测试流,测试流包括3个页面的跳转。具体的,当接收到针对目标页面PO1的目标测试操作时,将该目标测试操作对应的验证类型标识Action1和页面标识PO1作为输入参数传递至验证方法调用器,如图5中的Action调用器。
在测试用例的编写阶段,将PO1、PO2、PO3分别对应的验证方法封装在不同的Action类中,如将action(PO1)封装在Action1类中,将action(PO2)封装在Action2类中,由于PO3具有多个验证方法,因此,可以将PO3对应的不同的验证方法,基于验证类型分别封装到不同的Action类中,例如,Action1类中封装有action(PO3),同时Action2类中也封装有action(PO3)。其中,验证方法包括断言和自定义步骤,其中,断言用于对操作结果进行校验,自定义步骤用于辅助断言进行校验。例如,断言在登录操作的操作结果进行验证时,可能存在登录首页处于缓冲状态,即未实现登录页面的展示,对此本公开实施例可以通过自定义刷新步骤实现对登录首页的刷新,以辅助断言进行验证。
值得注意的是,封装在不同Action类中的验证方法对应的验证类型不同,因此,分别封装在Action1类和Action2类中的action(PO3),对应的验证类型不同,实现的验证逻辑也不同。
实际应用中,Action调用器接收到PO1的目标测试操作对应的验证类型标识和PO1之后,基于验证类型标识确定Action1类,其中,验证类型标识可以为Action1,然后,在Action1类中确定输入参数为PO1的验证方法,即action(PO1),基于action(PO1)对PO1的目标测试操作对应的操作结果进行验证。
同样的,当接收到PO2的目标行为操作时,将该目标测试操作对应的验证类型标识和PO2作为输入参数传递至Action调用器,Action调用器基于该验证类型标识Action2确定Action2类,然后,在Action2类中确定输入参数为PO2的验证方法,即action(PO2),基于action(PO2)对PO2的目标测试操作对应的操作结果进行验证。
当测试流执行到PO3时,接收PO3的目标测试操作,将该目标测试操作对应的验证类型标识和PO3作为输入参数传递至Action调用器。值得注意的是,PO3的目标测试操作对应的验证类型标识包括Action1和Action2两个标识,可以利用类型标识数组ActionList存储Action1和Action2。Action调用器遍历ActionList依次获取Action1和Action2,针对Action1,确定对应的Action1类,然后在Action1类中调用输入参数为PO3的验证方法,即action(PO3)。针对Action2,确定对应的Action2类,然后在Action2类中调用输入参数为PO3的验证方法,即action(PO3)。基于Action1类和Action2类中的action(PO3)验证方法,对PO3的目标测试操作对应的操作结果进行验证。
一种可选的实施方式中,如图6所示,为本公开实施例提供的另一种页面测试方法的执行过程示意图,其中,Action调用器接收PageObject和ActionList两个输入参数,以Invoke(PageObject,ActionList)表示,PageObject为页面对象类型,ActionList为自定义Action的数组,可以包括Action1类、Action2类等。Action调用器循环遍历ActionList数组,以查找函数名为Action且参数类型为PageObject的验证方法,如果查找到该验证方法,即action(PageObject)方法,则调用action(PageObject)方法,用于对操作结果进行验证。如果未查找到函数名为Action且参数类型为PageObject的验证方法,则继续遍历ActionList数组,直到确定ActionList数组为空,则说明遍历完成,此时结束流程。
本公开实施例提供的页面测试方法中,基于Action调用器和Action类的Action机制实现测试用例中的测试流和结果验证逻辑的解耦,降低了代码维护成本。
在上述实施例的基础上,为了提高代码的可复用性,本公开实施例在测试用例的编写阶段,可以基于同一验证类型的验证方法中相同的验证逻辑,确定该验证类型对应的共用验证方法。
例如,图5中的Action1类中的验证方法action(PO1)和action(PO3)具有相同的弹窗验证逻辑,因此,可以基于相同的弹窗验证逻辑生成对应的共用验证方法,并将该共用验证方法存储于Action1类中。在调用Action1类中的任意一个验证方法时,默认调用该共用验证方法。
本公开实施例中,在确定验证类型标识对应的验证类之后,在所述验证类中,调用与所述目标页面的页面标识对应的验证方法和所述共用验证方法,对所述目标测试操作对应的操作结果进行验证。
本公开实施例提供的页面测试方法中,基于属于同一验证类型的验证方法中相同的验证逻辑,生成共用验证方法。在页面测试过程中,调用同一验证类中的各个验证方法时均默认调用该验证类中的共用验证方法,实现代码复用。
基于上述方法实施例,本公开还提供了一种页面测试装置,参考图7,为本公开实施例提供的一种页面测试装置的结构示意图,所述装置包括:
第一获取模块701,用于响应于针对目标页面的目标测试操作,获取所述目标测试操作对应的测试验证信息;其中,所述测试验证信息包括验证类型标识和所述目标页面的页面标识;
第一确定模块702,用于在预设验证类集合中,确定所述验证类型标识对应的验证类;其中,所述验证类中包括用于测试验证的验证方法,所述验证方法与页面标识具有对应关系;
调用模块703,用于在所述验证类中,调用与所述目标页面的页面标识对应的验证方法,对所述目标测试操作对应的操作结果进行验证。
一种可选的实施方式中,所述页面标识属于与所述页面标识具有对应关系的验证方法的输入参数,所述调用模块,包括:
确定子模块,用于基于验证方法的输入参数维度,从所述验证类中确定与所述目标页面的页面标识相匹配的输入参数所属的验证方法,并将所确定的验证方法作为目标验证方法;
调用子模块,用于调用所述目标验证方法,对所述目标测试操作对应的操作结果进行验证。
一种可选的实施方式中,所述装置还包括:
第二获取模块,用于从所述测试验证信息中获取所述验证类型标识和所述目标页面的页面标识;
传递模块,用于将所述验证类型标识和所述目标页面的页面标识传递至验证方法调用器;其中,所述验证方法调用器用于基于所述验证类型标识和所述页面标识确定验证方法;
相应的,所述第一确定模块,具体用于:
利用所述验证方法调用器,从预设验证类集合中,确定与所述验证类型标识对应的验证类,作为目标验证类;
所述调用模块,具体用于:
利用所述验证方法调用器,从所述目标验证类中确定与所述目标页面的页面标识对应的验证方法,并调用所述验证方法对所述目标测试操作对应的操作结果进行验证。
一种可选的实施方式中,所述验证类中包括共用验证方法,所述共用验证方法为基于所述验证类中的各个验证方法中相同的验证逻辑确定;
所述调用模块,具体用于:
在所述验证类中,调用与所述目标页面的页面标识对应的验证方法和所述共用验证方法,对所述目标测试操作对应的操作结果进行验证。
一种可选的实施方式中,所述装置还包括:
第一接收模块,用于接收针对目标验证方法的修改请求;其中,所述修改请求携带验证类型标识和页面标识;
第二确定模块,用于在所述预设验证类集合中,确定所述验证类型标识对应的验证类,以及在所述验证类中,确定与所述页面标识对应的验证方法,作为所述目标验证方法;
第二接收模块,用于接收针对所述目标验证方法的修改操作。
本公开实施例提供的页面测试装置中,响应于针对目标页面的目标测试操作,获取该目标测试操作对应的测试验证信息。其中,该测试验证信息包括验证类型标识和该目标页面的页面标识。然后,在预设验证类集合中,确定该验证类型标识对应的验证类,其中,该验证类中包括用于测试验证的验证方法,该验证方法与页面标识具有对应关系。进而,在该验证类中,调用与该目标页面的页面标识对应的验证方法,对目标测试操作对应的操作结果进行验证。本公开实施例基于预设验证类集合中的验证方法实现页面测试,通过将测试流与验证方法解耦,即使验证逻辑发生改变,也只需要调整预设验证类集合中的验证方法,无需调整页面测试方法的代码,降低了代码维护成本。
除了上述方法和装置以外,本公开实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现本公开实施例所述的页面测试方法。
本公开实施例还提供了一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现本公开实施例所述的页面测试方法。
另外,本公开实施例还提供了一种页面测试设备,参见图8所示,可以包括:
处理器801、存储器802、输入装置803和输出装置804。页面测试设备中的处理器801的数量可以一个或多个,图8中以一个处理器为例。在本公开的一些实施例中,处理器801、存储器802、输入装置803和输出装置804可通过总线或其它方式连接,其中,图8中以通过总线连接为例。
存储器802可用于存储软件程序以及模块,处理器801通过运行存储在存储器802的软件程序以及模块,从而执行页面测试设备的各种功能应用以及数据处理。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置803可用于接收输入的数字或字符信息,以及产生与页面测试设备的用户设置以及功能控制有关的信号输入。
具体在本实施例中,处理器801会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器802中,并由处理器801来运行存储在存储器802中的应用程序,从而实现上述页面测试设备的各种功能。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (9)

1.一种页面测试方法,其特征在于,所述方法包括:
响应于针对目标页面的目标测试操作,获取所述目标测试操作对应的测试验证信息;其中,所述测试验证信息包括验证类型标识和所述目标页面的页面标识;所述验证类型标识用于表征所述目标测试操作对应的验证方法所属的验证类型;
在预设验证类集合中,确定所述验证类型标识对应的验证类;其中,所述验证类中包括用于测试验证的验证方法,所述验证类中的验证方法属于所述验证类型标识对应的验证类型,所述验证方法与页面标识具有对应关系;
在所述验证类中,调用与所述目标页面的页面标识对应的验证方法,对所述目标测试操作对应的操作结果进行验证。
2.根据权利要求1所述的方法,其特征在于,所述页面标识属于与所述页面标识具有对应关系的验证方法的输入参数,所述在所述验证类中,调用所述目标页面的页面标识对应的验证方法,对所述目标测试操作对应的操作结果进行验证,包括:
基于验证方法的输入参数维度,从所述验证类中确定与所述目标页面的页面标识相匹配的输入参数所属的验证方法,并将所确定的验证方法作为目标验证方法;
调用所述目标验证方法,对所述目标测试操作对应的操作结果进行验证。
3.根据权利要求1所述的方法,其特征在于,所述在预设验证类集合中,确定所述验证类型标识对应的验证类之前,还包括:
从所述测试验证信息中获取所述验证类型标识和所述目标页面的页面标识;
将所述验证类型标识和所述目标页面的页面标识传递至验证方法调用器;其中,所述验证方法调用器用于基于所述验证类型标识和所述页面标识确定验证方法;
相应的,所述在预设验证类集合中,确定所述验证类型标识对应的验证类,在所述验证类中,调用与所述目标页面的页面标识对应的验证方法,对所述目标测试操作对应的操作结果进行验证,包括:
利用所述验证方法调用器,从预设验证类集合中,确定与所述验证类型标识对应的验证类,作为目标验证类;
利用所述验证方法调用器,从所述目标验证类中确定与所述目标页面的页面标识对应的验证方法,并调用所述验证方法对所述目标测试操作对应的操作结果进行验证。
4.根据权利要求2或3所述的方法,其特征在于,所述验证类中包括共用验证方法,所述共用验证方法为基于所述验证类中的各个验证方法中相同的验证逻辑确定;
所述在所述验证类中,调用与所述目标页面的页面标识对应的验证方法,对所述目标测试操作对应的操作结果进行验证,包括:
在所述验证类中,调用与所述目标页面的页面标识对应的验证方法和所述共用验证方法,对所述目标测试操作对应的操作结果进行验证。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收针对目标验证方法的修改请求;其中,所述修改请求携带验证类型标识和页面标识;
在所述预设验证类集合中,确定所述验证类型标识对应的验证类,以及在所述验证类中,确定与所述页面标识对应的验证方法,作为所述目标验证方法;
接收针对所述目标验证方法的修改操作。
6.一种页面测试装置,其特征在于,所述装置包括:
第一获取模块,用于响应于针对目标页面的目标测试操作,获取所述目标测试操作对应的测试验证信息;其中,所述测试验证信息包括验证类型标识和所述目标页面的页面标识;所述验证类型标识用于表征所述目标测试操作对应的验证方法所属的验证类型;
第一确定模块,用于在预设验证类集合中,确定所述验证类型标识对应的验证类;其中,所述验证类中包括用于测试验证的验证方法,所述验证类中的验证方法属于所述验证类型标识对应的验证类型,所述验证方法与页面标识具有对应关系;
调用模块,用于在所述验证类中,调用与所述目标页面的页面标识对应的验证方法,对所述目标测试操作对应的操作结果进行验证。
7.根据权利要求6所述的装置,其特征在于,所述页面标识属于与所述页面标识具有对应关系的验证方法的输入参数,所述调用模块,包括:
确定子模块,用于基于验证方法的输入参数维度,从所述验证类中确定与所述目标页面的页面标识相匹配的输入参数所属的验证方法,并将所确定的验证方法作为目标验证方法;
调用子模块,用于调用所述目标验证方法,对所述目标测试操作对应的操作结果进行验证。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现如权利要求1-5任一项所述的方法。
9.一种设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-5任一项所述的方法。
CN202110805309.8A 2021-07-16 2021-07-16 一种页面测试方法、装置、设备及存储介质 Active CN113407460B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110805309.8A CN113407460B (zh) 2021-07-16 2021-07-16 一种页面测试方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110805309.8A CN113407460B (zh) 2021-07-16 2021-07-16 一种页面测试方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113407460A CN113407460A (zh) 2021-09-17
CN113407460B true CN113407460B (zh) 2023-04-11

Family

ID=77686642

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110805309.8A Active CN113407460B (zh) 2021-07-16 2021-07-16 一种页面测试方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113407460B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981958A (zh) * 2012-12-19 2013-03-20 青岛海信传媒网络技术有限公司 软件测试方法和测试装置
CN111581091A (zh) * 2020-04-30 2020-08-25 北京字节跳动网络技术有限公司 页面测试方法、装置、可读介质及电子设备
CN111930629A (zh) * 2020-08-14 2020-11-13 工银科技有限公司 页面测试方法、装置、电子设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070038894A1 (en) * 2005-08-09 2007-02-15 Microsoft Corporation Test Data verification with different granularity levels
US7529977B2 (en) * 2006-05-31 2009-05-05 Microsoft Corporation Automated extensible user interface testing
CN103150249B (zh) * 2011-12-07 2015-12-16 北京新媒传信科技有限公司 一种自动化测试的方法和系统
CN104111885B (zh) * 2013-04-22 2017-09-15 腾讯科技(深圳)有限公司 接口测试结果的校验方法和装置
US20180137026A1 (en) * 2016-11-16 2018-05-17 Paypal, Inc. Service Test Validation Framework
CN108319575B (zh) * 2018-01-30 2021-06-29 百度在线网络技术(北京)有限公司 一种页面组件的校验方法、装置、服务器和存储介质
CN109614313A (zh) * 2018-10-25 2019-04-12 平安科技(深圳)有限公司 自动化测试方法、装置及计算机可读存储介质
CN111124919A (zh) * 2019-12-24 2020-05-08 浙江诺诺网络科技有限公司 一种用户界面的测试方法、装置、设备及存储介质
CN111459821B (zh) * 2020-04-01 2023-05-30 汇通达网络股份有限公司 一种基于TestNG的软件自动化单元测试方法
CN113110982B (zh) * 2021-03-29 2023-02-03 青岛海尔科技有限公司 数据访问层验证方法及装置、存储介质及电子装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981958A (zh) * 2012-12-19 2013-03-20 青岛海信传媒网络技术有限公司 软件测试方法和测试装置
CN111581091A (zh) * 2020-04-30 2020-08-25 北京字节跳动网络技术有限公司 页面测试方法、装置、可读介质及电子设备
CN111930629A (zh) * 2020-08-14 2020-11-13 工银科技有限公司 页面测试方法、装置、电子设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Junmei Wang等.Research on Automation Testing Technology Based on Image Recognition.2019 International Conference on Virtual Reality and Intelligent Systems (ICVRIS).2019,第40-42页. *
彭新宇.基于Selenium的Web自动化测试框架研究与实现.中国优秀硕士学位论文全文数据库 信息科技辑.2021,I138-90. *
朱方祥.Windows应用程序自动化测试关键技术设计与实现.中国优秀硕士学位论文全文数据库 信息科技辑.2019,I138-736. *

Also Published As

Publication number Publication date
CN113407460A (zh) 2021-09-17

Similar Documents

Publication Publication Date Title
CN111143087B (zh) 一种接口调用方法、装置、存储介质和服务器
KR101266359B1 (ko) 선택적 오류 주입 활성화를 통한 저비용 소프트웨어 신뢰성 시험 방법, 소프트웨어 신뢰성 시험을 지정 대상 모듈로 한정하는 방법, 소프트웨어 신뢰성 시험을 위한 대상 모듈에 부하를 발생시키는 방법 및 이러한 방법들을 사용하여 소프트웨어 신뢰성 시험을 하는 컴퓨팅 장치
US9525706B2 (en) Apparatus and method for diagnosing malicious applications
CN108984389B (zh) 一种应用程序测试方法及终端设备
CN109492181B (zh) 页面跳转方法、装置、计算机设备和存储介质
CN107203465B (zh) 系统接口测试方法及装置
US10191751B2 (en) Information processing device for generating application programming interface information
US11327739B2 (en) Method and apparatus for improving runtime performance after application update in electronic device
CN111144839A (zh) 一种项目构建方法、持续集成系统及终端设备
CN113626102A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN110609755A (zh) 跨区块链节点的消息处理方法及装置、设备、介质
CN111949513A (zh) 一种配置文件加载方法、装置、电子设备和可读存储装置
CN107733866A (zh) Rpc请求、rpc请求处理方法、装置以及设备
CN113407460B (zh) 一种页面测试方法、装置、设备及存储介质
CN112199272A (zh) 一种智能终端的测试方法、装置、终端设备及介质
CN117194259A (zh) 接口测试方法、系统、电子设备及存储介质
CN109324838B (zh) 单片机程序的执行方法、执行装置及终端
US8407175B2 (en) Method, apparatus and product for SAT solving using templates clauses
CN116049000A (zh) 环境参数配置方法、装置、设备、存储介质及产品
CN114625106B (zh) 车辆诊断的方法、装置、电子设备及存储介质
CN113742156A (zh) 联调方法、装置、电子设备及存储介质
CN112543104A (zh) 应用程序打包方法、装置、电子设备及存储介质
KR20220067449A (ko) 보안성 및 신뢰성이 향상된 자동 실행 스크립트 파일의 생성 장치 및 방법과, 이의 실행 장치 및 방법
CN117436069A (zh) 用户进程的权限验证方法、装置、设备及介质
CN112597717B (zh) Ip核验证方法、装置及电子设备

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: Tiktok vision (Beijing) Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant