CN117931628A - 一种h5页面测试方法及装置 - Google Patents
一种h5页面测试方法及装置 Download PDFInfo
- Publication number
- CN117931628A CN117931628A CN202311713667.1A CN202311713667A CN117931628A CN 117931628 A CN117931628 A CN 117931628A CN 202311713667 A CN202311713667 A CN 202311713667A CN 117931628 A CN117931628 A CN 117931628A
- Authority
- CN
- China
- Prior art keywords
- test
- page
- component
- tested
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 733
- 238000001545 Page's trend test Methods 0.000 claims abstract description 75
- 238000000034 method Methods 0.000 claims description 87
- 230000008569 process Effects 0.000 claims description 42
- 238000012795 verification Methods 0.000 claims description 31
- 238000004891 communication Methods 0.000 claims description 17
- 230000002159 abnormal effect Effects 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 6
- 230000005856 abnormality Effects 0.000 claims description 2
- 230000000977 initiatory effect Effects 0.000 abstract 1
- 238000013515 script Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000011161 development Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000012552 review Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 238000010998 test method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013102 re-test Methods 0.000 description 2
- XSQUKJJJFZCRTK-NJFSPNSNSA-N UREA C 14 Chemical compound N[14C](N)=O XSQUKJJJFZCRTK-NJFSPNSNSA-N 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请提出了一种H5页面测试及装置,运营人员在测试平台录入针对待测试H5页面配置的页面测试信息,如基础信息以及自定义选择的各测试组件的组件配置信息,发起对应的测试请求后,测试服务器可以基于组件配置信息,获取待测试H5页面中相应测试组件的DOM对象以及实现相应业务场景所需调用的业务接口,从而对测试基础信息、组件配置信息和DOM对象进行页面元素校验测试,得到页面元素测试结果,并对测试基础信息和组件配置信息进行不同业务接口的调用校验测试,得到组件业务测试结果,基于页面元素测试结果和组件业务测试结果,生成待测试H5页面的测试报告输出。
Description
技术领域
本申请主要涉及页面测试技术领域,更具体地说是涉及一种H5页面测试方法及装置。
背景技术
目前,互联网大部分场景都在使用HTML5(HyperText Markup Language5,第五版的超文本标记语言,简称H5)页面展示各种多媒体内容,对于开发的各H5页面需要先经过测试后再发布,以保证发布上线的H5页面运行正常。
其中,在H5页面的测试过程中,目前需要针对待测试的H5页面编写测试脚本,通过该测试脚本自动模拟H5页面的操作,记录各操作产生的数据,由此得到H5页面的测试结果,一旦H5页面元素发生变化,需要重新编写测试脚本,导致测试脚本维护成本较高,测试工作量大,也难以满足大量H5页面的迭代开发测试需求。
而且,基于手动编写的测试脚本实现的H5页面测试,很难实现各配置组件、接口、消息和其他异常复杂场景的完整测试,导致H5页面测试覆盖率低,影响了测试结果的可靠性和精准性。
发明内容
为了解决上述技术问题,本申请提供了以下技术方案:
本申请提出了一种H5页面测试方法,所述H5页面测试方法包括:
响应针对待测试H5页面的测试请求,获取数据库存储的针对所述待测试H5页面配置的页面测试信息;所述页面测试信息包括所述待测试H5页面的基础信息以及自定义选择的各测试组件的组件配置信息;
基于所述组件配置信息,获取所述待测试H5页面中相应所述测试组件的文档对象模型DOM对象,以及实现相应业务场景所需调用的业务接口;任一所述业务场景基于至少一个所述测试组件实现;
对所述测试基础信息、所述组件配置信息和所述DOM对象进行页面元素校验测试,得到页面元素测试结果;
对所述测试基础信息和所述组件配置信息进行不同所述业务接口的调用校验测试,得到组件业务测试结果;
基于所述页面元素测试结果和所述组件业务测试结果,生成所述待测试H5页面的测试报告输出。
可选的,基于所述组件配置信息,获取所述待测试H5页面包含的针对相应所述测试组件的文档对象模型DOM对象,包括:
确定各所述组件配置信息包含的相应所述测试组件的属性标识;
遍历解析所述待测试H5页面的数据结构,获取各所述属性标识对应的文档对象模型DOM对象;
将所述DOM对象的对象内容与对应的所述属性标识关联后存储。
可选的,所述对所述页面配置信息、所述组件配置信息和所述DOM对象进行页面元素校验测试,得到页面元素测试结果,包括:
基于所述组件配置信息包含的相应所述测试组件的属性标识,获得所述测试组件相匹配的用例集;
对各所述测试组件相匹配的所述用例集进行预处理,得到针对所述待测试H5页面待执行的测试用例集;
执行所述测试用例集包含的各测试用例,将相应的所述基础信息、所述组件配置信息和所述DOM对象的对象内容进行页面元素校验测试,得到相应页面元素测试结果。
可选的,所述对所述页面配置信息和所述组件配置信息进行不同所述业务接口的调用校验测试,包括以下至少一种:
基于所述页面配置信息和所述组件配置信息,对相应所述测试组件调用对应所述业务接口的接口返回参数进行校验;
基于所述页面配置信息和所述组件配置信息,对相应所述测试组件调用对应所述业务接口所需的后端数据配置进行校验;
基于所述页面配置信息和所述组件配置信息,对相应所述测试组件调用对应所述业务接口的消息回调结果进行校验。
可选的,所述H5页面测试方法还包括:
在所述页面元素校验测试过程或所述业务接口的调用校验测试过程,获得相应的测试异常信息;
基于超时重试机制,重新执行所述测试异常信息对应的测试过程。
可选的,基于所述页面元素测试结果和所述组件业务测试结果,生成所述待测试H5页面的测试报告输出,包括:
确定所述页面元素测试结果和所述组件业务测试结果各自包含的所述待测试H5页面存在的测试问题;
确定所述测试问题所属的问题等级,生成相应所述问题级别的测试报告;所述测试报告包含所述测试问题以及所述测试问题所属的问题等级;
通过预设通信方式将所述测试报告发送至对应客户端进行展示,或者响应于对所述待测试H5页面的测试查询请求,输出对应的所述测试报告。
本申请还提出了一种H5页面测试方法,所述H5页面测试方法包括:
输出测试平台的测试页面配置窗口;
响应于对所述测试页面配置窗口的页面信息录入操作,获得针对待测试H5页面的基础信息;
响应于对所述测试页面配置窗口展示的候选组件类型的选择操作,输出针对所选择的测试组件类型的组件配置窗口;
响应于对所述组件配置窗口的配置操作,获得相应类型的测试组件的组件配置信息;
响应于针对所述待测试H5页面的测试配置完成操作,将至少由所述基础信息和各所述测试组件的所述组件配置信息构成的页面测试信息发送至数据库进行存储;
响应于针对所述待测试H5页面的测试操作,向测试服务器发送针对所述待测试H5页面的测试请求。
本申请还提出了一种H5页面测试装置,所述H5页面测试装置包括:
第一获取模块,用于响应针对待测试H5页面的测试请求,获取数据库存储的针对所述待测试H5页面配置的页面测试信息;所述页面测试信息包括所述待测试H5页面的基础信息以及自定义选择的各测试组件的组件配置信息;
第二获取模块,用于基于所述组件配置信息,获取所述待测试H5页面中相应所述测试组件的文档对象模型DOM对象,以及实现相应业务场景所需调用的业务接口;任一所述业务场景基于至少一个所述测试组件实现;
页面元素测试结果得到模块,用于对所述测试基础信息、所述组件配置信息和所述DOM对象进行页面元素校验测试,得到页面元素测试结果;
组件业务测试结果得到模块,用于对所述测试基础信息和所述组件配置信息进行不同所述业务接口的调用校验测试,得到组件业务测试结果;
测试报告生成模块,用于基于所述页面元素测试结果和所述组件业务测试结果,生成所述待测试H5页面的测试报告输出。
本申请还提出了一种H5页面测试装置,所述H5页面测试装置包括:
测试页面配置窗口输出模块,用于输出测试平台的测试页面配置窗口;
基础信息获得模块,用于响应于对所述测试页面配置窗口的页面信息录入操作,获得针对待测试H5页面的基础信息;
组件配置窗口输出模块,用于响应于对所述测试页面配置窗口展示的候选组件类型的选择操作,输出针对所选择的测试组件类型的组件配置窗口;
组件配置信息获得模块,用于响应于对所述组件配置窗口的配置操作,获得相应类型的测试组件的组件配置信息;
页面测试信息发送模块,用于响应于针对所述待测试H5页面的测试配置完成操作,将至少由所述基础信息和各所述测试组件的所述组件配置信息构成的页面测试信息发送至数据库进行存储;
测试请求发送模块,用于响应于针对所述待测试H5页面的测试操作,向测试服务器发送针对所述待测试H5页面的测试请求。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为适用于本申请提出的H5页面测试方法的测试系统的一可选实施例的架构示意图;
图2a为本申请提出的H5页面测试方法的配置平台的H5页面配置界面的一可选示意图;
图2b为本申请提出的H5页面测试方法的配置平台的H5页面配置界面的另一可选示意图;
图3为适用于本申请提出的H5页面测试方法的测试设备的一可选实施例的硬件结构示意图;
图4为本申请提出的H5页面测试方法的可选实施例一的流程示意图;
图5为本申请提出的H5页面测试方法的可选实施例二的流程示意图
图6为本申请提出的H5页面测试方法的可选实施例三的流程示意图;
图7为本申请提出的H5页面测试方法的测试平台的测试页面配置窗口可选示意图;
图8为本申请提出的H5页面测试方法的测试平台的测试界面示意图;
图9为适用于本申请提出的H5页面测试方法的测试系统的逻辑测试架构示意图;
图10为本申请提出的H5页面测试装置的一可选实施例的结构示意图;
图11为本申请提出的H5页面测试装置的另一可选实施例的结构示意图;。
具体实施方式
针对背景技术部分描述的内容,针对大部分H5页面具有一次性、快速开发、快速发布、快速迭代等特性,为了解决基于手动编写的测试脚本,通过模拟H5页面的用户操作的测试方法中存在的如测试效率低、测试覆盖率低、测试资源不足等问题,本申请提出利用H5页面测试平台,创建待测试的H5页面进行精准和快速测试,即运营人员可以直接登录H5页面测试平台,配置待测试H5页面的基础信息和各测试组件及其组件配置信息等页面测试信息,将其存储为对应的Json文件上传到数据库进行存储,这样,在向测试服务器发送相应的测试请求,获取所选择的各测试组件的组件配置信息Json后,可以结合录入的基础信息、各测试组件的组件配置信息以及待测试H5页面包含的各DOM(DocumentObjectModel,文档对象模型)节点对象进行解析对比校验测试,以确定待测试的H5页面包含的页面元素是否完整且功能正常运行等,与此同时,还可以据此解析到的数据内容,对H5页面执行不同业务场景所需要调用的各业务接口进行校验测试,实现后端的数据库配置、接口返回参数、消息通知等配置的测试,覆盖支持的各业务场景,提高测试覆盖率,且本申请可以直接由运营人员通过测试平台实现H5页面的生产和测试,大大降低了H5页面测试门槛,提高了H5页面测试效率、覆盖率和精准度,且降低了测试成本和H5页面发布风险。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参照图1,为适用于本申请提出的H5页面测试方法的测试系统的一可选实施例的架构示意图,如图1所示,该测试系统可以包括终端设备11、配置服务器12、测试服务器13以及数据库14,其中:
终端设备11可以包括但并不局限于智能手机、笔记本电脑、台式电脑、机器人以及车载终端等之中的任意一个或多个。终端设备11中可以安装客户端,如浏览器、社交软件、购物软件或视频软件等支持人机交互操作的应用程序,可以通过输出各H5页面展示各交互元素。对于开发的H5页面通常由多个元素构成,即其数据结构通常包含多个DOM对象,不同DOM对象之间具有直接或间接的关系,以通过调用相应的业务接口,实现不同DOM对象对应的前端页面元素的跳转展示,并基于后端服务器中对应组件配置信息实现对应功能,本申请对H5页面的开发配置过程及其组成结构不做详述,可视情况而定。
配置服务器12可以支持实现H5页面的组成配置,通常可以提供对应的配置平台,以供开发人员/H5页面配置人员,实现对H5页面前端组成的配置,进而据此获取支持前端配置内容实现的后端配置信息,如不同元素功能执行的程序代码和配置参数等,可以依据H5页面的开发配置要求确定。
基于此,在实际应用中,H5页面开发人员/配置人员可以使用其终端设备11登录配置服务器12的配置平台,以在该配置平台上完成H5页面的配置,如图2a和图2b所示的配置平台的H5页面配置界面,可以配置该H5页面的页面信息,如图2a所示的版本信息、该H5页面所展示/实现活动的活动ID、背景图片、页面尺寸、页面标题等前端显示的各页面元素等,这可以依据所配置的H5页面的实际配置要求确定,并不局限于图2a所示的H5页面的页面信息配置内容。
同理,如图2a所示,在配置H5页面的组件信息时,可以在选择H5页面前端展示区域后,确定该区域所需要展示组件类型,如简单抽奖等活动,对于这一类组件,可以确定其展示终端范围,定位方式及其在页面中的展示尺寸等组件配置信息,将这些组件配置信息以Json格式保存至数据库,以便后续访问该H5页面时,可以直接从数据库读取后展示,实现过程本申请不做详述。需要说明,对应开发的H5页面的配置内容包括但并不局限于上文描述的页面信息和组件信息,根据实际需要还可以实现如页面分桶配置等其他方面的配置,以丰富前端H5页面(即UI界面)的展示元素,本申请不做一一详述。
测试服务器13可以通信连接配置服务器12和数据库14,执行本申请提出的H5页面测试方法,从该配置服务器12和数据库14中获取所需的测试信息,实现过程可以参照下文方法实施例描述的H5页面测试过程,本实施例在此不做详述。
可见,测试服务器13可以测试平台,用于在发布开发的H5页面之前,实现对该H5页面的测试,以保证发布的H5页面符合开发要求。为了提高H5页面的测试效率、可靠性和覆盖率,解决H5迭代效率问题,本申请提出由运营人员使用终端设备11登录测试服务器13的测试平台,以在该测试平台上针对待测试H5页面进行自主配置测试,这样就可以依据运营需求配置测试信息,无需开发人员和测试人员介入,大大降低了开发成本,且测试过程中不用模拟人工操作整个H5页面测试问题,直接自动解析待测试H5页面信息,据此实现H5页面的各页面元素测试和各组件业务测试,无需编写并维护不同的测试用例,能够可靠保证H5页面发布质量和效率。
数据库14可以包括一个或多个,多个数据库14可以是不同类型数据库,如MySQL(一个关系型数据库管理系统)、Redis(Remote Dictionary Server,即一个开源的高性能内存数据存储系统)等,用于存储待测试H5页面的各种配置信息以及测试过程中产生的各种数据等,如Json格式配置文件、键值方式存储的数据等,本申请对测试系统包含的数据库14类型及其存储数据的形式不做限制,可视情况而定。
应该理解的是,图1所示的测试系统的结构并不构成对本申请实施例中系统架构的限定,在实际应用中,该测试系统可以包括比图1所示的更多或更少的设备,或者组合某些设备,本申请在此不做一一列举。
参照图3,为适用于本申请提出的H5页面测试方法的测试设备的一可选实施例的硬件结构示意图,该测试设备可以是上文测试系统中的测试服务器,与测试系统中的其他设备交互,实现本申请提出的H5页面测试方法。如图3所示,该测试设备可以包括多个数据连接端口31和处理器32,其中:
数据连接端口31可以用于连接测试系统中的其他设备,如终端设备11、配置服务器12和数据库14,实现相应设备之间的数据交互,如从数据库14中获取待测试H5页面的页面测试信息,将生成的测试报告发送至数据库14进行存储,以供后续调用查询等,可以参照下文方法实施例对应部分描述的数据内容,本实施例在此不做详述。
可选的,该数据连接端口31包括支持如wifi、蓝牙或其他无线通信网络等无线通信方式对应的通讯元件,以使得测试设备可以通过该通讯元件,实现与其他设备的数据交互,本申请对数据连接端口31的组成结构及其对应的通信传输机制不做限制,可视情况而定。
应该理解的是,数据连接端口31还可以包括一个或多个支持有线通信方式的接口,如通用输入输出(general-purpose input/output,GPIO)接口、USB接口、通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口等,以实现测试设备内部各组成部分之间的数据传输,本申请对数据连接端口31的类型和数量不做限制,可视情况而定。其中,对于测试设备中的各组成部分之间可以通过通信总线,如数据总线、指令总线等进行数据交互。
处理器32可以用于加载执行多个计算机指令,实现本申请的H5页面测试方法,实现过程可以参照下文实施例相应部分的描述,本实施例在此不做详述。可选的,处理器32可以包括至少一个存储单元和至少一个处理单元,处理单元可以执行存储单元存储的计算机指令,实现本申请提出的H5页面测试方法。
本申请实施例中,上述处理器32或其包含的处理单元可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP)、中央处理器(Central Processing Unit,CPU)、特定应用集成电路(application-specific integrated circuit,ASIC)现成可编程门阵列(FPGA)或者其他可编程逻辑器件等之中的一个或多个。存储单元可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件等,本申请对处理器32的组成结构不做限制。
应该理解的是,图3所示的测试设备的结构并不构成对本申请实施例中测试设备的限定,在实际应用中,测试设备可以包括比图3所示的更多或更少的部件,或者组合某些部件,本申请在此不做一一列举。
结合上文描述的适用于本申请提出的H5页面测试方法的测试系统及测试设备的组成结构,下面将从测试设备侧描述实现本申请提出的H5页面测试方法,本申请中使用流程图用来说明根据本申请实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
参照图4,为本申请提出的H5页面测试方法的可选实施例一的流程示意图,该方法可以由测试设备,如图1所示的测试服务器,如图4所示,该测试服务器执行的H5页面测试方法可以包括但并不局限于:
步骤S41,响应针对待测试H5页面的测试请求,获取数据库存储的针对待测试H5页面配置的页面测试信息;该页面测试信息包括待测试H5页面的基础信息以及自定义选择的各测试组件的组件配置信息;
结合上文对本申请技术方案的相关描述,可以由运营人员依据实际需要通过待测试H5页面的业务推广要求,在测试平台上自主配置对应的测试信息,如录入H5页面的页面名称、页面ID、开始时间、结束时间等一些基础信息,以及还可以自助选择需要测试各业务场景对应的各测试组件,如文案、图片、点击区域、预约、抽奖、投票排行榜、开盲盒、进度条、倒计时、跑马灯、邀请、视频、轮播图片、导航栏以及分组列表等常用组件中的一个或多个,之后,可以依据对应业务场景实际业务要求,在测试平台上录入相应的组件配置信息,以便后续对所选择的各测试组件进行有针对性的自动化测试,本申请对页面测试信息的内容不做限制。
在运营人员在测试平台上完成页面测试信息的录入后,通过点击如“测试”等功能按钮确定开始测试,可以将配置的测试信息发送至数据库进行存储,以供测试服务器调用,与此同时,可以调用测试接口向测试服务器发送包含待测试H5页面的页面标识(如页面ID等)等内容的测试请求,本申请对测试请求的发送方式及其内容不做限制,可视情况而定。
基于此,测试服务器接收到任一测试请求后,基于该测试请求包含的请求测试的待测试H5页面的页面标识,自动从数据库获取该待测试H5页面的测试信息,即运营人员录入的待测试内容,本申请对步骤S41的获取方法不做限制。
可选的,本申请可以采用Jenkins(一种开源软件项目)实现H5页面的测试和发布,因此,上述测试接口可以封装该Jenkins方法,这样,对于调用该测试接口发送测试请求的情况下,测试服务器可以通过该测试接口接收该测试请求,依据其包含的页面标识(如html_id),获取基于Jenkins方式构建的待测试H5页面的页面测试信息,如Json格式存储的测试文件等。示例性的,本申请针对待测试H5页面的测试请求可以为:
步骤S42,基于该组件配置信息,获取待测试H5页面包含的针对相应测试组件的文档对象模型DOM对象,以及实现相应业务场景所需调用的业务接口;
继上述分析,对于待测试H5页面的测试组件可以由运营人员自主选择,如从测试平台枚举的各组件类型中选择所需测试的各测试组件,还可以依据实际需求录入相应的组件配置信息,如抽奖和榜单等组件的相应配置参数等,由于H5页面的各组件运行,在H5页面实现对应业务场景时,通常需要调用相应的业务接口,以通过该业务接口接收或发送该业务场景所需数据。其中,任一业务场景通常基于至少一个测试组件实现,本申请对不同业务场景与各测试组件之间的对应关系不做详述,可视情况而定。
基于此,测试服务器获取针对待测试H5页面录入的各组件配置信息后,可以基于该组件配置信息包含的组件标识,如组件名称或ID等,来确定对应的测试组件,即待测试H5页面配置的实现其支持的对应业务场景的组件,之后,对该待测试H5页面的数据结构进行分析,可以获取该测试组件对应的DOM对象,也就是该测试组件运行对应待测试H5页面的哪些元素,以便后续实现对应元素的测试。
另外,通过解析每一组件配置信息,还能够获取对应测试组件所能够实现的业务场景在实现过程中所调用的业务接口,以便后续实现对各业务接口进行调用测试,本申请对自主选择的不同测试组件运行实现的业务场景,以及该业务场景实现过程中所需调用的业务接口类型和数量等均不做限制,可视情况而定。
步骤S43,对上述基础信息、各测试组件的组件配置信息和DOM对象进行元素校验测试,得到页面元素测试结果;
由于待测试H5页面的基础信息和组件配置信息能够表征待测试H5页面中需要测试的基础信息,以及各业务场景的测试内容,对于业务场景的测试内容的执行结果可以体现在待测试H5页面的页面元素上,各页面元素由待测试H5页面包含的各DOM对象确定,且不同DOM对象之间的关联关系可以在配置待测试H5页面的数据结构时确定,可以通过解析待测试H5页面的H5代码,获得该待测试H5页面包含的各DOM对象,本申请对H5页面的DOM对象获取方法不做限制。
结合上述分析,通过对运营人员通过测试平台提交的待测试H5页面的基础信息,以及自定义选择的各测试组件的组件配置信息进行解析,分析出每个测试组件对应的至少一个DOM对象,并对其对象内容进行存储,如以键值方式存储到JSON文件中,后续在执行页面元素的自动化测试时,可以直接基于解析后存储的JSON文件,对待测试H5页面包含的各DOM对象进行对比校验测试,即后端配置的测试组件运行所实现的页面元素与待测试H5页面代码中配置的DOM对象是否一致,本申请对如何通过解析组件配置信息和页面配置信息,实现对待测试H5页面的DOM对象的校验测试方法不做限制。
步骤S44,对基础信息和各测试组件的组件配置信息进行不同业务接口的调用校验测试,得到组件业务测试结果;
结合上文对业务接口的相关描述,由于测试组件运行过程中,往往需要调用一个或多个业务接口,通过该业务接口接收或发送数据,实现对应的业务场景,因此,本申请在不模拟用户对待测试H5页面的行为操作的情况下,直接解析H5页面的基础信息和各测试组件的组件配置信息,如数据库对应存储的JSON文件,确定实现对应业务场景需要调用哪些业务接口,进而对其包含的调用这些业务接口的执行结果进行校验,来调实现对应业务接口的调用测试,测试过程可以依据相应的业务接口类型及其调用目的等确定,本申请对如何通过数据分析,实现业务接口调用测试的过程不做详述。
示例性的,在如抽奖测试组件运行,实现对应的抽奖业务场景过程中,对抽奖按钮进行点击操作,会调用对应的抽奖业务接口,执行后续的抽奖配置信息,返回抽奖结果将其展示在抽奖活动窗口,还可以向抽奖账号发送抽奖消息,即通过消息通知接口发送对应的抽奖通知消息等,可见,对于该抽奖业务场景实现过程中,抽奖测试组件可以基于前端的抽奖操作调用对应的抽奖业务接口,反馈对应的抽奖结果参数,还可以调用消息通知接口发送抽奖通知消息,在调用这些接口时,抽奖测试组件都会获得对应的接口参数,将其发送至前端执行,才能够实现调用该业务接口的目的。
基于此,本申请可以直接解析组件配置信息,校验其实现业务场景调用的业务接口及其调用结果是否正确,由此实现对该业务接口的调用测试,不用模拟该各测试组件的操作行为,就能够可靠且完整实现待测试H5页面的不同组件业务测试,提高业务场景覆盖率和测试效率。
在实际应用中,实现每个测试组件的业务测试的示例Demo可以为但并不局限于下文描述的测试过程:
步骤S45,基于页面元素测试结果和组件业务测试结果,生成待测试H5页面的测试报告输出。
按照上文描述方法,自动完成对待测试H5页面的各页面元素的测试,得到对应的页面测试结果,以及对自主选择的各测试组件的业务接口调用测试,得到对应的组件业务测试结果后,可以通过测试报告工具Allure或其他方式对各测试结果进行聚合,生成预设格式的测试报告,本申请对测试报告的生成方法不做限制。
之后,可以按照预设的通信方式,将生成的测试报告发送至预设终端设备进行展示,如发送至运营人员和测试人员的终端,使其及时获知待测试H5页面的测试结果,本申请对测试报告的输出方式以及据此实现的后期维护过程不做限制,可视情况而定。
综上,本申请实施例中,测试服务器获得针对待测试H5页面的测试请求后,可以直接从数据库获取相应的测试信息,如运营人员在测试平台上录入的该待测试H5页面的基础信息,以及自定义选择的各测试组件的组件配置信息,之后,可以据此通过数据解析方式,确定各测试组件对应的待测试H5页面中的DOM对象,以及实现相应业务场景需要调用的业务接口后,可以依据解析的数据内容,自动实现待测试H5页面的各页面元素的校验测试,以及对各业务接口的调用校验测试,无需模拟对待测试H5页面的操作行为,降低了开发测试成本,提高了测试效率,且覆盖了待测试H5页面支持的各业务场景,提高了测试覆盖率和精准度。
参照图5,为本申请提出的H5页面测试方法的可选实施例二的流程示意图,本实施例可以对上文提出的测试设备执行的H5页面测试方法的一可选细化实现方式进行描述如,如图5所示,该H5页面测试方法可以包括:
步骤S51,响应针对待测试H5页面的测试请求,获取数据库存储的针对待测试H5页面配置的测试信息;该测试信息包括待测试H5页面的基础信息以及自定义选择的各测试组件的组件配置信息;
关于步骤S51的实现过程,可以参照上下文实施例对应部分的描述,本实施例在此不做详述。
步骤S52,确定各组件配置信息包含的相应测试组件的属性标识;
步骤S53,遍历解析待测试H5页面的数据结构,获取各属性标识对应的DOM对象;
对于录入测试平台的待测试H5页面的各页面测试数据,可以采用JSON格式存储到数据库中,这样,在测试服务器开始进行H5页面测试时,可以从数据库读取任一待测试H5页面的基础信息,据此实现对属于该待测试H5页面的各配置信息,包括但并不局限于通过H5页面接口,获取存储其组件配置信息的JSON文件,通过对其进行遍历,获取各测试组件的组件配置信息,如针对待测试H5页面自定义选择的各测试组件的name、id、text、img等内容,本申请对各测试组件的组件配置信息的内容不做限制,通常保证用于识别该测试组件的属性标识,以及实现对应业务场景所需的配置信息等。
基于此,在遍历解析待测试H5页面的数据结构(其可以由对应的程序代码表示)过程中,可以依据各测试组件的属性标识(如name、id等至少一个具有唯一特性的标识),获取对应的DOM对象,由此确定使用各测试组件所需的DOM对象。可见,在开发配置的任一H5页面的数据结构可以包括不同的DOM对象及其关联关系,不同DOM对象对应待测试H5页面的前端页面元素不同,本申请对待测试H5页面中不同测试组件与不同DOM对象之间的对应关系的分析确定方法不做限制。
步骤S54,将该DOM对象的对象内容与对应的属性标识关联后存储;
本申请实施例中,经过对待测试H5页面的数据结构以及各测试组件的组件配置信息的分析,确定每个测试组件对应的DOM对象后,可以采用键值等方式,对该DOM对象的对象内容和对应的测试组件的属性标识进行关联存储,可以存储到数据库中对应的JSON文件中,以供后续测试时读取,但并不局限于这种键值存储方式。
步骤S55,解析各组件配置信息,获取相应测试组件实现业务场景所需调用的业务接口;
关于步骤S55的实现方法,可以参照上下文实施例对应部分的描述,本实施例在此不做详述。
步骤S56,各测试组件的属性标识,获得相应测试组件相匹配的用例集;
在基于解析得到的待测试页面的基础信息内容,以及各测试组件的组件配置信息内容和对应的DOM对象的对象内容后,据此实现不同页面元素的校验测试过程中,可以通过配置标志装饰器的方式,自动筛选各测试组件所需的用例,因此,可以基于组件配置信息包含的相应测试组件的属性标识,配置具有相应属性标识的装饰器,从而基于配置的各装饰器,从用例库中调度属性标识相匹配的用例,生成对应测试组件的用例集。
示例性的,测试组件的属性标识可以是组件名称name,这样,用例配置pytest.mark.name标志装饰器,通过调度模块将自定义选择的各测试组件的组件名称name与该装饰器配置的name进行比较,基于name相同的用例,生成对应测试组件的用例集。其中,抽奖(lottery)测试组件的用例装饰器配置可以为:
@pytest.mark.lottery
def test_getChance(self):
本申请对如何通过配置装饰器,实现不同测试组件的用例自动匹配筛选的实现方法不做详述。当然,对于各测试组件的用例集的获取方法,包括但并不局限于这种通过标志装饰器的匹配方法,可以依据实际需求进行灵活调整。
步骤S57,对各测试组件相匹配的用例集进行预处理,得到针对待测试H5页面待执行的测试用例集;
步骤S58,执行测试用例集包含的各测试用例,将相应的基础信息、组件配置信息和DOM对象的对象内容进行页面元素校验测试,得到相应页面元素测试结果;
在实际应用中,对于同一待测试H5页面的每一测试组件可能需要执行多个用例,不同测试组件执行的用例可能会存在重复等情况,为了减少后续用于测试执行的用例数量,可以对各测试组件相匹配到的用例集进行去重等预处理,得到用以实现待测试H5页面测试的测试用例集,本申请对步骤S56描述的预处理方法不做限制。在一些实施例中,也可以直接将相匹配到的用例确定为对应测试组件的测试用例执行。
之后,在执行其中的每一测试用例过程中,可以对上述获取的基础信息、各组件配置信息和DOM对象进行标识ID识别,执行标识ID相匹配到的信息内容,完成对待测试H5页面的页面元素测试,实现过程本申请不做详述。
步骤S59,基于基础信息和各组件配置信息,对相应测试组件调用对应业务接口的接口返回参数、所需的后端数据配置和消息回调结果之中的至少一个进行校验测试,得到对应的组件业务测试结果;
在待测试H5页面的组件业务测试过程中,对于不同测试组件工作所实现的业务场景可能不同,不同业务场景所需调用的业务接口类型不同,本申请按照上文描述的方法确定不同测试组件对应调用的各业务接口后,通过对基础信息、各测试组件的组件配置信息进行相应业务接口的调用校验测试,即校验对应业务接口的调用结果(其可以包括但并不局限于接口返回参数、所需的后端数据配置和消息回调结果/消息通知配置)是否正确,若配置的调用结果正确,认为实际访问H5页面对相应组件进行操作,能够准确调用该业务接口;反之,可以对应测试组件的组件配置信息异常,需要对其进行调试,调试过程本申请不做详述。
步骤S510,在在页面元素校验测试过程或业务接口的调用校验测试过程,获得相应的测试异常信息;
步骤S511,基于超时重试机制,重新执行该测试异常信息对应的测试过程;
在上文描述的任一测试过程中,可能会出现异常情况导致测试失败或长时间未结束,对此,运营人员在测试平台上录入页面测试信息时,可以录入对应测试的测试时长,或开始测试时间和结束测试时间等,并在实际测试过程中,统计实际测试时长,在其达到对应预设的测试时长时,对应测试还未结束,可以触发超时重试机制进行重新测试,保障测试稳定性。本申请对上述不同测试过程预设的测试时长不做限制,可视情况而定。
基于此,在上述测试过程中存在数据库配置测试超时、业务接口调用测试超时等测试异常信息的情况下,为了避免因这类测试异常信息而影响待测试H5页面的测试结果,可以执行超时重试机制,按照上文描述的方法对相应测试异常场景重新进行测试,若再次测试过程中仍存在该异常测试信息,可以结束对该测试异常场景的测试,在后续测试报告后记录对应的测试结果。
步骤S512,确定页面元素测试结果和组件业务测试结果各自包含的待测试H5页面存在的测试问题;
步骤S513,确定测试问题所属的问题等级,生成相应问题级别的测试报告;测试报告包含测试问题以及测试问题所属的问题等级;
步骤S514,通过预设通信方式将测试报告发送至对应客户端进行展示,或者响应于对待测试H5页面的测试查询请求,输出对应的测试报告。
需要说明,本申请对测试服务器对待测试H5页面的页面元素自动校验和业务接口的自动调用校验的测试完成后,生成对应的测试报告的方法以及该测试报告的内容不做限制,可视情况而定的。
在本申请提出的一些实施例中,如上述步骤511-步骤S513描述的一可选实现方式,本实施例可以依据问题严重程度(即影响待测试H5页面按照期望运行的影响程度),确定不同的问题等级,如缺陷、警告和提示这三种问题等级等,还可以结合实际情况实现更细粒度的划分等,本申请对问题等级的划分方法不做限制。
此外,本申请还可以针对不同问题等级配置不同的测试报告模板,在按照上文描述的方法,确定所得到的测试问题所属问题等级后,可以按照对应的测试报告模板,生成相应的测试报告,即将测试报告模板所需的各信息对应填写到测试报告模板中,得到对应的测试报告,通常情况下,该测试报告都会报告所确定的各测试问题及其所属问题等级,以使得查阅该测试报告的人员可以直观了解该测试问题的解决急迫程度,本申请对不同问题等级对应的测试报告的内容不做限制,可视情况而定。
可选的,在确定测试问题的问题等级后,还可以输出对应的测试通知消息,如将测试通知消息发送至测试人员的预设终端,以使得测试人员/开发人员接收到该测试通知消息后,可以登录测试平台查阅对应的测试报告,由此确定是否需要对待测试H5页面进行调试,以及如何调试等。此时,测试人员或开发人员可以通过终端设备登录测试平台,向测试服务器发送针对相应待测试H5页面的测试查询请求,以使得测试服务器响应该测试查询请求,将请求查询的该待测试H5页面的测试报告反馈至终端设备进行展示。
在另一种可能的实现方式中,在运营人员在测试平台上配置待测试H5页面的页面测试信息过程中,录入了接收测试报告的通信方式,如邮箱地址等,在测试服务器按照上文描述的方法获得测试报告后,可以按照该预设通信方式,将测试报告发送至对应客户端进行展示,实现测试报告的主动推送,以使得运营人员、测试人员和开发人员都可以通过这种方式及时得知待测试H5页面的测试结果,但并不局限于本实施例上文描述的测试报告生成和输出方式,可以依据实际情况灵活配置。
按照图6,为本申请提出的H5页面测试方法的可选实施例三的流程示意图,本实施例可以从运营人员使用的终端设备侧描述该H5页面测试方法,即如何登录测试平台录入待测试H5页面而页面测试信息,向测试服务器发送对应的测试请求的实现过程进行描述,如图6所示,该H5页面测试方法可以包括但并不局限于:
步骤S61,输出测试平台的测试页面配置窗口;
步骤S62,响应于对测试页面配置窗口的页面信息录入操作,获得针对待测试H5页面的基础信息;
结合上文分析,运营人员可以使用终端设备登录测试平台,可以进入测试页面配置窗口,以实现对待测试H5页面的测试信息的录入。为了确定待测试H5页面,以便后续获取开发人员确定的页面配置内容,可以录入该待测试H5页面的基础信息,如页面名称、页面ID、开始时间、结束时间等,参照图7所示的测试页面配置窗口,可以在对应的输入框录入或选择对应内容,完成基础信息的录入,本申请对该基础信息的内容及其获取方法不做限制。
步骤S63,响应于对测试页面配置窗口展示的候选组件类型的选择操作,输出针对所选择的测试组件类型的组件配置窗口;
步骤S64,响应于对所述组件配置窗口的配置操作,获得相应类型的测试组件的组件配置信息;
继上述分析,运营人员可以依据实际业务测试需求,灵活选择待测试H5页面包含的各组件中的测试组件,可选的,可以在组件配置窗口中展示构成待测试H5页面的各候选组件,这样,运营人员可以直接从中选择至少一个候选组件为测试组件。当然,也可以在组件配置窗口中展示常用的各候选组件类型,运营人员从中选择需要配置在待测试H5页面中的至少一个测试组件,以实现相应业务场景等,本申请对测试组件的选择实现方法不做限制,可视情况而定。
其中,对于选择的每个测试组件,如基础组件、抽奖组件和打榜组件等,所实现的业务场景不同,所需测试内容可以依据该业务场景的业务推广要求确定,这样,如图7所示,对于选择的测试组件需要录入对应的组件配置信息,即确定该业务场景下需要测试的内容,如后续测试过程中确定需要调用哪些业务接口测试等。
如上文描述,在测试平台上录入待测试H5页面的基础信息(其包含但并不局限于图7所示的活动基础信息,其可以依据该待测试H5页面的配置内容确定,并不局限于活动推广页面),以及待测试H5页面的各测试组件的组件配置信息的过程,并不存在很高的技术含量,运营人员能够直接依据测试页面配置窗口中各输入框的提示信息,输入对应测试信息即可,测试平台可以直接调用对应组件配置过程中所配置的组件脚本,无需执行该测试过程的工作人员(本申请可以是运营人员)重新编写,大大降低了测试门槛,无需专业的测试人员和开发人员介入,降低了测试人工成本,节省了不同职务工作人员沟通时间,有助于缩短开发、测试和发布的整个周期。
步骤S65,响应于针对待测试H5页面的测试配置完成操作,将至少由基础信息和各测试组件的组件配置信息构成的页面测试信息发送至数据库进行存储;
步骤S66,响应于针对待测试H5页面的测试操作,向测试服务器发送针对待测试H5页面的测试请求。
按照上文描述的方法完成对任一待测试H5页面的页面测试信息的录入后,可以提交该页面测试信息,将其发送至数据库进行存储,本申请对这些页面测试信息的存储方式不做限制。之后,在触发测试开始功能按钮,可以生成针对待测试H5页面的测试请求,将该测试请求发送至测试服务器,使得测试服务器响应该测试请求,按照上文测试服务器侧描述的H5页面测试方法,解析运营人员录入的页面测试信息,以及开发人员对该待测试H5页面的配置内容(其可以包括但并不局限于数据结构、各组件的组件脚本等),实现对待测试H5页面的各页面元素的校验测试,以及调用页面接口实现各业务场景的业务接口调用校验测试,无需模拟用户对待测试H5页面的各种行为操作,通过这种解析H5信息后进行对比校验的方式,实现对待测试H5页面的全方面的自动化测试,提高了测试效率,提高了测试用例的精准度和覆盖率,降低了H5页面发布成本和风险。
在本申请实际应用中,如上述分析,在测试服务器完成对待测试H5页面的自动测试后,可以反馈生成的对应的测试报告,在测试平台预留该终端设备的预设通信方式的情况下,可以直接通过该预设通信方式接收测试报告。可选的,测试平台可以存储各待测试H5页面的测试报告,登录该测试平台的用户,可以在如图8所示的测试界面,选择查阅任一H5页面的测试报告,如点击该H5页面ID所在行的“测试报告”这一功能按钮,可以输出测试报告查阅窗口,在该测试报告查阅窗口展示对应的H5页面的测试报告内容,也可以选择将测试报告发送至预设终端输出,本申请对测试报告的查阅方式不做限制。
在一些实施例中,终端设备通过网址或专用测试客户端登录测试平台后,可以输出如图8所示的测试界面,点击其中展示的“新增测试页面”等功能按钮,输出如图7所示的测试页面配置窗口,完成对新增的待测试H5页面的页面测试信息的配置,实现过程可以参照但并不局限于上文描述的方法。
此外,在输出的测试界面中还展示有已构建的其他H5页面的相关信息,对于不同待测试H5页面,可以创建对应的测试ID(如测试编号等)进行区分,记录每一待测试H5页面的测试创建时间及其相关信息,本申请对测试界面包含的内容不做限制。
可选的,测试界面还可以配置有操作区域,用以实现每个测试ID所表示的待测试H5页面的页面测试信息或测试结果等操作,如图8所示,该操作区域可以包括针对各测试ID的H5页面的测试触发标识,如“测试”按钮,在需要对某一H5页面进行测试时,运营人员可以在该测试界面中触发对应的测试触发标识,发起相应的测试请求。操作区域还可以包括针对各测试ID的H5页面的测试报告查询标识,直接点击“测试报告”这一按钮,即可输出对应测试ID的H5页面的自动化测试的测试报告。
在某一H5页面的测试要求发生变化,或者测试报告指示对应待测试H5页面测试未通过,开发人员重新对其进行编辑或运营人员重新录入页面测试信息进行重新测试等情况下,需要对该H5页面的页面测试信息或配置内容进行编辑,可以对测试界面的操作区域展示的对应H5页面的编解入口标识,如“编辑”按钮进行触发操作,进入对应H5页面的编辑窗口,如上图7所示,可以重新录入或修改部分页面测试信息,并记录对应的修改时间,提交保存后的页面测试信息后,点击“测试”按钮,开始基于最新提交的页面测试信息,实现对该H5页面的自动化测试,测试过程可以参照上文从测试服务器角度描述的实现过程,本实施例在此不做详述。
在完成对某H5页面的测试,且测试合格后,可以在测试界面中删除该H5页面的相关信息,可以在测试界面的操作区域触发删除标识,如“删除”按钮,可以删除所在行测试ID相关的信息内容,当然,后续在H5页面迭代升级后,仍可以按照上文描述的方法对其新建测试ID,配置对应的页面测试信息,再对其进行自动化测试。
综上分析,为了实现本申请提出的H5页面测试方法,测试系统的逻辑测试架构可以如图9所示,从上到下的顺序依次为测试后台、接口层、组件脚本、测试工具和数据层,在测试后台可以实现HTML基础信息的录入、测试组件选择以及录入实现测试组件测试的组件配置信息,接口层可以配置测试接口、查询状态接口和报告接口,可以在测试平台触发对应的入口标识,通过调用对应接口实现H5页面测试、测试状态查询、测试报告查询等。
对于测试架构中的组件脚本可以包括如上文列举的一些常用组件的包括但并不局限于图9所示的基础组件、打榜组件和抽奖组件,这些组件执行所需的脚本可以由开发人员配置后上传,运营人员无需编写脚本文件,可以在选择所需的测试组件后,直接从后端调用对应测试组件的组件脚本即可,实现过程本申请不做详述。
测试工具层包含用于实现H5页面测试所需的各种工具,在测试过程中,可以依据实际需求选择,包括但并不局限于图9所示的python adb pytestJenkins Allure等。对于测试过程中产生的数据以及最终生成的测试报告,可以发送至数据库层的对应数据库进行存储,本申请对数据层配置的不做限制,可以依据实际需求确定。
由此可见,对于本申请提出的H5页面测试方法,可以由运营人员依据待测试H5页面的配置业务要求,进入测试平台的测试页面配置窗口,录入需要测试的页面测试信息,如基础信息以及选择进行测试的各测试组件的组件配置信息,将其提交至测试服务器后,由测试服务器通过解析相关信息,实现对待测试H5页面的各页面元素的校验测试,以及对需要调用的各业务接口进行调用校验测试,不再限定全量测试,也无需模拟该待测试H5页面的操作行为,也不用编写各测试用例,也就不用开发人员和测试人员介入,解决了人工编写测试用例导致的测试效率低、测试用例维护复杂以及测试脚本复用等问题,且本申请通过接口测试覆盖业务场景,提高了测试覆盖率。
参照图10,为本申请提出的H5页面测试装置的一可选实施例的结构示意图,如图10所示,该H5页面测试装置可以包括:
第一获取模块101,用于响应针对待测试H5页面的测试请求,获取数据库存储的针对所述待测试H5页面配置的页面测试信息;所述页面测试信息包括所述待测试H5页面的基础信息以及自定义选择的各测试组件的组件配置信息;
第二获取模块102,用于基于所述组件配置信息,获取所述待测试H5页面中相应所述测试组件的文档对象模型DOM对象,以及实现相应业务场景所需调用的业务接口;任一所述业务场景基于至少一个所述测试组件实现;
页面元素测试结果得到模块103,用于对所述测试基础信息、所述组件配置信息和所述DOM对象进行页面元素校验测试,得到页面元素测试结果;
组件业务测试结果得到模块104,用于对所述测试基础信息和所述组件配置信息进行不同所述业务接口的调用校验测试,得到组件业务测试结果;
测试报告生成模块105,用于基于所述页面元素测试结果和所述组件业务测试结果,生成所述待测试H5页面的测试报告输出。
可选的,第二获取模块102可以包括:
属性标识确定单元,用于确定各所述组件配置信息包含的相应所述测试组件的属性标识;
DOM对象获取单元,用于遍历解析所述待测试H5页面的数据结构,获取各所述属性标识对应的文档对象模型DOM对象;
DOM对象内容存储单元,用于将所述DOM对象的对象内容与对应的所述属性标识关联后存储。
可选的,页面元素测试结果得到模块103可以包括:
用例集获得单元,用于基于所述组件配置信息包含的相应所述测试组件的属性标识,获得所述测试组件相匹配的用例集;
测试用例集得到单元,用于对各所述测试组件相匹配的所述用例集进行预处理,得到针对所述待测试H5页面待执行的测试用例集;
页面元素校验测试单元,用于执行所述测试用例集包含的各测试用例,将相应的所述基础信息、所述组件配置信息和所述DOM对象的对象内容进行页面元素校验测试,得到相应页面元素测试结果。
其中,用例集获得单元可以包括:
装饰器配置单元,用于基于所述组件配置信息包含的相应所述测试组件的属性标识,配置具有相应所述属性标识的装饰器;
用例集生成单元,用于基于配置的各所述装饰器,从用例库中调度所述属性标识相匹配的用例,生成对应所述测试组件的用例集。
在一些实施例中,上述组件业务测试结果得到模块104包括至少一个校验单元:
第一校验单元,用于基于所述页面配置信息和所述组件配置信息,对相应所述测试组件调用对应所述业务接口的接口返回参数进行校验;
第二校验单元,用于基于所述页面配置信息和所述组件配置信息,对相应所述测试组件调用对应所述业务接口所需的后端数据配置进行校验;
第三校验单元,用于基于所述页面配置信息和所述组件配置信息,对相应所述测试组件调用对应所述业务接口的消息回调结果进行校验。
结合上文实施例描述的H5页面测试装置,该H5页面测试装置还可以包括:
测试异常信息获得模块,用于在所述页面元素校验测试过程或所述业务接口的调用校验测试过程,获得相应的测试异常信息;
重试模块,用于基于超时重试机制,重新执行所述测试异常信息对应的测试过程。
可选的,上述测试报告生成模块105可以包括:
测试问题确定单元,用于确定所述页面元素测试结果和所述组件业务测试结果各自包含的所述待测试H5页面存在的测试问题;
测试报告生成单元,用于确定所述测试问题所属的问题等级,生成相应所述问题级别的测试报告;所述测试报告包含所述测试问题以及所述测试问题所属的问题等级;
测试报告发送单元,用于通过预设通信方式将所述测试报告发送至对应客户端进行展示,或者响应于对所述待测试H5页面的测试查询请求,输出对应的所述测试报告。
参照图11,为本申请提出的H5页面测试装置的另一可选实施例的结构示意图,该H5页面测试装置可以包括:
测试页面配置窗口输出模块111,用于输出测试平台的测试页面配置窗口;
基础信息获得模块112,用于响应于对所述测试页面配置窗口的页面信息录入操作,获得针对待测试H5页面的基础信息;
组件配置窗口输出模块113,用于响应于对所述测试页面配置窗口展示的候选组件类型的选择操作,输出针对所选择的测试组件类型的组件配置窗口;
组件配置信息获得模块114,用于响应于对所述组件配置窗口的配置操作,获得相应类型的测试组件的组件配置信息;
页面测试信息发送模块115,用于响应于针对所述待测试H5页面的测试配置完成操作,将至少由所述基础信息和各所述测试组件的所述组件配置信息构成的页面测试信息发送至数据库进行存储;
测试请求发送模块116,用于响应于针对所述待测试H5页面的测试操作,向测试服务器发送针对所述待测试H5页面的测试请求。
需要说明的是,关于上述各装置实施例中的各种模块、单元等,均可以作为程序模块存储在存储器中,由处理器执行存储在存储器中的上述程序模块,以实现相应的功能,关于各程序模块及其组合所实现的功能,以及达到的技术效果,可以参照上述方法实施例相应部分的描述,本实施例不再赘述。
本申请还提供了一种计算机可读存储介质,其上可以存储计算机程序,该计算机程序可以被处理器调用并加载,以实现上述实施例描述的H5页面测试方法的各个步骤。
最后,需要说明的是,本说明书中各个实施例采用递进或并列的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、系统、设备而言,由于其与实施例公开的方法对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种H5页面测试方法,其特征在于,所述H5页面测试方法包括:
响应针对待测试H5页面的测试请求,获取数据库存储的针对所述待测试H5页面配置的页面测试信息;所述页面测试信息包括所述待测试H5页面的基础信息以及自定义选择的各测试组件的组件配置信息;
基于所述组件配置信息,获取所述待测试H5页面中相应所述测试组件的文档对象模型DOM对象,以及实现相应业务场景所需调用的业务接口;任一所述业务场景基于至少一个所述测试组件实现;
对所述测试基础信息、所述组件配置信息和所述DOM对象进行页面元素校验测试,得到页面元素测试结果;
对所述测试基础信息和所述组件配置信息进行不同所述业务接口的调用校验测试,得到组件业务测试结果;
基于所述页面元素测试结果和所述组件业务测试结果,生成所述待测试H5页面的测试报告输出。
2.根据权利要求1所述的H5页面测试方法,其特征在于,基于所述组件配置信息,获取所述待测试H5页面包含的针对相应所述测试组件的文档对象模型DOM对象,包括:
确定各所述组件配置信息包含的相应所述测试组件的属性标识;
遍历解析所述待测试H5页面的数据结构,获取各所述属性标识对应的文档对象模型DOM对象;
将所述DOM对象的对象内容与对应的所述属性标识关联后存储。
3.根据权利要求1所述的H5页面测试方法,其特征在于,所述对所述页面配置信息、所述组件配置信息和所述DOM对象进行页面元素校验测试,得到页面元素测试结果,包括:
基于所述组件配置信息包含的相应所述测试组件的属性标识,获得所述测试组件相匹配的用例集;
对各所述测试组件相匹配的所述用例集进行预处理,得到针对所述待测试H5页面待执行的测试用例集;
执行所述测试用例集包含的各测试用例,将相应的所述基础信息、所述组件配置信息和所述DOM对象的对象内容进行页面元素校验测试,得到相应页面元素测试结果。
4.根据权利要求3所述的H5页面测试方法,其特征在于,所述基于所述组件配置信息包含的相应所述测试组件的属性标识,获得所述测试组件相匹配的用例集,包括:
基于所述组件配置信息包含的相应所述测试组件的属性标识,配置具有相应所述属性标识的装饰器;
基于配置的各所述装饰器,从用例库中调度所述属性标识相匹配的用例,生成对应所述测试组件的用例集。
5.根据权利要求1所述的H5页面测试方法,其特征在于,所述对所述页面配置信息和所述组件配置信息进行不同所述业务接口的调用校验测试,包括以下至少一种:
基于所述页面配置信息和所述组件配置信息,对相应所述测试组件调用对应所述业务接口的接口返回参数进行校验;
基于所述页面配置信息和所述组件配置信息,对相应所述测试组件调用对应所述业务接口所需的后端数据配置进行校验;
基于所述页面配置信息和所述组件配置信息,对相应所述测试组件调用对应所述业务接口的消息回调结果进行校验。
6.根据权利要求1-5任一项所述的H5页面测试方法,其特征在于,所述H5页面测试方法还包括:
在所述页面元素校验测试过程或所述业务接口的调用校验测试过程,获得相应的测试异常信息;
基于超时重试机制,重新执行所述测试异常信息对应的测试过程。
7.根据权利要求1-5任一项所述的H5页面测试方法,其特征在于,基于所述页面元素测试结果和所述组件业务测试结果,生成所述待测试H5页面的测试报告输出,包括:
确定所述页面元素测试结果和所述组件业务测试结果各自包含的所述待测试H5页面存在的测试问题;
确定所述测试问题所属的问题等级,生成相应所述问题级别的测试报告;所述测试报告包含所述测试问题以及所述测试问题所属的问题等级;
通过预设通信方式将所述测试报告发送至对应客户端进行展示,或者响应于对所述待测试H5页面的测试查询请求,输出对应的所述测试报告。
8.一种H5页面测试方法,其特征在于,所述H5页面测试方法包括:
输出测试平台的测试页面配置窗口;
响应于对所述测试页面配置窗口的页面信息录入操作,获得针对待测试H5页面的基础信息;
响应于对所述测试页面配置窗口展示的候选组件类型的选择操作,输出针对所选择的测试组件类型的组件配置窗口;
响应于对所述组件配置窗口的配置操作,获得相应类型的测试组件的组件配置信息;
响应于针对所述待测试H5页面的测试配置完成操作,将至少由所述基础信息和各所述测试组件的所述组件配置信息构成的页面测试信息发送至数据库进行存储;
响应于针对所述待测试H5页面的测试操作,向测试服务器发送针对所述待测试H5页面的测试请求。
9.一种H5页面测试装置,其特征在于,所述H5页面测试装置包括:
第一获取模块,用于响应针对待测试H5页面的测试请求,获取数据库存储的针对所述待测试H5页面配置的页面测试信息;所述页面测试信息包括所述待测试H5页面的基础信息以及自定义选择的各测试组件的组件配置信息;
第二获取模块,用于基于所述组件配置信息,获取所述待测试H5页面中相应所述测试组件的文档对象模型DOM对象,以及实现相应业务场景所需调用的业务接口;任一所述业务场景基于至少一个所述测试组件实现;
页面元素测试结果得到模块,用于对所述测试基础信息、所述组件配置信息和所述DOM对象进行页面元素校验测试,得到页面元素测试结果;
组件业务测试结果得到模块,用于对所述测试基础信息和所述组件配置信息进行不同所述业务接口的调用校验测试,得到组件业务测试结果;
测试报告生成模块,用于基于所述页面元素测试结果和所述组件业务测试结果,生成所述待测试H5页面的测试报告输出。
10.一种H5页面测试装置,其特征在于,所述H5页面测试装置包括:
测试页面配置窗口输出模块,用于输出测试平台的测试页面配置窗口;
基础信息获得模块,用于响应于对所述测试页面配置窗口的页面信息录入操作,获得针对待测试H5页面的基础信息;
组件配置窗口输出模块,用于响应于对所述测试页面配置窗口展示的候选组件类型的选择操作,输出针对所选择的测试组件类型的组件配置窗口;
组件配置信息获得模块,用于响应于对所述组件配置窗口的配置操作,获得相应类型的测试组件的组件配置信息;
页面测试信息发送模块,用于响应于针对所述待测试H5页面的测试配置完成操作,将至少由所述基础信息和各所述测试组件的所述组件配置信息构成的页面测试信息发送至数据库进行存储;
测试请求发送模块,用于响应于针对所述待测试H5页面的测试操作,向测试服务器发送针对所述待测试H5页面的测试请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311713667.1A CN117931628A (zh) | 2023-12-13 | 2023-12-13 | 一种h5页面测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311713667.1A CN117931628A (zh) | 2023-12-13 | 2023-12-13 | 一种h5页面测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117931628A true CN117931628A (zh) | 2024-04-26 |
Family
ID=90765503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311713667.1A Pending CN117931628A (zh) | 2023-12-13 | 2023-12-13 | 一种h5页面测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117931628A (zh) |
-
2023
- 2023-12-13 CN CN202311713667.1A patent/CN117931628A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109871326B (zh) | 一种脚本录制的方法和装置 | |
US7895565B1 (en) | Integrated system and method for validating the functionality and performance of software applications | |
US20160170867A1 (en) | Exposing method related data calls during testing in an event driven, multichannel architecture | |
US20100180260A1 (en) | Method and system for performing an automated quality assurance testing | |
CN108628748B (zh) | 自动化测试管理方法和自动化测试管理系统 | |
CN111124919A (zh) | 一种用户界面的测试方法、装置、设备及存储介质 | |
CN112783793B (zh) | 自动化接口测试系统及方法 | |
CN112597014B (zh) | 基于数据驱动的自动化测试方法、装置、介质及电子设备 | |
CN113515453B (zh) | 网页测试系统 | |
CN112433948A (zh) | 一种基于网络数据分析的仿真测试系统及方法 | |
CN111679982A (zh) | 一种rest api接口软件自动化测试方法 | |
CN115658529A (zh) | 用户页面的自动化测试方法以及相关设备 | |
CN112650688A (zh) | 自动化回归测试方法、关联设备以及计算机程序产品 | |
CN116841865A (zh) | 可视化测试方法、装置、电子设备及存储介质 | |
CN115952081A (zh) | 一种软件测试方法、装置、存储介质及设备 | |
CN115080389A (zh) | 提升指标统计效率的测试系统、方法、设备及存储介质 | |
CN111444109B (zh) | 一种移动端ui自动化测试方法及系统 | |
CN117493188A (zh) | 接口测试方法及装置、电子设备及存储介质 | |
CN116719736A (zh) | 一种用于测试软件界面的测试用例生成方法及装置 | |
CN111258893A (zh) | 随机组装交易路径的移动端应用自动化测试装置 | |
CN117931628A (zh) | 一种h5页面测试方法及装置 | |
CN115934559A (zh) | 表单智能测试系统的测试方法 | |
TW202303388A (zh) | 軟體應用中鑑別錯誤的裝置及方法 | |
CN114546850A (zh) | 一种埋点的自动化测试方法、系统、装置及存储介质 | |
CN115878448A (zh) | 数据库测试方法、分布式数据库、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |