CN113821437B - 一种页面测试方法、装置、设备及介质 - Google Patents
一种页面测试方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113821437B CN113821437B CN202111114095.6A CN202111114095A CN113821437B CN 113821437 B CN113821437 B CN 113821437B CN 202111114095 A CN202111114095 A CN 202111114095A CN 113821437 B CN113821437 B CN 113821437B
- Authority
- CN
- China
- Prior art keywords
- page
- test
- tested
- interested
- code
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 194
- 238000001545 Page's trend test Methods 0.000 title description 13
- 238000012360 testing method Methods 0.000 claims abstract description 334
- 230000006870 function Effects 0.000 claims description 95
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010998 test method Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000006872 improvement Effects 0.000 description 8
- 238000012905 input function Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000012216 screening Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- 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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
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)
- Debugging And Monitoring (AREA)
Abstract
本说明书实施例公开了一种页面测试方法、装置、设备及介质,页面测试方法包括:获取待测试页面的参数以及测试用例,根据所述参数访问所述待测试页面,获取所述待测试页面的页面元素,并根据所述测试用例从所述页面元素中确定感兴趣页面元素;从预存的方法代码中确定所述感兴趣页面元素对应的目标方法代码,根据所述目标方法代码生成测试代码;或,根据所述测试用例从预存的方法代码中确定目标方法代码,并根据所述目标方法代码生成测试代码;运行所述测试代码,对所述待测试页面中所述感兴趣页面元素进行测试,并确定测试结果。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种页面测试方法、装置、设备及介质。
背景技术
现有技术中,为了对网页进行测试,需要手动获取待测试网页的网页元素,手动编写并执行测试代码,以便对待测试网页进行测试。这样的网页测试方案主要依靠人工手动完成,造成网页测试过程繁杂,耗时较长,且手动方式出错可能性大,从而测试效率较低。
有鉴于此,需要更高效的页面测试方案。
发明内容
本说明书实施例提供一种页面测试方法、装置、设备及介质,用以解决如何更高效地进行页面测试的技术问题。
为解决上述技术问题,本说明书实施例提供如下技术方案:
本说明书实施例提供一种页面测试方法,包括:
获取待测试页面的参数以及测试用例,根据所述参数访问所述待测试页面,获取所述待测试页面的页面元素,并根据所述测试用例从所述页面元素中确定感兴趣页面元素;
从预存的方法代码中确定所述感兴趣页面元素对应的目标方法代码,根据所述目标方法代码生成测试代码;或,根据所述测试用例从预存的方法代码中确定目标方法代码,并根据所述目标方法代码生成测试代码;
运行所述测试代码,对所述待测试页面中所述感兴趣页面元素进行测试,并确定测试结果。
可选的,根据所述测试用例从所述页面元素中确定感兴趣页面元素包括:
根据所述测试用例从所述待测试页面的页面元素中筛选出感兴趣页面元素。
可选的,若从预存的方法代码中确定所述感兴趣页面元素对应的目标方法代码,则从预存的方法代码中确定所述感兴趣页面元素对应的目标方法代码包括:
根据所述感兴趣页面元素的功能,从预存的方法代码中确定与所述感兴趣页面元素的功能对应的方法代码,将所述感兴趣页面元素的功能对应的方法代码确定为感兴趣页面元素对应的目标方法代码。
可选的,所述测试用例包括待测功能,若根据所述测试用例从预存的方法代码中确定目标方法代码,则根据所述测试用例从预存的方法代码中确定目标方法代码包括:
将用于测试所述测试用例包括的待测功能的方法代码确定为目标方法代码。
可选的,根据所述目标方法代码生成测试代码包括:
根据所述测试用例,将所述目标方法代码拼接成测试代码。
可选的,运行所述测试代码包括:
将所述参数插入所述测试代码中,运行插入所述参数后的所述测试代码。
可选的,获取待测试页面的参数包括:
显示测试设置页面,所述测试设置页面用于设置待测试页面的参数,通过所述测试设置页面获取待测试页面的参数;
和/或,
获取测试用例包括:
获取测试用例文件,根据所述测试用例文件生成测试用例。
本说明书实施例提供一种页面测试装置,包括:
定位模块,用于获取待测试页面的参数以及测试用例,根据所述参数访问所述待测试页面,获取所述待测试页面的页面元素,并根据所述测试用例从所述页面元素中确定感兴趣页面元素;
代码模块,用于从预存的方法代码中确定所述感兴趣页面元素对应的目标方法代码,根据所述目标方法代码生成测试代码;或,根据所述测试用例从预存的方法代码中确定目标方法代码,并根据所述目标方法代码生成测试代码;
执行模块,用于运行所述测试代码,对所述待测试页面中所述感兴趣页面元素进行测试,并确定测试结果。
本说明书实施例提供一种页面测试设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行上述的页面测试方法。
本说明书实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述的页面测试方法。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
上述技术方案中自动获取待测试页面的页面元素,自动按照测试用例确定感兴趣页面元素,自动生成测试代码并对待测试页面进行测试,一方面能够简化测试流程,缩短测试时间,提高测试效率;另一方面不需要用户学习或掌握页面元素获取技术或代码编写技术,能够降低用户的学习和使用成本,从而降低用户的网页测试成本,并避免了手动测试,特别是手动编码易出错的情况。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对本说明书实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面介绍的附图仅仅是本说明书中记载的实施例可能涉及的部分附图,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书第一个实施例中的页面测试方法的执行主体示意图。
图2是本说明书第一个实施例中的页面测试方法的流程示意图。
图3是本说明书第一个实施例中的方法代码拼接示意图。
图4是本说明书第二个实施例中的页面测试装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例的附图,对本说明书实施例的技术方案清楚、完整地进行描述。显然,本说明书所描述的实施例仅仅是本申请的部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
现有技术中,为了对网页进行测试,需要手动获取待测试网页的网页元素,手动编写测试代码,通过执行测试代码,对待测试网页进行测试。可见,目前的网页测试方案主要依靠人工手动完成,这就造成网页测试过程繁杂,耗时较长,且手动方式,特别是手动编码,出错可能性大,从而现有网页测试方案效率较低。
本说明书第一个实施例(以下简称“实施例一”)提供了一种页面测试方法,实施例一的执行主体可以是终端(包括但不限于手机、计算机、pad、电视)或者服务器或者操作系统或者应用程序或者页面测试平台或者页面测试系统等,即执行主体可以是多种多样的,可以根据需要设置、使用或者变换执行主体。另外,也可以有第三方应用程序协助所述执行主体执行实施例一。例如图1所示,可以由服务器来执行实施例一中的页面测试方法,并且可以在(用户所持有的)终端上安装(与所述服务器)相对应的应用程序,终端或应用程序与服务器之间可以进行数据传输,通过终端或应用程序来进行数据的采集或输入或输出或(向用户)进行页面或信息处理,从而辅助服务器执行实施例一中的页面测试方法。
如图2所示,实施例一提供的页面测试方法包括:
S101:(执行主体)获取待测试页面的参数以及测试用例,根据所述参数访问所述待测试页面,获取所述待测试页面的页面元素,并根据所述测试用例从所述页面元素中确定感兴趣页面元素;
实施例一的执行主体可以获取待测试页面的参数以及测试用例,获取待测试页面的参数可以包括:显示测试设置页面,所述测试设置页面用于设置待测试页面的参数,通过所述测试设置页面获取待测试页面的参数;和/或,获取测试用例可以包括:获取测试用例文件,根据所述测试用例文件生成测试用例。下面具体说明:
获取待测试页面的参数可以包括:显示测试设置页面,所述测试设置页面用于设置待测试页面的参数,通过所述测试设置页面获取待测试页面的参数。具体的,所述待测试页面可以是web网页或客户端页面,所述参数包括但不限于IP地址或URL。所述测试设置页面可以是实施例一的执行主体根据用户操作所显示的,或者可以是用户操作实施例一的执行主体之外的其他设备,所述其他设备向实施例一的执行主体发送指令,而使实施例一的执行主体显示所述测试设置页面。用户可以通过测试设置页面设置待测试页面的参数,例如可以通过在测试设置页面进行选择或输入待测试页面的IP地址或待测试网页的URL,从而实施例一的执行主体通过测试设置页面获取到通过测试设置页面所设置的参数。
获取测试用例可以包括:获取测试用例文件,根据所述测试用例文件生成测试用例。
具体的,用户可以通过所述测试设置页面导入测试用例文件,以便实施例一的执行主体获取到通过测试设置页面导入的测试用例文件。所述测试用例文件用于表示测试需求,故也可称为测试用例需求文件。所述测试用例文件可以是Word或Excel或其他格式的文件,实施例一对测试用例文件的形式不作具体限定。所述测试用例文件的内容可以包括测试需求内容,测试需求内容包括但不限于测试用例名称、测试用例需要测试的功能(即待测功能)、测试步骤、期望结果等,例如下表1所示:
表1(仅作示例)
实施例一的执行主体可以根据所述测试用例文件生成测试用例(所生成的测试用例以下称为“目标测试用例”)。具体的,实施例一的执行主体可以从所述测试用例文件中提取出测试用例名称、测试用例需要测试的功能、测试步骤内容以及测试用例文件包含的其他内容,根据提取出的内容生成目标测试用例,目标测试用例包含从测试用例文件中提取出的部分或全部内容。一般的,目标测试用例至少包含从测试用例文件中提取出的关键内容,所述关键内容指执行目标测试用例所必须的内容,例如待测功能,测试步骤、期望结果等。
当然,也可以通过测试设置页面设置其他参数,例如表1中需要在输入框输入的内容可以通过测试设置页面设置。实施例一对测试设置页面能够设置的参数内容不作具体限定,实施例一对测试用例文件包括的内容不作具体限定。
另外,实施例一的执行主体也可以从其他主体处获取待测试页面的参数以及测试用例。
实施例一的执行主体可以根据待测试页面的参数,例如待测试页面的IP地址或URL访问待测试页面等参数。实施例一的执行主体访问待测试页面,获取待测试页面的页面元素,所获取的页面元素包括但不限于按钮,输入框,选框(包括复选框和单选框),滑块,具体获取哪些页面元素依待测试页面而定。每种页面元素都具有特定的功能(每种页面元素可以具有功能标签,表征其功能),例如按钮具有跳转功能;输入框具有输入功能;选框具有选中或取消选中功能;滑块具有拖动功能。目标测试用例一般就是把一种或多种页面元素的功能作为待测功能。
实施例一的执行主体获取所述待测试页面的页面元素与获取测试用例并没有绝对的先后顺序。
获取待测试页面的页面元素后,实施例一的执行主体可以根据目标测试用例从待测试页面的页面元素中确定感兴趣页面元素。其中,根据所述目标测试用例从待测试页面的页面元素中确定感兴趣页面元素可以包括:根据所述目标测试用例从所述待测试页面的页面元素中筛选出感兴趣页面元素。具体的,可以根据目标测试用例所包括的待测功能和/或测试步骤从所述待测试页面的页面元素中筛选出感兴趣页面元素,如下1.1和/或1.2所述(实施例一不限于1.1和/或1.2所述):
1.1、根据目标测试用例所包括的待测功能从所述待测试页面的页面元素中筛选出感兴趣页面元素
具体的,可以将与目标测试用例所包括的待测功能对应的页面元素作为感兴趣页面元素,即把具有目标测试用例所包括的待测功能的页面元素作为感兴趣页面元素。例如待测功能包括输入功能,则将待测试页面的页面元素中具有输入功能的输入框作为感兴趣页面元素;例如待测功能包括拖动功能,则将待测试页面的页面元素中具有拖动功能的滑块作为感兴趣页面元素。这种情况下,感兴趣页面元素的功能属于待测功能。
1.2、根据目标测试用例所包括的测试步骤从所述待测试页面的页面元素中筛选出感兴趣页面元素
具体的,可以将所述待测试页面的页面元素中,测试步骤所涉及或所包括的页面元素作为感兴趣页面元素。例如某一测试步骤为“在待测试页面输入框输入文字”,则该测试步骤涉及待测试页面的输入框,故将输入框作为感兴趣页面元素;例如某一测试步骤为“选中待测试页面的复选框”,则该测试步骤涉及待测试页面的复选框,故将复选框作为感兴趣页面元素。
另外,有的测试步骤可能不直接体现或包括页面元素,但可以根据测试步骤确定待测功能,进而根据待测功能从所述待测试页面的页面元素中筛选出感兴趣页面元素。例如某一测试步骤为“在待测试页面输入文字”,该测试步骤并未直接体现页面元素,但根据该测试步骤确定其意图测试待测试页面的输入功能,即根据该测试步骤确定待测功能包括输入功能,则参照1.1,将待测试页面的页面元素中具有输入功能的输入框作为感兴趣页面元素。
由于感兴趣页面元素可以是根据目标测试用例的待测功能或测试步骤确定出来的,故理想情况下,每一待测功能或测试步骤都可以有对应的页面元素作为感兴趣页面元素,但也有可能某一或某些待测功能或测试步骤没有在待测试页面的页面元素中找到对应的页面元素,则将目标测试用例的待测功能或测试步骤所能实际对应到的页面元素作为感兴趣页面元素。
S103:(执行主体)从预存的方法代码中确定所述感兴趣页面元素对应的目标方法代码,根据所述目标方法代码生成测试代码;或,根据所述测试用例从预存的方法代码中确定目标方法代码,并根据所述目标方法代码生成测试代码;
实施例一的执行主体可以预存有用于测试的各种方法(方法即语句序列,例如包括类方法和实例方法)的方法代码(方法代码一般是代码片段或代码块),各种方法对应的方法代码可以存储在方法库或数据库中。实施例一的执行主体还可以预设各种页面元素与各种方法的对应关系,对任一种页面元素,其对应的方法用于测试该种页面元素的功能。由于页面元素对应方法,页面元素具有其功能,方法对应方法代码,故页面元素与方法的对应关系也就是页面元素的功能与方法代码的对应关系,页面元素与方法的对应关系又是页面元素(的功能)与方法代码的对应关系。即页面元素、页面元素的功能、方法、方法代码都可以建立对应关系,对任一种页面元素,其对应的方法代码用于测试该种页面元素的功能。
实施例一的执行主体可以从预存的方法代码中确定目标方法代码,从预存的方法代码中确定目标方法代码例如2.1和/或2.2所述(实施例一不限于2.1和/或2.2所述):
2.1、从预存的方法代码中确定所述感兴趣页面元素对应的目标方法代码
确定感兴趣页面元素后,实施例一的执行主体可以从预存的各方法代码中确定感兴趣页面元素对应的目标方法代码。其中,从预存的各方法代码中确定感兴趣页面元素对应的目标方法代码可以包括:根据感兴趣页面元素的功能,从预存的方法代码中确定与感兴趣页面元素的功能对应的方法代码,将感兴趣页面元素的功能对应的方法代码确定为感兴趣页面元素对应的目标方法代码。
2.2、根据所述测试用例从预存的方法代码中确定目标方法代码
实施例一的执行主体可以根据测试用例从预存的方法代码中确定目标方法代码。如上所述,目标测试用例可以包括待测功能,待测功能实际上就是页面元素的功能,页面元素的功能与方法代码具有对应关系,且任一种页面元素的功能都有对应的方法代码,用于测试该种页面元素的功能。故根据测试用例从预存的方法代码中确定目标方法代码可以包括:将用于测试所述测试用例包括的待测功能的方法代码确定为目标方法代码。例如目标测试用例包括的待测功能包括跳转功能和选中功能,则将用于测试跳转功能和选中功能的方法代码确定为目标方法代码。
另外,由于根据测试步骤也可以确定待测功能,故根据测试用例从预存的方法代码中确定目标方法代码可以包括:根据测试步骤确定待测功能,进而如2.2中根据待测功能确定目标方法代码。
如上述,有可能某一或某些待测功能或测试步骤没有在待测试页面的页面元素中找到对应的页面元素,故一般可以采用2.1的方式确定目标方法代码,即根据实际的感兴趣页面元素确定目标方法代码。而理想情况下,若每一待测功能或测试步骤都可以有对应的页面元素作为感兴趣页面元素,则感兴趣页面元素对应的目标方法代码和根据待测功能或测试步骤确定出的目标方法代码应是相同的。
确定目标方法代码后,实施例一的执行主体可以根据目标测试用例以及目标方法代码生成测试代码。其中,根据目标测试用例以及目标方法代码生成测试代码可以包括:根据目标测试用例,将各目标方法代码拼接成测试代码。
进一步,根据目标测试用例,将各目标方法代码拼接成测试代码可以包括:根据目标测试用例所包括的测试步骤,将各目标方法代码拼接成测试代码。具体的,如上所述,目标测试用例可以包括多个具有顺序的测试步骤,而如1.2所述,可以根据测试步骤从待测试页面的页面元素中筛选出感兴趣页面元素,对于任一测试步骤,可以将根据该测试步骤筛选出的感兴趣页面元素称为该测试步骤对应的感兴趣页面元素。由于测试步骤是有顺序的,那么各个测试步骤对应的感兴趣页面元素可以按照各个测试步骤的顺序进行排序。由于每个感兴趣页面元素有其对应的目标方法代码,故可以按照各感兴趣页面元素的顺序,将各感兴趣页面元素对应的目标方法代码进行拼接,各感兴趣页面元素对应的目标方法代码拼接而成的代码作为测试代码。例如图3所示,假设目标测试用例包括的测试步骤按序排列后是“测试步骤1→测试步骤2→测试步骤3”,根据测试步骤1确定对应的感兴趣页面元素a,根据测试步骤2确定对应的感兴趣页面元素b,根据测试步骤3确定对应感兴趣页面元素c,感兴趣页面元素a对应方法代码A,感兴趣页面元素b对应方法代码B,感兴趣页面元素c对应方法代码C,则按照各个测试步骤的顺序得到的感兴趣目标元素排序就是“感兴趣页面元素a,感兴趣页面元素b,感兴趣页面元素c”,并按照各感兴趣页面元素的顺序将各感兴趣页面元素对应的目标方法代码按照“方法代码A,方法代码B,方法代码C”的顺序进行拼接,以得到测试代码。
S105:(执行主体)运行所述测试代码,对所述待测试页面中所述感兴趣页面元素进行测试,并确定测试结果。
确定测试代码后,实施例一的执行主体可以运行测试代码,对所述待测试页面中所述感兴趣页面元素进行测试。由于方法代码一般是通用的代码片段,有的方法代码中可能需要添加一些页面参数,例如页面IP地址或URL,以便访问和测试待测试页面,故运行测试代码可以包括:将确定的待测试页面的上述参数插入所述测试代码中,运行插入所述参数后的所述测试代码,一般在运行测试代码过程中,能够访问所述待测试页面,对所述待测试页面中所述感兴趣页面元素进行测试。
实施例一的执行主体可以确定测试结果,例如所述感兴趣页面元素的功能是否正常,并形成测试报告。实施例一对测试报告的形式不作具体限定,实施例一的执行主体提供测试报告的显示或导出功能。
下面通过一个普适性、非限定的例子对实施例一进行进一步说明:
假设待测试页面是某网站的注册页面,目标测试用例包括的待测功能包括输入功能、拖动功能、选中功能和跳转功能,测试步骤包括“在页面上半部分的输入框内输入用户名和密码(以下称步骤1)→通过拖动页面显示页面下半部分(以下称步骤2)→对页面下半部分的选框进行选中操作(以下称步骤3)→点击跳转按钮跳转到注册结果页面(以下称步骤4)”。所确定的感兴趣页面元素以及方法代码如表2所示:
表2
按照测试步骤,将感兴趣页面元素排序后是“页面输入框,页面滑块,页面选框,页面跳转按钮”,则按照各感兴趣页面元素的顺序将目标方法代码按照“方法代码C1,方法代码C2,方法代码C3,方法代码C4”的顺序进行拼接,得到测试代码。
实施例一的执行主体将待测试页面的参数插入测试代码的相应位置,并运行插入参数后的测试代码,以便按照上述测试步骤对感兴趣页面对象的功能进行测试,包括测试输入框是否能够正常输入,滑块是否能够正常拖动,选框是否能够正常选中,按钮是否能够正常跳转,是否跳转到预定页面等,并确定测试结果,测试结果可以包括各感兴趣页面对象的实际功能是否符合目标测试用例的期望结果。
实施例一中,自动获取待测试页面的页面元素,自动按照测试用例确定感兴趣页面元素,自动生成测试代码并对待测试页面进行测试,一方面能够简化测试流程,缩短测试时间,提高测试效率;另一方面不需要用户学习或掌握页面元素获取技术或代码编写技术,能够降低用户的学习和使用成本,从而降低用户的网页测试成本,并避免了手动测试,特别是手动编码易出错的情况。
如图4所示,本说明书第二个实施例提供了一种与实施例一所述方法对应的页面测试装置,包括:
定位模块202,用于获取待测试页面的参数以及测试用例,根据所述参数访问所述待测试页面,获取所述待测试页面的页面元素,并根据所述测试用例从所述页面元素中确定感兴趣页面元素;
代码模块204,用于从预存的方法代码中确定所述感兴趣页面元素对应的目标方法代码,根据所述目标方法代码生成测试代码;或,根据所述测试用例从预存的方法代码中确定目标方法代码,并根据所述目标方法代码生成测试代码;
执行模块206,用于运行所述测试代码,对所述待测试页面中所述感兴趣页面元素进行测试,并确定测试结果。
可选的,根据所述测试用例从所述页面元素中确定感兴趣页面元素包括:
根据所述测试用例从所述待测试页面的页面元素中筛选出感兴趣页面元素。
可选的,若从预存的方法代码中确定所述感兴趣页面元素对应的目标方法代码,则从预存的方法代码中确定所述感兴趣页面元素对应的目标方法代码包括:
根据所述感兴趣页面元素的功能,从预存的方法代码中确定与所述感兴趣页面元素的功能对应的方法代码,将所述感兴趣页面元素的功能对应的方法代码确定为感兴趣页面元素对应的目标方法代码。
可选的,所述测试用例包括待测功能,若根据所述测试用例从预存的方法代码中确定目标方法代码,则根据所述测试用例从预存的方法代码中确定目标方法代码包括:
将用于测试所述测试用例包括的待测功能的方法代码确定为目标方法代码。
可选的,根据所述目标方法代码生成测试代码包括:
根据所述测试用例,将所述目标方法代码拼接成测试代码。
可选的,运行所述测试代码包括:
将所述参数插入所述测试代码中,运行插入所述参数后的所述测试代码。
可选的,获取待测试页面的参数包括:
显示测试设置页面,所述测试设置页面用于设置待测试页面的参数,通过所述测试设置页面获取待测试页面的参数;
和/或,
获取测试用例包括:
获取测试用例文件,根据所述测试用例文件生成测试用例。
本说明书第三个实施例提供一种页面测试设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行实施例一所述方法。
本说明书第四个实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现实施例一所述方法。
上述各实施例可以结合使用,不同实施例之间或同一实施例内的名称相同的模块可以是相同或不同的模块。
上述对本说明书特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,附图中描绘的过程不一定必须按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例提供的装置、设备、非易失性计算机可读存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、非易失性计算机存储介质的有益技术效果。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (13)
1.一种页面测试方法,其特征在于,所述方法包括:
获取待测试页面的参数以及测试用例,根据所述参数访问所述待测试页面,获取所述待测试页面的页面元素,并根据所述测试用例从所述待测试页面的页面元素中确定每一测试步骤对应的感兴趣页面元素,所述测试用例包括多个所述测试步骤和多个待测功能;
从预存的方法代码中确定出与所述感兴趣页面元素的功能对应的方法代码,以得到每一所述感兴趣页面元素对应的目标方法代码,所述感兴趣页面元素的功能根据所述感兴趣页面元素具有的功能标签、或目标测试步骤所指示的所述待测功能确定,所述目标测试步骤是所述感兴趣页面元素对应的所述测试步骤;
根据所述多个测试步骤对应的顺序,将各所述感兴趣页面元素对应的目标方法代码进行拼接,以生成测试代码;
运行所述测试代码,对所述待测试页面中所述感兴趣页面元素进行测试,并确定测试结果。
2.如权利要求1所述的方法,其特征在于,所述根据所述测试用例从所述待测试页面的页面元素中确定每一测试步骤对应的感兴趣页面元素,包括:
从所述待测试页面的页面元素中确定出被所述测试步骤所涉及或所包括的所述感兴趣页面元素。
3.如权利要求1所述的方法,其特征在于,所述根据所述测试用例从所述待测试页面的页面元素中确定每一测试步骤对应的感兴趣页面元素,包括:
从所述待测试页面的页面元素中确定出具有所述测试步骤所指示的所述待测功能的所述感兴趣页面元素。
4.如权利要求1所述的方法,其特征在于,所述运行所述测试代码,包括:
将所述参数插入所述测试代码中,运行插入所述参数后的所述测试代码。
5.如权利要求1所述的方法,其特征在于,所述获取待测试页面的参数,包括:
显示测试设置页面,所述测试设置页面用于设置所述待测试页面的参数,通过所述测试设置页面获取所述待测试页面的参数;
和/或,
所述获取测试用例包括:
获取测试用例文件,根据所述测试用例文件生成所述测试用例。
6.一种页面测试装置,其特征在于,所述装置包括:
定位模块,用于获取待测试页面的参数以及测试用例,根据所述参数访问所述待测试页面,获取所述待测试页面的页面元素,并根据所述测试用例从所述待测试页面的页面元素中确定每一测试步骤对应的感兴趣页面元素,所述测试用例包括多个所述测试步骤和多个待测功能;
代码模块,用于从预存的方法代码中确定出与所述感兴趣页面元素的功能对应的方法代码,以得到每一所述感兴趣页面元素对应的目标方法代码,所述感兴趣页面元素的功能根据所述感兴趣页面元素具有的功能标签、或目标测试步骤所指示的所述待测功能确定,所述目标测试步骤是所述感兴趣页面元素对应的所述测试步骤;根据所述多个测试步骤对应的顺序,将各所述感兴趣页面元素对应的目标方法代码进行拼接,以生成测试代码;
执行模块,用于运行所述测试代码,对所述待测试页面中所述感兴趣页面元素进行测试,并确定测试结果。
7.如权利要求6所述的装置,其特征在于,所述代码模块包括感兴趣页面元素确定单元;
所述感兴趣页面元素确定单元,用于从所述待测试页面的页面元素中确定出被所述测试步骤所涉及或所包括的所述感兴趣页面元素。
8.如权利要求6所述的装置,其特征在于,所述代码模块包括感兴趣页面元素确定单元;
所述感兴趣页面元素确定单元,用于从所述待测试页面的页面元素中确定出具有所述测试步骤所指示的所述待测功能的所述感兴趣页面元素。
9.如权利要求6所述的装置,其特征在于,所述执行模块包括运行单元;
所述运行单元,用于将所述参数插入所述测试代码中,运行插入所述参数后的所述测试代码。
10.如权利要求6所述的装置,其特征在于,所述定位模块包括参数获取单元;
所述参数获取单元,用于显示测试设置页面,所述测试设置页面用于设置所述待测试页面的参数,通过所述测试设置页面获取所述待测试页面的参数;
和/或,
所述定位模块包括用例获取单元;
所述用例获取单元,用于所述获取测试用例包括:获取测试用例文件,根据所述测试用例文件生成所述测试用例。
11.一种页面测试设备,其特征在于,所述设备包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行权利要求1至5中任一项所述的页面测试方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现权利要求1至5中任一项所述的页面测试方法。
13.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令被处理器执行时,使得计算机执行权利要求1至5中任一项所述的页面测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111114095.6A CN113821437B (zh) | 2021-09-23 | 2021-09-23 | 一种页面测试方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111114095.6A CN113821437B (zh) | 2021-09-23 | 2021-09-23 | 一种页面测试方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113821437A CN113821437A (zh) | 2021-12-21 |
CN113821437B true CN113821437B (zh) | 2024-06-11 |
Family
ID=78915222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111114095.6A Active CN113821437B (zh) | 2021-09-23 | 2021-09-23 | 一种页面测试方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821437B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110908895A (zh) * | 2019-10-11 | 2020-03-24 | 深圳壹账通智能科技有限公司 | 页面自动化测试方法、装置、计算机设备及存储介质 |
CN110941546A (zh) * | 2019-10-12 | 2020-03-31 | 平安健康保险股份有限公司 | Web页面用例的自动化测试方法、装置、设备及存储介质 |
CN111552627A (zh) * | 2020-03-16 | 2020-08-18 | 平安科技(深圳)有限公司 | 用户界面测试方法、装置、存储介质及计算机设备 |
CN111797026A (zh) * | 2020-07-17 | 2020-10-20 | 上海复深蓝软件股份有限公司 | 测试用例生成方法、装置、计算机设备及存储介质 |
CN111949510A (zh) * | 2019-05-17 | 2020-11-17 | 百度在线网络技术(北京)有限公司 | 测试处理方法、装置、电子设备及可读存储介质 |
CN112631902A (zh) * | 2020-12-16 | 2021-04-09 | 平安普惠企业管理有限公司 | 页面元素的测试方法、装置、电子设备及存储介质 |
CN112667502A (zh) * | 2020-12-23 | 2021-04-16 | 平安普惠企业管理有限公司 | 页面测试方法、装置及介质 |
CN113360385A (zh) * | 2021-06-16 | 2021-09-07 | 北京光启元数字科技有限公司 | 一种测试方法、装置、设备及介质 |
CN113360366A (zh) * | 2020-03-05 | 2021-09-07 | 北京金山云网络技术有限公司 | Web页面测试方法、测试装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9098636B2 (en) * | 2013-12-18 | 2015-08-04 | Software Ag | White-box testing systems and/or methods in web applications |
US11409640B2 (en) * | 2019-05-09 | 2022-08-09 | Sap Se | Machine learning based test case prediction and automation leveraging the HTML document object model |
-
2021
- 2021-09-23 CN CN202111114095.6A patent/CN113821437B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949510A (zh) * | 2019-05-17 | 2020-11-17 | 百度在线网络技术(北京)有限公司 | 测试处理方法、装置、电子设备及可读存储介质 |
CN110908895A (zh) * | 2019-10-11 | 2020-03-24 | 深圳壹账通智能科技有限公司 | 页面自动化测试方法、装置、计算机设备及存储介质 |
CN110941546A (zh) * | 2019-10-12 | 2020-03-31 | 平安健康保险股份有限公司 | Web页面用例的自动化测试方法、装置、设备及存储介质 |
CN113360366A (zh) * | 2020-03-05 | 2021-09-07 | 北京金山云网络技术有限公司 | Web页面测试方法、测试装置、电子设备及存储介质 |
CN111552627A (zh) * | 2020-03-16 | 2020-08-18 | 平安科技(深圳)有限公司 | 用户界面测试方法、装置、存储介质及计算机设备 |
CN111797026A (zh) * | 2020-07-17 | 2020-10-20 | 上海复深蓝软件股份有限公司 | 测试用例生成方法、装置、计算机设备及存储介质 |
CN112631902A (zh) * | 2020-12-16 | 2021-04-09 | 平安普惠企业管理有限公司 | 页面元素的测试方法、装置、电子设备及存储介质 |
CN112667502A (zh) * | 2020-12-23 | 2021-04-16 | 平安普惠企业管理有限公司 | 页面测试方法、装置及介质 |
CN113360385A (zh) * | 2021-06-16 | 2021-09-07 | 北京光启元数字科技有限公司 | 一种测试方法、装置、设备及介质 |
Non-Patent Citations (4)
Title |
---|
Automated Testing of Web Applications Using Combinatorial Strategies;Qi, Xiao-Fang;《JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY》;20181228;第32卷;全文 * |
Web应用程序测试页面对象生成方法研究;陈毅梅;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20200615(第6期);全文 * |
基于页面对象的Web应用测试用例生成方法;王曙燕;郑佳妮;孙家泽;;计算机应用;20190927(第01期);全文 * |
轻量级接口自动化测试框架设计与实践;孙立哲;;计算机应用与软件;20200112(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113821437A (zh) | 2021-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110569428B (zh) | 一种推荐模型的构建方法、装置及设备 | |
US10656907B2 (en) | Translation of natural language into user interface actions | |
CN108334585A (zh) | 一种网页爬虫方法、装置以及电子设备 | |
CN107506181A (zh) | 业务处理、数据处理方法、装置以及电子设备 | |
CN107562777B (zh) | 数据处理方法及其设备 | |
CN107622080B (zh) | 一种数据处理方法及设备 | |
CN108268289B (zh) | web应用的参数配置方法、装置及系统 | |
CN107015903B (zh) | 一种界面测试程序的生成方法、装置及电子设备 | |
CN109426415B (zh) | 一种生成级联选择器的方法及装置 | |
CN112162915A (zh) | 一种测试数据生成方法、装置、设备及存储介质 | |
CN108846069B (zh) | 一种基于标记语言的文档执行方法及装置 | |
CN110990274A (zh) | 一种生成测试案例的数据处理方法、装置及系统 | |
CN111158650B (zh) | 报表模板、报表的生成方法、装置 | |
CN113672323A (zh) | 一种页面展示的方法及装置 | |
CN111538667A (zh) | 一种页面测试的方法及装置 | |
CN117909840A (zh) | 一种模型训练方法、装置、存储介质及电子设备 | |
CN110276056B (zh) | 文档编辑方法、装置、设备及系统 | |
CN113821437B (zh) | 一种页面测试方法、装置、设备及介质 | |
CN116151199A (zh) | 一种网联车辆测试报告的生成方法、装置及设备 | |
CN110874322A (zh) | 一种用于应用程序的测试方法及测试服务器 | |
CN115292196A (zh) | 用户界面测试方法、装置、电子设备及可读存储介质 | |
CN110704742B (zh) | 一种特征提取方法及装置 | |
CN113656290A (zh) | 一种mock点自动识别方法、装置以及设备 | |
CN111639030A (zh) | 一种页面测试方法、装置、设备及存储介质 | |
CN115098090B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220713 Address after: 100190 Beijing Haidian District Zhichun Road 49 No. 3 West 309 Applicant after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd. Address before: 100102 Room 203, 14 and 19, floor 2, building 19, Wangjing Dongyuan seventh district, Chaoyang District, Beijing Applicant before: Beijing Guangqiyuan Digital Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |