CN115687107A - 页面测试方法、装置、电子设备以及存储介质 - Google Patents

页面测试方法、装置、电子设备以及存储介质 Download PDF

Info

Publication number
CN115687107A
CN115687107A CN202211313986.9A CN202211313986A CN115687107A CN 115687107 A CN115687107 A CN 115687107A CN 202211313986 A CN202211313986 A CN 202211313986A CN 115687107 A CN115687107 A CN 115687107A
Authority
CN
China
Prior art keywords
test
case
target
file
test case
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
Application number
CN202211313986.9A
Other languages
English (en)
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.)
Guangzhou Automobile Group Co Ltd
Original Assignee
Guangzhou Automobile Group 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 Guangzhou Automobile Group Co Ltd filed Critical Guangzhou Automobile Group Co Ltd
Priority to CN202211313986.9A priority Critical patent/CN115687107A/zh
Publication of CN115687107A publication Critical patent/CN115687107A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本申请公开了一种页面测试方法、装置、电子设备及存储介质,方法包括:获取针对目标页面的目标测试表,目标测试表包括用例表以及对应用例表的用例步骤表,用例表包括针对目标页面的目标测试用例,用例步骤表包括目标测试用例中各个测试步骤的测试内容;通过预置测试工具,对用例表以及用例步骤表进行解析,得到用例数据文件和测试用例文件;根据用例数据文件以及测试用例文件,对目标页面进行测试,得到针对目标页面的测试结果。通过本申请的方法,直接通过用例表以及用例步骤表来获得用例数据文件以及测试用例文件,不需要技术人员手动编写测试用例和用例数据文件,提高了用例数据文件以及测试用例文件获得效率,进而提高了目标页面的测试效率。

Description

页面测试方法、装置、电子设备以及存储介质
技术领域
本申请涉及电子设备控制技术领域,更具体地,涉及一种页面测试方法、装置、电子设备以及存储介质。
背景技术
目前,对于页面(例如前端页面)的测试验证一般是由技术人员通过JavaScript等工具,手动编写测试用例,在通过编写的测试用例,对页面进行测试。但是,采用该方法对页面测试,测试效率较低。
发明内容
有鉴于此,本申请提出了一种页面测试方法、装置、电子设备以及存储介质,以解决上述问题。
第一方面,本申请实施例提供了一种页面测试方法,方法包括:获取针对目标页面的目标测试表,目标测试表包括用例表以及对应用例表的用例步骤表,用例表包括针对目标页面的目标测试用例,用例步骤表包括目标测试用例中各个测试步骤的测试内容;通过预置测试工具,对用例表以及用例步骤表进行解析,得到用例数据文件和测试用例文件;根据用例数据文件以及测试用例文件,对目标页面进行测试,得到针对目标页面的测试结果。
第二方面,本申请实施例提供了一种页面测试装置,装置包括:获取模块,用于获取针对目标页面的目标测试表,目标测试表包括用例表以及对应用例表的用例步骤表,用例表包括针对目标页面的目标测试用例,用例步骤表包括目标测试用例中各个测试步骤的测试内容;解析模块,用于通过预置测试工具,对用例表以及用例步骤表进行解析,得到用例数据文件和测试用例文件;测试模块,用于根据用例数据文件以及测试用例文件,对目标页面进行测试,得到针对目标页面的测试结果。
第三方面,本申请实施例提供了一种电子设备,电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于执行上述第一方面的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有程序代码,其中,在程序代码被处理器运行时执行上述的方法。
本申请实施例提供一种页面测试方法、装置、电子设备以及存储介质,直接通过预置测试工具对用例表以及用例步骤表处理,来获得用例数据文件以及测试用例文件,不需要技术人员手动编写测试用例和用例数据文件,省去了用例数据文件以及测试用例文件的编写时长,提高了用例数据文件以及测试用例文件获得效率,从而提高了目标页面的测试效率。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本申请一个实施例提出的一种页面测试方法流程图。
图2示出了本申请实施例中一种环境信息表的示意图。
图3示出了根据本申请又一个实施例提出的一种页面测试方法的流程图。
图4示出了本申请实施例中一种用例表的示意图。
图5示出了根据本申请再一个实施例提出的一种页面测试方法的流程图。
图6示出了本申请实施例中一种用例步骤表的示意图。
图7示出了本申请实施例中一种节点信息表的示意图。
图8示出了根据本申请再一个实施例提出的一种页面测试方法的流程图。
图9示出了本申请实施例中页面测试过程的示意图。
图10示出了本申请一个实施例提出的一种页面测试装置的结构框图。
图11示出了本申请实施例提供的一种电子设备的结构框图。
图12示出了本申请实施例提供的一种计算机可读存储介质的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。根据本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。。
参照图1,图1示出了根据本申请一个实施例提出的一种页面测试方法流程图,方法用于电子设备,方法包括:
S110、获取针对目标页面的目标测试表,目标测试表包括用例表以及对应用例表的用例步骤表,用例表包括针对目标页面的目标测试用例,用例步骤表包括目标测试用例中各个测试步骤的测试内容。
在本申请中,目标页面可以是指待进行测试的页面,目标页面可以是网络页面或应用程序的页面,例如目标页面可以是a网站的首页,又如,目标页面也可以是b应用程序中的搜索页面。
目标页面可以包括一个目标页面,目标页面也可以包括多个目标页面。目标测试表可以是指针对目标页面的测试表,目标表测试表包括用例表和用例表对应的用例步骤表,用例表包括针对目标页面的目标测试用例,用例步骤表包括目标测试用例中各个测试步骤的测试内容。其中,目标测试用例则是指针对目标页面的测试用例。
当目标页面包括多个时,用例表可以包括多个目标页面各自对应的目标测试用例,不同目标页面的目标测试用例按照一特定顺序(例如用户设置的顺序,或者用例名称的首字母从A到Z的顺序等)排列,同一个目标页面下的目标测试用例的顺序按照各个又一特定顺序(例如用户设置的顺序,或者用例名称的首字母从A到Z的顺序等)排列。
例如,目标页面包括C1页面、C2页面以及C3页面,C1页面、C2页面以及C3页面的排列顺序为C1、C3和C2,C1页面对应2个目标测试用例(az用例以及cz用例),C2页面包括3个目标测试用例(my用例、cy用例以及rh用例),C3页面包括2个目标测试用例(pz用例以及fy用例),此时,每个目标页面对应的目标测试用例的排列顺序可以是首字母从A到Z的顺序,针对目标页面的用例表包括10个目标测试用例,10个目标测试用例的排列顺序为:az用例、cz用例、fy用例、pz用例、my用例、cy用例以及rh用例。
每一个目标测试用例可以对应一个用例步骤表,或,目标页面的全部目标测试用例的对应一个用例步骤表。每一目标测试用例的各个测试步骤对应有测试顺序,各个测试步骤按照测试顺序排列。
例如,目标测试用例包括4个测试步骤:D1测试步骤、D2测试步骤、D3测试步骤以及D4测试步骤,其中,该四个测试步骤的测试顺序依次为D1测试步骤、D4测试步骤、D2测试步骤以及D3测试步骤,此时,该四个测试步骤在用例步骤表中的排列顺序依次是D1测试步骤、D4测试步骤、D2测试步骤以及D3测试步骤。
测试步骤的测试内容可以是指该测试步骤具体的内容,例如,测试步骤E为点击F页面的G控件,则该测试步骤E的测试内容为:点击F页面的G控件。
S120、通过预置测试工具,对用例表以及用例步骤表进行解析,得到用例数据文件和测试用例文件。
在本实施例中,预置测试工具可以是指cypress框架,可以在电子设备中安装cypress框架,通过该cypress框架,对用例表以及用例步骤表进行解析,得到用例数据文件和测试用例文件。
测试用例文件是指对应上述各个目标测试用例的用例文件,每个目标测试用例可以对应一个测试用例文件,一个目标测试用例的具体内容包含于一个测试用例文件。用例数据文件可以是指包括各个目标测试用例的数据源的文件,各个目标测试用例的数据源可以包含于同一个用例数据文件中。
S130、根据用例数据文件以及测试用例文件,对目标页面进行测试,得到针对目标页面的测试结果。
得到用例数据文件以及测试用例文件,从用例数据文件中获取每个目标测试用例对应的用例数据,并从测试用例文件中获取对应每个目标测试用例的测试用例文件,将每个目标测试用例对应的用例数据文件中的用例数据作为该目标测试用例对应的测试用例文件的数据源,并通过该目标测试用例对应的测试用例文件,对标页面进行测试,得到针对目标页面的测试结果。其中,测试结果可以是指针对目标页面的测试结果。
当目标页面包括多个时,测试结果可以包括多个目标页面各自对应的测试结果,每个目标页面对应的测试结果还可以包括该目标页面对应的各目标测试用例各自对应的测试结果。
作为一种实施方式,目标测试表还包括环境信息表,环境信息表包括目标页面的环境信息;S130可以包括:从环境信息表获取目标页面的环境信息;根据目标页面的环境信息,访问目标页面;根据用例数据文件以及测试用例文件,对目标页面进行测试,得到针对目标页面的测试结果。
在本实施例中,目标页面的环境信息可以包括用于登录目标页面的测试账号、用于登录目标页面的密码、目标页面的测试地址、cookie以及token等各项config和env信息。
环境信息表可以包括环境信息的具体值、键以及环境信息状态。如图2所示,isRun表示环境信息状态,yes表示环境信息需要被采用,no为环境信息不采用,图2中的key是指键,表示环境信息所对应的验证信息,图2中的具体值是指目标页面的地址信息。
作为一种实施方式,可以通过预置测试工具对环境信息表进行分析,得到目标页面的环境信息,然后通过目标页面的环境信息,访问目标页面。
本实施例中,直接通过预置测试工具对用例表以及用例步骤表处理,来获得用例数据文件以及测试用例文件,不需要技术人员手动编写测试用例和用例数据文件,省去了用例数据文件以及测试用例文件的编写时长,提高了用例数据文件以及测试用例文件获得效率,从而提高了目标页面的测试效率。
参照图3,图3示出了根据本申请又一个实施例提出的一种页面测试方法的流程图,方法用于电子设备,方法包括:
S210、获取针对目标页面的目标测试表,目标测试表包括用例表以及对应用例表的用例步骤表,用例表包括针对目标页面的目标测试用例,用例步骤表包括目标测试用例中各个测试步骤的测试内容。
其中,S210的描述参照上文S110的描述,此处不再赘述。
S220、从用例表中获取目标测试用例的用例状态;若目标测试用例的用例状态为执行测试,将目标测试用例确定为选定测试用例。
目标测试用例的用例状态可以是指目标测试用例是否执行测试,若目标测试用例的用例状态为执行测试,则将目标测试用例确定为选定测试用例,若目标测试用例的用例状态为不执行测试,则将目标测试用例确定为舍弃测试用例,不进行该目标测试用例的测试用例文件以及用例数据文件的获取过程。
若目标测试用例包括多个,多个目标测试用例按照一特定顺序(参照上文描述,此处不再赘述)排列,从第一个目标测试用例开始,针对每个目标测试用例,执行S220的步骤,若当前的一个目标测试用例的用例状态为不执行测试,则跳过当前的目标测试用例,对下一个目标测试用例进行判断。
用例表用于对目标测试用例进行管理。用例表包括多个目标测试用例的用例名称、用例状态、方法以及方法值。如图4所示,caseId表示用例名称;图4中的isRun表示用例状态,yes为执行测试用例,no为不执行测试用例,在图4中示出的7个目标测试用例中有一个目标测试用例SOA交互为不执行测试,图4中method是指方法,各个目标测试用例的中方法均为toSheet,表示指向表格;图4中的methodValue为方法值,是指方法所对应的具体值,也就是toSheet所指向的表格的名称,例如SOA服务的方法值为指向SOA服务表。
S230、通过预置测试工具,获取并解析选定测试用例对应的用例步骤表,得到对应选定测试用例的数据解析结果和用例文件。
基于上文描述,每个目标测试用例可以对应一个用例步骤表,当目标测试用例确定为选定测试用例时,通过预置测试工具获取该选定测试用例的用例步骤表,并解析选定测试用例对应的用例步骤表,得到对应选定测试用例的数据解析结果和用例文件。
S240、根据选定测试用例的数据解析结果,得到用例数据文件;根据选定测试用例的用例文件,得到测试用例文件。
当目标测试用例包括一个,且该目标测试用例确定为选定测试用例时,将该选定测试用例的用例文件确定为测试用例文件,且得到的测试用例文件包括一个目标测试用例对应的用例文件;同时,将该选定测试用例的数据解析结果写入用例数据文件。
当目标测试用例包括多个,确定的选定测试用例也为多个时,针对每个选定测试用例,将该选定测试用例的用例文件确定为测试用例文件,且得到的测试用例文件包括多个选定测试用例各自对应的测试用例文件;同时,将该选定测试用例的数据解析结果写入用例数据文件中前一个选定测试用例的数据解析结果之后,以将该选定测试用例对应的数据解析结果补充在用例数据文件。
用例数据文件可以是通过基于cypress框架开发的xlsxToJson.js转换程序生成的一个json格式的文件,各个多个选定测试用例对应的用例数据文件可以是均保存于该文件中。
也可以是通过基于cypress框架开发的xlsxToJson.js转换程序对每个选定测试用例的用例步骤表进行分析,得到每个选定测试用例的用例文件。
S250、根据用例数据文件以及测试用例文件,对目标页面进行测试,得到针对目标页面的测试结果。
其中,S250的描述参照上文S130的描述,此处不再赘述。
在本实施例中,可以在用例表中直接对各个目标测试用例的用例状态进行配置,进而直接通过用例状态确定目标测试用例是否需要执行,不需要重新删除或配置目标测试用例,提高用例数据文件以及测试用例文件的获得效率。
参照图5,图5示出了根据本申请再一个实施例提出的一种页面测试方法的流程图,方法用于电子设备,方法包括:
S310、获取针对目标页面的目标测试表,目标测试表包括用例表以及对应用例表的用例步骤表,用例表包括针对目标页面的目标测试用例,用例步骤表包括目标测试用例中各个测试步骤的测试内容。
S320、从用例表中获取目标测试用例的用例状态;若目标测试用例的用例状态为执行测试,将目标测试用例确定为选定测试用例。
其中,S310-S320的描述参照上文S210-S220的描述,此处不再赘述。
S330、从选定测试用例对应的用例步骤表中,获取选定测试用例下的第m个测试步骤的测试状态,m从1到M依次取值,M为选定测试用例的测试步骤的总数;若第m个测试步骤的测试状态为执行测试,将第m个测试步骤确定为选定测试步骤;通过预置测试工具,从选定测试用例对应的用例步骤表中,获取选定测试步骤的测试内容,并对选定测试步骤的测试内容进行解析,得到对应选定测试步骤的中间解析结果;在遍历选定测试用例的M个测试步骤之后,根据选定测试用例下每个选定测试步骤的中间解析结果,得到选定测试用例的数据解析结果和用例文件。
测试步骤的测试状态可以是指测试步骤是否执行测试,若测试步骤的测试状态为执行测试,则将测试步骤确定为选定测试步骤,若测试步骤的测试状态为不执行测试,则将测试步骤确定为舍弃测试步骤,不进行该测试步骤的分析过程。
在本实施例中,选定测试用例包括一个测试步骤时,若该测试步骤的测试状态为执行测试,将该测试步骤确定为选定测试步骤,并通过预置测试工具,从选定测试用例对应的用例步骤表中,获取选定测试步骤的测试内容,然后通过基于cypress框架开发的xlsxToJson.js转换程序对选定测试步骤的测试内容进行解析,得到对应选定测试步骤的中间解析结果。
选定测试用例包括按照顺序排列的多个测试步骤,选定测试用例包括的多个测试步骤按照测试顺序排列,具体参照上文描述,此处不再赘述。
针对选定测试用例中的每个测试步骤,若当前的测试步骤的测试状态为执行测试,将所当前的测试步骤确定为选定测试步骤,并通过预置测试工具,从该选定测试用例对应的用例步骤表中,获取该选定测试步骤的测试内容,并对该选定测试步骤的测试内容进行解析,得到对应选定测试步骤的中间解析结果;若当前的测试步骤的测试状态为不执行测试,跳过该当前的测试步骤,获取下个测试步骤,作为新的当前的测试步骤,继续重复执行上述步骤。
遍历选定测试用例的全部测试步骤之后,得到各个选定测试步骤的中间解析结果,然后将选定测试用例的各个选定测试步骤的中间解析结果进行汇总,得到选定测试用例的数据解析结果和用例文件。
作为一种实施方式,目标测试表还包括节点信息表,节点信息表包括不同节点对应的节点值;对选定测试步骤的测试内容进行解析,得到对应选定测试步骤的中间解析结果,包括:在节点信息表中确定与选定测试步骤中的节点匹配的目标节点;根据节点信息表中对应目标节点的节点值,对选定测试步骤中与目标节点匹配的节点进行处理,得到对应选定测试步骤的中间解析结果。
节点信息表中的节点可以是指目标页面中的元素或变量等,在节点信息表中确定与选定测试步骤中的节点匹配的目标节点;根据节点信息表中对应目标节点的节点值,对选定测试步骤中与目标节点匹配的节点进行处理(该处理可以包括元素替换、随机数生成以及引用临时变量等操作),得到对应选定测试步骤的中间解析结果。
通过节点信息表,可以对多个目标测试用例中涉及的相同的节点配置不同的节点值,从而实现对节点的复用,不需要进行相同节点不同节点值的多次配置操作,提高了配置效率,进而提高了用例数据文件以及测试用例文件的获得效率。同时,在修改节点的节点值时,只需要修改节点信息表,不需要对目标测试表中的其他表进行修改,提高了修改效率,降低了测试用例的修改成本。
作为一种实施方式,根据选定测试用例下每个选定测试步骤的中间解析结果,得到选定测试用例的数据解析结果和用例文件,包括:通过预置转换程序,对选定测试用例下每个选定测试步骤的中间解析结果处理,得到对应选定测试用例的目标格式的数据解析结果;通过预置转换程序以及预置文件模板,对选定测试用例下每个选定测试步骤的中间解析结果处理,得到对应选定测试用例的用例文件。
其中,预置转换程序可以是指基于cypress框架开发的xlsxToJson.js转换程序,目标格式可以是指json格式。通过预置转换程序,对选定测试用例下每个选定测试步骤的中间解析结果处理,得到对应选定测试用例的目标格式的数据解析结果,然后将当前一个选定测试用例的数据解析结果写入用例数据文件中的前一个选定测试用例的数据解析结果之后。
预置文件模板可以是基于需求和实际测试场景设定的用例文件模板,通过预置转换程序对选定测试用例下每个选定测试步骤的中间解析结果分析,并将分析结果写入预置文件模板,得到对应选定测试用例的用例文件。
在本实施例中,测试步骤表可以包括测试步骤的名称、测试步骤的描述信息、测试步骤的测试状态、方法、方法值、动作以及断言。如图6所示,图6为测试用例——SOA逻辑子系统对应的测试步骤表,caseId为测试步骤的名称,desc为测试步骤的描述信息,method为方法,表示步骤的具体方法,例如get是指获取,方法值是指方法指向的具体元素或变量(也即上述的节点),action是指方法值所指向的具体元素或变量对应的操作,assertion是指断言,用于假定某个条件肯定会满足,当该条件不满足时则会显示错误提示。
对应的,节点信息表可以包括组名称、节点名称以及节点值。如图7所示,图7示出了目标页面对应的多个测试节点的节点信息表,GroupId为组名称,表征属于同一个类别的节点的类别名称,nodeId为节点名称,是指具体的节点的名称,nodeValue是指节点值,表征各个节点实际对应的具体内容。
S340、根据选定测试用例的数据解析结果,得到用例数据文件;根据选定测试用例的用例文件,得到测试用例文件。
S350、根据用例数据文件以及测试用例文件,对目标页面进行测试,得到针对目标页面的测试结果。
其中,S340-S350的描述参照上文S240-S250的描述,此处不再赘述。
在本实施例中,通过预置测试工具,对每个选定测试用例的用例步骤进行分析,得到每个选定测试用例的数据解析结果和用例文件,进而可以根据每个选定测试用例的数据解析结果和用例文件,得到用例数据文件和测试用例文件,不需要手动配置每个测试步骤的内容,提高了用例数据文件和测试用例文件的获得效率,进而提高了测试效率。
参照图8,图8示出了根据本申请再一个实施例提出的一种页面测试方法的流程图,方法用于电子设备,方法包括:
S410、获取针对目标页面的目标测试表,目标测试表包括用例表以及对应用例表的用例步骤表,用例表包括针对目标页面的目标测试用例,用例步骤表包括目标测试用例中各个测试步骤的测试内容。
S420、通过预置测试工具,对用例表以及用例步骤表进行解析,得到用例数据文件和测试用例文件。
其中,S410-S420的描述参照上文S110-S120的描述,此处不再赘述。
S430、对用例数据文件进行解析,得到对应测试用例文件中每个测试步骤的数据源。
针对每个测试用例文件,从用例数据文件中获取该测试用例文件中每个测试步骤的数据作为数据源。
S440、通过预置的规则表达式,根据测试用例文件以及对应测试用例文件中每个测试步骤的数据源,对目标页面进行测试,得到针对目标页面的测试结果。
在本实施例中,预置的规则表达式可以包括如下三种:
(1)cy.method(methodValue);
(2)cy.method(methodValue).action;
(3)cy.method(methodValue).assertion。
其中,method是指cypress的内部或自定义封装的方法,如get、contains、wait等;methodValue是指上述方法的值,如页面元素、等待时间等;action是指操作行为,如click、type等;assertion是指断言行为,判断测试结果。
根据测试用例文件中每个测试步骤的内容以及对应的数据源,根据用例步骤中每行填写的内容,通过预置的规则表达式,完成针对目标页面所有类型的操作、环境配置的更新、修改或使用中间变量、接口请求等行为,从而实现对目标页面进行测试,并得到针对目标页面的测试结果。
在本实施例中,通过预置的规则表达式,即可直接根据测试用例文件以及对应测试用例文件中每个测试步骤的数据源,对目标页面进行测试,得到针对目标页面的测试结果,并不需要对每个测试步骤均配置具体的操作内容,即可实现对目标页面的测试,提高了目标页面的测试效率。
为了更清楚的理解本申请的技术方案,下面结合一示例性场景对本申请的方案进行解释。
该场景中,首先编写少量代码以实现上述各个流程的衔接和执行,并安装Node.js,通过npm安装cypress、node-xlsx等软件包,并在在Excel表格编写目标测试表(包括用例表、环境信息表、节点信息表以及用例步骤表),并将编写的用例表、环境信息表、节点信息表以及用例步骤表存储在文件目录fixtures下。其中,用例表中每行表示一个用例,用例步骤表中每行表示一个测试步骤。
该示例性场景中,页面测试方法的流程如图9所示,包括:
S501、cpypress open或cypress run启动,获取到cypress.json中的“testfile”(xlsxTojson.js,test/*.js),以限制用测试用例文件目录;执行xlsxToJson.js,调用封装在command.js的xlsxToJson方法,通过xlsx获取指定的目标测试表(包括用例表、环境信息表、节点信息表以及用例步骤表)。
S502、通过目标测试表中的节点信息表,获得节点词典(节点词典以“nodeId:nodeValue”形式存储各个节点的节点值)。
S503、获取目标测试表中的用例表中每行内容,并按顺序对每行内容进行解析。
S504、是否解析完用例表的所有行。
S505、若用例表中当前行的isRun为yes,将当前行对应的目标测试用例确定为选定测试用例,并获取选定测试用例的用例步骤表;若用例表中当前行的isRun为no,返回上一步骤S504。
S506、是否解析完当前选定测试用例的用例步骤表的所有行。
S507、若选定测试用例的测试步骤表中当前行的isRun为yes,将当前行对应的测试步骤确定为选定测试步骤;若选定测试用例的测试步骤表中当前行的isRun为no,返回上一步骤S506。
S508、在节点词典中确定与选定测试步骤中的节点匹配的目标节点;根据节点信息表中对应目标节点的节点值,对选定测试步骤中与目标节点匹配的节点进行处理(可以包括元素替换、随机数生成以及引用临时变量等处理),得到对应选定测试步骤的中间解析结果。
S509、对选定测试用例下每个选定测试步骤的中间解析结果处理,得到对应选定测试用例的目标格式的数据解析结果,并将数据解析结果追加到xlsxData.json中,以得到用例数据文件;根据预置文件模板,对选定测试用例下每个选定测试步骤的中间解析结果处理,得到对应选定测试用例的用例文件,作为该选定测试用例的测试用例文件。
S510、触发前置操作之前,获取目标测试表中的环境信息表,根据环境信息表,访问目标页面,获取目录下的用例数据文件以及测试用例文件,导入xlsxData.json作为数据源,找到对应的用例步骤,通过预置的规则表达式,执行操作,以获得测试结果。
上述S503-S508的示例性伪代码如下:
Figure BDA0003908256020000121
Figure BDA0003908256020000131
在该场景中,可以通过-e case_file=xxx.xlsx指定Excel表格,便于多项目切换使用;在对配置的Excel格式的目标测试表解析的过程中,会将节点(页面元素或遍历)nodeId,转换为实际值nodeValue,解析的结果保存为用例数据文件,从而降低维护成本;也可以支持自定义方法和cypress原语法,将高频、复杂的一系列测试行为在commands.js中封装成关键字复用,是替代PageObject更好的选择,比如测试不同身份用户的操作权限,需要切换用户:进入用户中心、注销登陆、进入登陆页面、输入账号密码、登陆系统、回到切换用户前页面,把这些重复行为封装成简单的switchUser(user),所有测试人员只需要在Execl表格的method、methodValue中填写switchUser、user即可快速完成,避免相同场景下重复且低效的测试工作;在JavaScript文件被执行过程中,会将解析的json格式的用例数据文件,根据规则表达式,如cy.method(methodValue).action组装并执行测试用例文件,提高测试效率;用例的名称、是否执行、各个步骤的具体内容、中间变量引用、动态修改环境变量等实现灵活配置,不需要重新编写代码;前置操作会根据环境信息表Env设置cookie等项目配置信息,执行过程中可以动态更新,实现切换用户等行为。
参照图10,图10示出了本申请一个实施例提出的一种页面测试装置的结构框图。装置1000用于电子设备,装置1000包括:
获取模块1010,用于获取针对目标页面的目标测试表,所述目标测试表包括用例表以及对应所述用例表的用例步骤表,所述用例表包括针对所述目标页面的目标测试用例,所述用例步骤表包括所述目标测试用例中各个测试步骤的测试内容;
解析模块1020,用于通过预置测试工具,对所述用例表以及所述用例步骤表进行解析,得到用例数据文件和测试用例文件;
测试模块1030,用于根据所述用例数据文件以及所述测试用例文件,对所述目标页面进行测试,得到针对所述目标页面的测试结果。
进一步地,解析模块1020,还用于从所述用例表中获取所述目标测试用例的用例状态;若所述目标测试用例的用例状态为执行测试,将所述目标测试用例确定为选定测试用例;通过预置测试工具,获取并解析所述选定测试用例对应的用例步骤表,得到对应所述选定测试用例的数据解析结果和用例文件;根据所述选定测试用例的数据解析结果,得到所述用例数据文件;根据所述选定测试用例的用例文件,得到所述测试用例文件。
进一步地,所述选定测试用例包括按照顺序排列的多个测试步骤;解析模块1020,还用于从所述选定测试用例对应的用例步骤表中,获取所述选定测试用例下的第m个测试步骤的测试状态,m从1到M依次取值,M为所述选定测试用例的测试步骤的总数;若所述第m个测试步骤的测试状态为执行测试,将所述第m个测试步骤确定为选定测试步骤;通过预置测试工具,从所述选定测试用例对应的用例步骤表中,获取所述选定测试步骤的测试内容,并对所述选定测试步骤的测试内容进行解析,得到对应所述选定测试步骤的中间解析结果;在遍历所述选定测试用例的M个测试步骤之后,根据所述选定测试用例下每个所述选定测试步骤的中间解析结果,得到所述选定测试用例的数据解析结果和用例文件。
进一步地,所述目标测试表还包括节点信息表,所述节点信息表包括不同节点对应的节点值;解析模块1020,还用于在所述节点信息表中确定与所述选定测试步骤中的节点匹配的目标节点;根据所述节点信息表中对应所述目标节点的节点值,对所述选定测试步骤中与所述目标节点匹配的节点进行处理,得到对应所述选定测试步骤的中间解析结果。
进一步地,解析模块1020,还用于通过预置转换程序,对所述选定测试用例下每个所述选定测试步骤的中间解析结果处理,得到对应所述选定测试用例的目标格式的数据解析结果;通过所述预置转换程序以及预置文件模板,对所述选定测试用例下每个所述选定测试步骤的中间解析结果处理,得到对应所述选定测试用例的用例文件。
进一步地,所述目标测试表还包括环境信息表,所述环境信息表包括所述目标页面的环境信息;测试模块1030,还用于从所述环境信息表获取所述目标页面的环境信息;根据所述目标页面的环境信息,访问所述目标页面;根据所述用例数据文件以及所述测试用例文件,对所述目标页面进行测试,得到针对所述目标页面的测试结果。
进一步地,测试模块1030,还用于对所述用例数据文件进行解析,得到对应所述测试用例文件中每个测试步骤的数据源;通过预置的规则表达式,根据所述测试用例文件以及对应所述测试用例文件中每个测试步骤的数据源,对所述目标页面进行测试,得到针对所述目标页面的测试结果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
请参阅图11,其示出了本申请实施例提供的一种电子设备1100的结构框图。该电子设备1100可以是智能手机、平板电脑、电子书、车载终端、飞行器、可穿戴设备终端、虚拟现实设备、智能摄像头以及其他能够运行应用程序的电子设备。本申请中的电子设备1100可以包括一个或多个如下部件:处理器1110、存储器1120以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器1120中并被配置为由一个或多个处理器1110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
其中,处理器1110可以包括一个或者多个处理核。处理器1110利用各种接口和线路连接整个电子设备1100内的各个部分,通过运行或执行存储在存储器1120内的指令、程序、代码集或指令集,以及调用存储在存储器1120内的数据,执行电子设备1100的各种功能和处理数据。可选地,处理器1110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1110可集成中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责待显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1110中,单独通过一块通信芯片进行实现。
存储器1120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器1120可用于存储指令、程序、代码、代码集或指令集。存储器1120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备1100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
参考图12,图12示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读存储介质1200中存储有程序代码,该程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质1200可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质1200包括非易失性计算机可读存储介质(non-transitory computer-readable storage medium)。计算机可读存储介质1200具有执行上述方法中的任何方法步骤的程序代码1210的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1210可以例如以适当形式进行压缩。
综上所述,本申请提供的一种标定图样生成方法、标定图样配准方法、装置以及电子设备,在获取标定场景后,获取与所述标定场景对应的伪随机阵列,基于所述伪随机阵列以及多种图形基元生成标定图样,所述伪随机阵列用于确定所述图形基元在所述标定图样中的位置。通过上述方式使得,可以基于不同标定场景生成不同的伪随机阵列,使得可以基于不同的伪随机阵列生成不同的标定图样,从而提高了不同标定场景下传感器标定的准确性。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种页面测试方法,其特征在于,所述方法包括:
获取针对目标页面的目标测试表,所述目标测试表包括用例表以及对应所述用例表的用例步骤表,所述用例表包括针对所述目标页面的目标测试用例,所述用例步骤表包括所述目标测试用例中各个测试步骤的测试内容;
通过预置测试工具,对所述用例表以及所述用例步骤表进行解析,得到用例数据文件和测试用例文件;
根据所述用例数据文件以及所述测试用例文件,对所述目标页面进行测试,得到针对所述目标页面的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述通过预置测试工具,对所述用例表以及所述用例步骤表进行解析,得到用例数据文件和测试用例文件,包括:
从所述用例表中获取所述目标测试用例的用例状态;
若所述目标测试用例的用例状态为执行测试,将所述目标测试用例确定为选定测试用例;
通过预置测试工具,获取并解析所述选定测试用例对应的用例步骤表,得到对应所述选定测试用例的数据解析结果和用例文件;
根据所述选定测试用例的数据解析结果,得到所述用例数据文件;
根据所述选定测试用例的用例文件,得到所述测试用例文件。
3.根据权利要求2所述的方法,其特征在于,所述选定测试用例包括按照顺序排列的多个测试步骤;所述通过预置测试工具,获取并解析所述选定测试用例对应的用例步骤表,得到对应所述选定测试用例的数据解析结果和用例文件,包括:
从所述选定测试用例对应的用例步骤表中,获取所述选定测试用例下的第m个测试步骤的测试状态,m从1到M依次取值,M为所述选定测试用例的测试步骤的总数;
若所述第m个测试步骤的测试状态为执行测试,将所述第m个测试步骤确定为选定测试步骤;
通过预置测试工具,从所述选定测试用例对应的用例步骤表中,获取所述选定测试步骤的测试内容,并对所述选定测试步骤的测试内容进行解析,得到对应所述选定测试步骤的中间解析结果;
在遍历所述选定测试用例的M个测试步骤之后,根据所述选定测试用例下每个所述选定测试步骤的中间解析结果,得到所述选定测试用例的数据解析结果和用例文件。
4.根据权利要求3所述的方法,其特征在于,所述目标测试表还包括节点信息表,所述节点信息表包括不同节点对应的节点值;所述对所述选定测试步骤的测试内容进行解析,得到对应所述选定测试步骤的中间解析结果,包括:
在所述节点信息表中确定与所述选定测试步骤中的节点匹配的目标节点;
根据所述节点信息表中对应所述目标节点的节点值,对所述选定测试步骤中与所述目标节点匹配的节点进行处理,得到对应所述选定测试步骤的中间解析结果。
5.根据权利要求3所述的方法,其特征在于,所述根据所述选定测试用例下每个所述选定测试步骤的中间解析结果,得到所述选定测试用例的数据解析结果和用例文件,包括:
通过预置转换程序,对所述选定测试用例下每个所述选定测试步骤的中间解析结果处理,得到对应所述选定测试用例的目标格式的数据解析结果;
通过所述预置转换程序以及预置文件模板,对所述选定测试用例下每个所述选定测试步骤的中间解析结果处理,得到对应所述选定测试用例的用例文件。
6.根据权利要求1所述的方法,其特征在于,所述目标测试表还包括环境信息表,所述环境信息表包括所述目标页面的环境信息;所述根据所述用例数据文件以及所述测试用例文件,对所述目标页面进行测试,得到针对所述目标页面的测试结果,包括:
从所述环境信息表获取所述目标页面的环境信息;
根据所述目标页面的环境信息,访问所述目标页面;
根据所述用例数据文件以及所述测试用例文件,对所述目标页面进行测试,得到针对所述目标页面的测试结果。
7.根据权利要求1所述的方法,其特征在于,所述根据所述用例数据文件以及所述测试用例文件,对所述目标页面进行测试,得到针对所述目标页面的测试结果,包括:
对所述用例数据文件进行解析,得到对应所述测试用例文件中每个测试步骤的数据源;
通过预置的规则表达式,根据所述测试用例文件以及对应所述测试用例文件中每个测试步骤的数据源,对所述目标页面进行测试,得到针对所述目标页面的测试结果。
8.一种页面测试装置,其特征在于,所述装置包括:
获取模块,用于获取针对目标页面的目标测试表,所述目标测试表包括用例表以及对应所述用例表的用例步骤表,所述用例表包括针对所述目标页面的目标测试用例,所述用例步骤表包括所述目标测试用例中各个测试步骤的测试内容;
解析模块,用于通过预置测试工具,对所述用例表以及所述用例步骤表进行解析,得到用例数据文件和测试用例文件;
测试模块,用于根据所述用例数据文件以及所述测试用例文件,对所述目标页面进行测试,得到针对所述目标页面的测试结果。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-7任一项所述的方法。
10.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-7中任一项所述的方法。
CN202211313986.9A 2022-10-25 2022-10-25 页面测试方法、装置、电子设备以及存储介质 Pending CN115687107A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211313986.9A CN115687107A (zh) 2022-10-25 2022-10-25 页面测试方法、装置、电子设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211313986.9A CN115687107A (zh) 2022-10-25 2022-10-25 页面测试方法、装置、电子设备以及存储介质

Publications (1)

Publication Number Publication Date
CN115687107A true CN115687107A (zh) 2023-02-03

Family

ID=85098902

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211313986.9A Pending CN115687107A (zh) 2022-10-25 2022-10-25 页面测试方法、装置、电子设备以及存储介质

Country Status (1)

Country Link
CN (1) CN115687107A (zh)

Similar Documents

Publication Publication Date Title
CN111045655B (zh) 一种页面渲染的方法、装置、渲染服务器和存储介质
CN108388515B (zh) 测试数据生成方法、装置、设备以及计算机可读存储介质
CN111782330B (zh) 一种基于Web应用的页面数据获取方法、装置及设备
CN110944048A (zh) 业务逻辑配置方法及装置
CN112541313B (zh) 为逻辑分析态配置触发表达式的方法和装置
CN112306881A (zh) 模拟数据生成方法、装置、设备及存储介质
CN111399840A (zh) 一种模块开发方法及装置
CN108170602B (zh) 一种测试用例生成方法、装置、终端及计算机可读介质
CN110727429A (zh) 一种前端页面的生成方法、装置及设备
CN114676040A (zh) 一种测试覆盖率验证方法、装置及存储介质
CN109947624A (zh) 状态监控方法及装置
CN111258434A (zh) 在聊天界面插入图片的方法、装置、设备及存储介质
US10289219B2 (en) Communicating with an unsupported input device
CN116521181B (zh) 基于游戏系统的脚本数据处理方法、装置、设备及介质
CN109189688A (zh) 一种测试用例脚本的生成方法、生成装置及电子设备
CN112433953A (zh) 基于网络游戏客户端的嵌入式自动化测试方法、装置、设备及介质
CN117093316A (zh) 一种跨平台页面渲染系统、电子设备及存储介质
CN115687107A (zh) 页面测试方法、装置、电子设备以及存储介质
CN108959070B (zh) 一种基于代码对象的Python钩子函数方法和装置
CN103440391A (zh) 一种基于数值选择函数的半导体工艺角扫描仿真方法
CN111228815B (zh) 处理游戏的配置表的方法、装置、存储介质和系统
CN111949510B (zh) 测试处理方法、装置、电子设备及可读存储介质
CN113961194A (zh) 基于Flutter跨应用的工程构建方法、系统、终端及介质
CN112948264A (zh) 测试任务的执行方法及装置、系统、存储介质、电子装置
CN116112377A (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