CN110287096A - H5前端页面测试方法、电子装置及计算机可读存储介质 - Google Patents
H5前端页面测试方法、电子装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110287096A CN110287096A CN201910420606.3A CN201910420606A CN110287096A CN 110287096 A CN110287096 A CN 110287096A CN 201910420606 A CN201910420606 A CN 201910420606A CN 110287096 A CN110287096 A CN 110287096A
- Authority
- CN
- China
- Prior art keywords
- interface
- end page
- test
- call address
- address
- 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
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
-
- 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
本发明涉及测试技术领域,提供了一种H5前端页面测试方法、电子装置及存储介质。该方法包括:接收H5前端页面的测试请求,利用web整合框架搭建的接口模式按照预设的接口文档模拟所述H5前端页面对应的链路流程所需要调用的所有接口;将模拟的所有接口对应的调用地址进行参数化配置,得到第一接口调用地址;获取所述H5前端页面请求测试的当前测试环境,根据所述第一接口调用地址,确定当前测试环境对应的第二接口调用地址;基于确定的第二接口调用地址对所述H5前端页面进行测试。利用本发明,可提高H5前端页面的测试效率,缩短整个测试的周期。
Description
技术领域
本发明涉及测试技术领域,尤其涉及一种H5前端页面测试方法、电子装置及存储介质。
背景技术
目前,在很多应用场景中需要采用H5进行前端展现,H5调用网关接口与后端进行连接。在现有技术中,在对H5前端页面进行测试时,需要依赖后端接口先开发以及测试完成后,再进行H5前端页面的开发,最后才能进行H5前端页面的测试,导致H5前端测试效率较低,大大的延长了项目开发周期。
发明内容
鉴于以上内容,本发明提供一种H5前端页面测试方法、电子装置及存储介质,其主要目的在于提高H5前端页面的测试效率,缩短项目开发的周期。
为实现上述目的,本发明提供一种H5前端页面测试方法,该方法包括:
模拟步骤:接收H5前端页面的测试请求,利用web整合框架搭建的接口模式按照预设的接口文档模拟所述H5前端页面对应的链路流程所需要调用的所有接口;
配置步骤:将模拟的所有接口对应的调用地址进行参数化配置,得到第一接口调用地址;
确定步骤:获取所述H5前端页面请求测试的当前测试环境,根据所述第一接口调用地址,确定当前测试环境对应的第二接口调用地址;及
测试步骤:基于确定的第二接口调用地址对所述H5前端页面进行测试。
优选地,所述模拟所述H5前端页面对应的链路流程所需要调用的所有接口包括:模拟接口的接口地址和校验逻辑。
优选地,所述模拟接口的校验逻辑包括:根据预设的接口文档中设计的各个接口的入参、出参格式以及参数是否必填逻辑需求,在所述web整合框架中添加各个接口校验入参的逻辑以及通过对象实例化返回接口响应的参数。
优选地,所述配置步骤具体包括:通过在所述所有接口对应的调用地址添加不同的参数来设置所述H5前端页面在不同环境下的调用地址,得到所述第一接口调用地址。
优选地,所述确定步骤具体包括:获取所述H5前端页面请求测试的当前测试环境,根据所述第一接口调用地址中参数化配置添加的参数在所述web整合框架的代码中添加判断逻辑,判断及确定当前测试环境所需要调用的所述第二接口调用地址。
此外,为实现上述目的,本发明还提供一种电子装置,该电子装置包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的H5前端页面测试程序,所述H5前端页面测试程序被所述处理器执行时实现如下步骤:
模拟步骤:接收H5前端页面的测试请求,利用web整合框架搭建的接口模式按照预设的接口文档模拟所述H5前端页面对应的链路流程所需要调用的所有接口;
配置步骤:将模拟的所有接口对应的调用地址进行参数化配置,得到第一接口调用地址;
确定步骤:获取所述H5前端页面请求测试的当前测试环境,根据所述第一接口调用地址,确定当前测试环境对应的第二接口调用地址;及
测试步骤:基于确定的第二接口调用地址对所述H5前端页面进行测试。
此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有H5前端页面测试程序,所述H5前端页面测试程序可被一个或者多个处理器执行,以实现如上所述的H5前端页面测试方法的步骤。
本发明提出了一种H5前端页面测试方法、电子装置及存储介质。通过利用web整合框架搭建的接口模式按照预设的接口文档模拟所述H5前端页面对应的链路流程所需要调用的所有接口,并将模拟的所有接口的调用地址进行参数化配置,然后选择测试环境对应的接口调用地址进行测试即可完成对H5前端页面的测试,使得后端接口开发测试与H5的前端开发测试可以同步进行,提高H5前端页面的测试效率,缩短整个测试的周期。
附图说明
图1为本发明一实施例提供的H5前端页面测试方法的流程示意图;
图2为本发明一实施例提供的电子装置的内部结构示意图;
图3为本发明一实施例提供的电子装置中H5前端页面测试程序的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种H5前端页面测试方法。参照图1所示,为本发明一实施例提供的H5前端页面测试方法的流程示意图。该方法可以由一个电子装置执行,该电子装置可以由软件和/或硬件实现。
在本实施例中,H5前端页面测试方法包括:
步骤S10,接收H5前端页面的测试请求,利用web整合框架搭建的接口模式按照预设的接口文档模拟所述H5前端页面对应的链路流程所需要调用的所有接口。一般在开发过程中,在设计开发接口时都会先构建接口文档,然后按照构建完成的接口文档进行开发。例如,用户的注册流程中,在进行需求评审的时候流程就已经确定,通过需求文档中设计的流程图进行接口设计,然后完成接口文档的构建。
在本实施例中,在接收到H5前端页面的测试请求后,利用web整合框架搭建的接口模式按照预设的接口文档模拟所述H5前端页面对应的链路流程所需要调用的所有接口。例如,以一个登录注册并给参赛选手投票流程进行举例说明,用户需要在一个H5页面上完成注册和登录,根据预设的接口文档可以分析得出,需要模拟出的该H5前端页面对应的流程所需要调用的所有接口包括:获取图片验证码接口、获取手机验证码接口、用户注册接口、登录接口、获取选手列表接口、投票接口、验证是否重复投票接口。
在本实施例中,在获取到预设的接口文档后,利用web整合框架搭建的接口模式来模拟所述接口文档中所述H5前端页面对应的链路流程所需要调用的所有接口。例如,利用web整合框架Spring Boot搭建的Restful接口模式按照所述接口文档模拟所述H5前端页面对应的链路流程(如注册、登录等流程)所需要调用的所有接口。其中,Spring Boot是一个轻量级,简化配置和开发流程的web整合框架,具有以下特点:
a1、自动配置Spring,不需要配置Spring的数据源、连接池、事务通知等类加载初始化等信息,Spring Boot会自动将这些信息配置完毕;
a2、简化Maven配置,整合常用依赖,Spring Boot的依赖整合了常用的开发库,例如spring-webmvc、jackson-json、validation-api和tomcat等,当引入核心依赖时,SpringBoot会自动引入这些依赖,无需寻找web相关的jar包依赖一个一个添加进去,只需要引入Spring Boot提供的核心依赖即可;
a3、可自动嵌入中间件插件(Tomcat/Jboss/Jetty),Spring Boot的核心依赖中包含了Server服务的基本jar,如果需要中间件时,替换相关的Spring Boot中间件依赖即可,Spring Boot会自动识别中间件;
a4、提供应用状态(指标,健康检查和外部配置),Spring Boot还可以提供应用的运行状态,供开发人员观察项目目前运行的情况。
本实施例中模拟的所述接口文档中的接口为Restful Api接口,模拟的RestfulApi接口以资源为导向。例如:/user/id(GET方法,获取)/user/(POST方法,创建),模拟的Restful Api接口用URL描述资源,用Http方法描述行为,用Http状态码描述不同的结果,使用Json作为交互数据(包括入参和响应)。所述Restful Api接口包括如下三个特性:
b1、是基于Http协议的,是无状态的;
b2、是以资源为导向的;
b3、返回体内部包含相关必要的指导和链接。
在本实施例中,模拟的所有接口包括模拟接口的接口地址(如URL地址),和校验逻辑。所述模拟接口的校验逻辑的实现方式为:设置各个接口对应的接口返回值对象实例。在后续对H5前端页面进行测试过程中可通过设置的各个接口对应的接口返回值对象实例对前端请求中的参数进行校验。具体的,可根据预设的接口文档中设计的各个接口的入参、出参格式,以及参数是否必填等逻辑需求,在搭建好的Spring Boot框架中添加各个接口校验入参的逻辑,以及通过对象实例化返回接口响应的参数,为各个接口对应设置接口返回值对象实例,从而模拟各个接口的校验逻辑。
例如,模拟的一个接口的参数中有必填项,或是参数有格式校验逻辑,在搭建好的Spring Boot框架中添加该接口的是否必填项和格式校验逻辑需求,并对创建好的对象进行实例化,从而返回接口响应的参数,该接口会通过不同的错误类型返回不同的错误码以及错误消息。接口返回信息一般都是以Json格式进行返回,首先是对接口返回值创建一个对象ObjectBean,然后对该对象进行实例化并赋值(返回参数的值可以配置在配置文件中,也可以在代码中写死),最后将对象转成JsonString返回给前端。如下所示,下面是在一种应用场景中为接口设置的一个简单的实例:
在另一实施例中,当服务端接口开发过程中如果遇到有返回参数的改动,只需要改动Spring Boot框架中的Object,重新生成接口返回的结果即可,即只需修改为接口对应设置的接口返回值对象实例。例如,模拟的是一个查询列表的接口,当返回数据如列表的产品名种状态以及时间参数需要修改时,可以修改预先为该接口设置的接口返回值对象实例代码中实例对象的代码,然后重新部署即可,或是修改对应接口返回配置文件的返回值配置的信息,这种方式不需要重新启用服务器,前端重新发一次请求即可,通过这种方式即可对前端请求传进来的参数做正确性校验。
步骤S20,将模拟的所有接口对应的调用地址进行参数化配置,得到第一接口调用地址。具体包括:通过添加不同的参数来设置所述H5前端页面在不同环境下调用的接口地址,即设置H5页面在某种环境下调用哪个环境的接口地址。比如在开发阶段,可以调用模拟环境的接口进行开发联调;而如果当前端已经开发完成且需要提测,而后端接口还未开发完成时,通过在模拟的接口地址(如URL)中的链接请求中添加一个参数,根据该参数判断调用哪个环境的接口。
例如,https://www.cnblogs.com/xuwujing/p/8260935.html?env=dev/stg/prd,dev,stg,prd是环境参数,通过在URL中添加不同的参数以及在Spring Boot框架代码中添加判断逻辑,判断当前测试环境所需要调用的接口的接口地址。
步骤S30,获取所述H5前端页面请求测试的当前测试环境,根据所述第一接口调用地址,确定当前测试环境对应的第二接口调用地址。具体地,根据所述第一接口调用地址中参数化配置添加的参数在所述web整合框架的代码中添加判断逻辑,判断及确定当前测试环境所需要调用的接口调用地址,作为所述第二接口调用地址。其中,所述第一接口调用地址是通过添加不同的参数来设置所述H5前端页面在不同环境下的调用的接口地址;所述第二接口调用地址是在当前测试环境下对应的接口调用地址,不同测试环境下对应不同的接口调用地址。
在另一实施例中,当需要后端和前端一起测试时,只需要重新部署一下测试环境的配置,修改当前测试环境的接口地址即可。传统的方法只能通过后端接口开发好后,再进行前端测试;而通过本方法,可以将前端测试提前,并不依赖于后端的接口,即在后端接口还未开发好时,可通过参数化配置的接口地址,选择测试环境对应的接口地址进行测试即可完成对H5前端页面的测试。例如,https://www.cnblogs.com/xuwujing/p/8260935.html?env=dev/stg/prd,将测试中的URL中的参数设置为dev参数,待后端接口开发和提测完成后,将URL中的dev参数切换至stg,然后再进行一次回归测试,其他详细的校验性测试则不需要再重复测试。通过这种方式,本实施例可以不受后端开发测试的限制,提前将H5前端页面测试完成,实现前后端分离,使得后端接口开发测试与H5的前端开发测试可以同步进行,缩短整个测试的周期。
步骤S40,基于确定的第二接口调用地址对所述H5前端页面进行测试。
本发明还提出一种电子装置。参照图2所示,为本发明一实施例提供的电子装置的内部结构示意图。
在本实施例中,电子装置1可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、便携计算机等终端设备。该电子装置1至少包括存储器11、处理器12,网络接口13,以及通信总线。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是电子装置1的内部存储单元,例如该电子装置1的硬盘。存储器11在另一些实施例中也可以是电子装置1的外部存储设备,例如电子装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括电子装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于电子装置1的应用软件及各类数据,例如H5前端页面测试程序10的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行类似H5前端页面测试程序10等。
网络接口13可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该电子装置1与其他电子设备之间建立通信连接。
通信总线用于实现这些组件之间的连接通信。
可选地,该电子装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。
图2仅示出了具有组件11-13以及H5前端页面测试程序10的电子装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对电子装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图2所示的电子装置1实施例中,存储器11中存储有H5前端页面测试程序10;处理器12执行存储器11中存储的H5前端页面测试程序10时实现如下步骤:
模拟步骤:接收H5前端页面的测试请求,利用web整合框架搭建的接口模式按照预设的接口文档模拟所述H5前端页面对应的链路流程所需要调用的所有接口。一般在开发过程中,在设计开发接口时都会先构建接口文档,然后按照构建完成的接口文档进行开发。例如,用户的注册流程中,在进行需求评审的时候流程就已经确定,通过需求文档中设计的流程图进行接口设计,然后完成接口文档的构建。
在本实施例中,在接收到H5前端页面的测试请求后,利用web整合框架搭建的接口模式按照预设的接口文档模拟所述H5前端页面对应的链路流程所需要调用的所有接口。例如,以一个登录注册并给参赛选手投票流程进行举例说明,用户需要在一个H5页面上完成注册和登录,根据预设的接口文档可以分析得出,需要模拟出的该H5前端页面对应的流程所需要调用的所有接口包括:获取图片验证码接口、获取手机验证码接口、用户注册接口、登录接口、获取选手列表接口、投票接口、验证是否重复投票接口。
在本实施例中,在获取到预设的接口文档后,利用web整合框架搭建的接口模式来模拟所述接口文档中所述H5前端页面对应的链路流程所需要调用的所有接口。例如,利用web整合框架Spring Boot搭建的Restful接口模式按照所述接口文档模拟所述H5前端页面对应的链路流程(如注册、登录等流程)所需要调用的所有接口。其中,Spring Boot是一个轻量级,简化配置和开发流程的web整合框架,具有以下特点:
a1、自动配置Spring,不需要配置Spring的数据源、连接池、事务通知等类加载初始化等信息,Spring Boot会自动将这些信息配置完毕;
a2、简化Maven配置,整合常用依赖,Spring Boot的依赖整合了常用的开发库,例如spring-webmvc、jackson-json、validation-api和tomcat等,当引入核心依赖时,SpringBoot会自动引入这些依赖,无需寻找web相关的jar包依赖一个一个添加进去,只需要引入Spring Boot提供的核心依赖即可;
a3、可自动嵌入中间件插件(Tomcat/Jboss/Jetty),Spring Boot的核心依赖中包含了Server服务的基本jar,如果需要中间件时,替换相关的Spring Boot中间件依赖即可,Spring Boot会自动识别中间件;
a4、提供应用状态(指标,健康检查和外部配置),Spring Boot还可以提供应用的运行状态,供开发人员观察项目目前运行的情况。
本实施例中模拟的所述接口文档中的接口为Restful Api接口,模拟的RestfulApi接口以资源为导向。例如:/user/id(GET方法,获取)/user/(POST方法,创建),模拟的Restful Api接口用URL描述资源,用Http方法描述行为,用Http状态码描述不同的结果,使用Json作为交互数据(包括入参和响应)。所述Restful Api接口包括如下三个特性:
b1、是基于Http协议的,是无状态的;
b2、是以资源为导向的;
b3、返回体内部包含相关必要的指导和链接。
在本实施例中,模拟的所有接口包括模拟接口的接口地址(如URL地址),和校验逻辑。所述模拟接口的校验逻辑的实现方式为:设置各个接口对应的接口返回值对象实例。在后续对H5前端页面进行测试过程中可通过设置的各个接口对应的接口返回值对象实例对前端请求中的参数进行校验。具体的,可根据预设的接口文档中设计的各个接口的入参、出参格式,以及参数是否必填等逻辑需求,在搭建好的Spring Boot框架中添加各个接口校验入参的逻辑,以及通过对象实例化返回接口响应的参数,为各个接口对应设置接口返回值对象实例,从而模拟各个接口的校验逻辑。
例如,模拟的一个接口的参数中有必填项,或是参数有格式校验逻辑,在搭建好的Spring Boot框架中添加该接口的是否必填项和格式校验逻辑需求,并对创建好的对象进行实例化,从而返回接口响应的参数,该接口会通过不同的错误类型返回不同的错误码以及错误消息。接口返回信息一般都是以Json格式进行返回,首先是对接口返回值创建一个对象ObjectBean,然后对该对象进行实例化并赋值(返回参数的值可以配置在配置文件中,也可以在代码中写死),最后将对象转成JsonString返回给前端。如下所示,下面是在一种应用场景中为接口设置的一个简单的实例:
在另一实施例中,当服务端接口开发过程中如果遇到有返回参数的改动,只需要改动Spring Boot框架中的Object,重新生成接口返回的结果即可,即只需修改为接口对应设置的接口返回值对象实例。例如,模拟的是一个查询列表的接口,当返回数据如列表的产品名种状态以及时间参数需要修改时,可以修改预先为该接口设置的接口返回值对象实例代码中实例对象的代码,然后重新部署即可,或是修改对应接口返回配置文件的返回值配置的信息,这种方式不需要重新启用服务器,前端重新发一次请求即可,通过这种方式即可对前端请求传进来的参数做正确性校验。
配置步骤:将模拟的所有接口对应的调用地址进行参数化配置,得到第一接口调用地址。具体包括:通过添加不同的参数来设置所述H5前端页面在不同环境下调用的接口地址,即设置H5页面在某种环境下调用哪个环境的接口地址。比如在开发阶段,可以调用模拟环境的接口进行开发联调;而如果当前端已经开发完成且需要提测,而后端接口还未开发完成时,通过在模拟的接口地址(如URL)中的链接请求中添加一个参数,根据该参数判断调用哪个环境的接口。
例如,https://www.cnblogs.com/xuwujing/p/8260935.html?env=dev/stg/prd,dev,stg,prd是环境参数,通过在URL中添加不同的参数以及在Spring Boot框架代码中添加判断逻辑,判断当前测试环境所需要调用的接口的接口地址。
确定步骤:获取所述H5前端页面请求测试的当前测试环境,根据所述第一接口调用地址,确定当前测试环境对应的第二接口调用地址。具体地,根据所述第一接口调用地址中参数化配置添加的参数在所述web整合框架的代码中添加判断逻辑,判断及确定当前测试环境所需要调用的接口调用地址,作为所述第二接口调用地址。其中,所述第一接口调用地址是通过添加不同的参数来设置所述H5前端页面在不同环境下的调用的接口地址;所述第二接口调用地址是在当前测试环境下对应的接口调用地址,不同测试环境下对应不同的接口调用地址。
在另一实施例中,当需要后端和前端一起测试时,只需要重新部署一下测试环境的配置,修改当前测试环境的接口地址即可。传统的方法只能通过后端接口开发好后,再进行前端测试;而通过本方法,可以将前端测试提前,并不依赖于后端的接口,即在后端接口还未开发好时,可通过参数化配置的接口地址,选择测试环境对应的接口地址进行测试即可完成对H5前端页面的测试。例如,https://www.cnblogs.com/xuwujing/p/8260935.html?env=dev/stg/prd,将测试中的URL中的参数设置为dev参数,待后端接口开发和提测完成后,将URL中的dev参数切换至stg,然后再进行一次回归测试,其他详细的校验性测试则不需要再重复测试。通过这种方式,本实施例可以不受后端开发测试的限制,提前将H5前端页面测试完成,实现前后端分离,使得后端接口开发测试与H5的前端开发测试可以同步进行,缩短整个测试的周期。
测试步骤:基于确定的第二接口调用地址对所述H5前端页面进行测试。
可选地,在其他的实施例中,H5前端页面测试程序10还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述H5前端页面测试程序在电子装置中的执行过程。
例如,参照图3所示,为本发明提供的电子装置1一实施例中的H5前端页面测试程序10的程序模块示意图,该实施例中,H5前端页面测试程序10可以被分割为模拟模块110、配置模块120、确定模块130、测试模块140,示例性地:
模拟模块110,用于接收H5前端页面的测试请求,利用web整合框架搭建的接口模式按照预设的接口文档模拟所述H5前端页面对应的链路流程所需要调用的所有接口。一般在开发过程中,在设计开发接口时都会先构建接口文档,然后按照构建完成的接口文档进行开发。例如,用户的注册流程中,在进行需求评审的时候流程就已经确定,通过需求文档中设计的流程图进行接口设计,然后完成接口文档的构建。
在本实施例中,在接收到H5前端页面的测试请求后,利用web整合框架搭建的接口模式按照预设的接口文档模拟所述H5前端页面对应的链路流程所需要调用的所有接口。例如,以一个登录注册并给参赛选手投票流程进行举例说明,用户需要在一个H5页面上完成注册和登录,根据预设的接口文档可以分析得出,需要模拟出的该H5前端页面对应的流程所需要调用的所有接口包括:获取图片验证码接口、获取手机验证码接口、用户注册接口、登录接口、获取选手列表接口、投票接口、验证是否重复投票接口。
在本实施例中,在获取到预设的接口文档后,利用web整合框架搭建的接口模式来模拟所述接口文档中所述H5前端页面对应的链路流程所需要调用的所有接口。例如,利用web整合框架Spring Boot搭建的Restful接口模式按照所述接口文档模拟所述H5前端页面对应的链路流程(如注册、登录等流程)所需要调用的所有接口。其中,Spring Boot是一个轻量级,简化配置和开发流程的web整合框架,具有以下特点:
a1、自动配置Spring,不需要配置Spring的数据源、连接池、事务通知等类加载初始化等信息,Spring Boot会自动将这些信息配置完毕;
a2、简化Maven配置,整合常用依赖,Spring Boot的依赖整合了常用的开发库,例如spring-webmvc、jackson-json、validation-api和tomcat等,当引入核心依赖时,SpringBoot会自动引入这些依赖,无需寻找web相关的jar包依赖一个一个添加进去,只需要引入Spring Boot提供的核心依赖即可;
a3、可自动嵌入中间件插件(Tomcat/Jboss/Jetty),Spring Boot的核心依赖中包含了Server服务的基本jar,如果需要中间件时,替换相关的Spring Boot中间件依赖即可,Spring Boot会自动识别中间件;
a4、提供应用状态(指标,健康检查和外部配置),Spring Boot还可以提供应用的运行状态,供开发人员观察项目目前运行的情况。
本实施例中模拟的所述接口文档中的接口为Restful Api接口,模拟的RestfulApi接口以资源为导向。例如:/user/id(GET方法,获取)/user/(POST方法,创建),模拟的Restful Api接口用URL描述资源,用Http方法描述行为,用Http状态码描述不同的结果,使用Json作为交互数据(包括入参和响应)。所述Restful Api接口包括如下三个特性:
b1、是基于Http协议的,是无状态的;
b2、是以资源为导向的;
b3、返回体内部包含相关必要的指导和链接。
在本实施例中,模拟的所有接口包括模拟接口的接口地址(如URL地址),和校验逻辑。所述模拟接口的校验逻辑的实现方式为:设置各个接口对应的接口返回值对象实例。在后续对H5前端页面进行测试过程中可通过设置的各个接口对应的接口返回值对象实例对前端请求中的参数进行校验。具体的,可根据预设的接口文档中设计的各个接口的入参、出参格式,以及参数是否必填等逻辑需求,在搭建好的Spring Boot框架中添加各个接口校验入参的逻辑,以及通过对象实例化返回接口响应的参数,为各个接口对应设置接口返回值对象实例,从而模拟各个接口的校验逻辑。
例如,模拟的一个接口的参数中有必填项,或是参数有格式校验逻辑,在搭建好的Spring Boot框架中添加该接口的是否必填项和格式校验逻辑需求,并对创建好的对象进行实例化,从而返回接口响应的参数,该接口会通过不同的错误类型返回不同的错误码以及错误消息。接口返回信息一般都是以Json格式进行返回,首先是对接口返回值创建一个对象ObjectBean,然后对该对象进行实例化并赋值(返回参数的值可以配置在配置文件中,也可以在代码中写死),最后将对象转成JsonString返回给前端。如下所示,下面是在一种应用场景中为接口设置的一个简单的实例:
在另一实施例中,当服务端接口开发过程中如果遇到有返回参数的改动,只需要改动Spring Boot框架中的Object,重新生成接口返回的结果即可,即只需修改为接口对应设置的接口返回值对象实例。例如,模拟的是一个查询列表的接口,当返回数据如列表的产品名种状态以及时间参数需要修改时,可以修改预先为该接口设置的接口返回值对象实例代码中实例对象的代码,然后重新部署即可,或是修改对应接口返回配置文件的返回值配置的信息,这种方式不需要重新启用服务器,前端重新发一次请求即可,通过这种方式即可对前端请求传进来的参数做正确性校验。
配置模块120,用于将模拟的所有接口对应的调用地址进行参数化配置,得到第一接口调用地址。具体包括:通过添加不同的参数来设置所述H5前端页面在不同环境下调用的接口地址,即设置H5页面在某种环境下调用哪个环境的接口地址。比如在开发阶段,可以调用模拟环境的接口进行开发联调;而如果当前端已经开发完成且需要提测,而后端接口还未开发完成时,通过在模拟的接口地址(如URL)中的链接请求中添加一个参数,根据该参数判断调用哪个环境的接口。
例如,https://www.cnblogs.com/xuwujing/p/8260935.html?env=dev/stg/prd,dev,stg,prd是环境参数,通过在URL中添加不同的参数以及在Spring Boot框架代码中添加判断逻辑,判断当前测试环境所需要调用的接口的接口地址。
确定模块130,用于获取所述H5前端页面请求测试的当前测试环境,根据所述第一接口调用地址,确定当前测试环境对应的第二接口调用地址。具体地,根据所述第一接口调用地址中参数化配置添加的参数在所述web整合框架的代码中添加判断逻辑,判断及确定当前测试环境所需要调用的接口调用地址,作为所述第二接口调用地址。其中,所述第一接口调用地址是通过添加不同的参数来设置所述H5前端页面在不同环境下的调用的接口地址;所述第二接口调用地址是在当前测试环境下对应的接口调用地址,不同测试环境下对应不同的接口调用地址。
在另一实施例中,当需要后端和前端一起测试时,只需要重新部署一下测试环境的配置,修改当前测试环境的接口地址即可。传统的方法只能通过后端接口开发好后,再进行前端测试;而通过本方法,可以将前端测试提前,并不依赖于后端的接口,即在后端接口还未开发好时,可通过参数化配置的接口地址,选择测试环境对应的接口地址进行测试即可完成对H5前端页面的测试。例如,https://www.cnblogs.com/xuwujing/p/8260935.html?env=dev/stg/prd,将测试中的URL中的参数设置为dev参数,待后端接口开发和提测完成后,将URL中的dev参数切换至stg,然后再进行一次回归测试,其他详细的校验性测试则不需要再重复测试。通过这种方式,本实施例可以不受后端开发测试的限制,提前将H5前端页面测试完成,实现前后端分离,使得后端接口开发测试与H5的前端开发测试可以同步进行,缩短整个测试的周期。
测试模块140,用于基于确定的第二接口调用地址对所述H5前端页面进行测试。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有H5前端页面测试程序,所述H5前端页面测试程序可被一个或多个处理器执行,以实现如下步骤:
模拟步骤:接收H5前端页面的测试请求,利用web整合框架搭建的接口模式按照预设的接口文档模拟所述H5前端页面对应的链路流程所需要调用的所有接口;
配置步骤:将模拟的所有接口对应的调用地址进行参数化配置,得到第一接口调用地址;
确定步骤:获取所述H5前端页面请求测试的当前测试环境,根据所述第一接口调用地址,确定当前测试环境对应的第二接口调用地址;及
测试步骤:基于确定的第二接口调用地址对所述H5前端页面进行测试。
本发明存储介质具体实施方式与上述电子装置和方法各实施例基本相同,在此不作累述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种H5前端页面测试方法,应用于电子装置,其特征在于,所述方法包括:
模拟步骤:接收H5前端页面的测试请求,利用web整合框架搭建的接口模式按照预设的接口文档模拟所述H5前端页面对应的链路流程所需要调用的所有接口;
配置步骤:将模拟的所有接口对应的调用地址进行参数化配置,得到第一接口调用地址;
确定步骤:获取所述H5前端页面请求测试的当前测试环境,根据所述第一接口调用地址,确定当前测试环境对应的第二接口调用地址;及
测试步骤:基于确定的第二接口调用地址对所述H5前端页面进行测试。
2.如权利要求1所述的H5前端页面测试方法,其特征在于,模拟所述H5前端页面对应的链路流程所需要调用的所有接口包括:模拟接口的接口地址和校验逻辑。
3.如权利要求2所述的H5前端页面测试方法,其特征在于,所述模拟接口的校验逻辑包括:根据预设的接口文档中设计的各个接口的入参、出参格式以及参数是否必填逻辑需求,在所述web整合框架中添加各个接口校验入参的逻辑以及通过对象实例化返回接口响应的参数。
4.如权利要求1所述的H5前端页面测试方法,其特征在于,所述配置步骤具体包括:通过在所述所有接口对应的调用地址添加不同的参数来设置所述H5前端页面在不同环境下的调用地址,得到所述第一接口调用地址。
5.如权利要求1或4所述的H5前端页面测试方法,其特征在于,所述确定步骤具体包括:获取所述H5前端页面请求测试的当前测试环境,根据所述第一接口调用地址中参数化配置添加的参数在所述web整合框架的代码中添加判断逻辑,判断及确定当前测试环境所需要调用的所述第二接口调用地址。
6.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中包括H5前端页面测试程序,该H5前端页面测试程序被所述处理器执行时实现如下步骤:
模拟步骤:接收H5前端页面的测试请求,利用web整合框架搭建的接口模式按照预设的接口文档模拟所述H5前端页面对应的链路流程所需要调用的所有接口;
配置步骤:将模拟的所有接口对应的调用地址进行参数化配置,得到第一接口调用地址;
确定步骤:获取所述H5前端页面请求测试的当前测试环境,根据所述第一接口调用地址,确定当前测试环境对应的第二接口调用地址;及
测试步骤:基于确定的第二接口调用地址对所述H5前端页面进行测试。
7.如权利要求6所述的电子装置,其特征在于,模拟所述H5前端页面对应的链路流程所需要调用的所有接口包括:模拟接口的接口地址和校验逻辑。
8.如权利要求7所述的电子装置,其特征在于,所述配置步骤具体包括:通过在所述所有接口对应的调用地址添加不同的参数来设置所述H5前端页面在不同环境下的调用地址,得到所述第一接口调用地址。
9.如权利要求6所述的电子装置,其特征在于,所述确定步骤具体包括:获取所述H5前端页面请求测试的当前测试环境,根据所述第一接口调用地址中参数化配置添加的参数在所述web整合框架的代码中添加判断逻辑,判断及确定当前测试环境所需要调用的所述第二接口调用地址。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括H5前端页面测试程序,所述H5前端页面测试程序被执行时,实现如权利要求1至5中任一项所述的H5前端页面测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910420606.3A CN110287096A (zh) | 2019-05-20 | 2019-05-20 | H5前端页面测试方法、电子装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910420606.3A CN110287096A (zh) | 2019-05-20 | 2019-05-20 | H5前端页面测试方法、电子装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110287096A true CN110287096A (zh) | 2019-09-27 |
Family
ID=68002047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910420606.3A Pending CN110287096A (zh) | 2019-05-20 | 2019-05-20 | H5前端页面测试方法、电子装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287096A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110955470A (zh) * | 2019-12-06 | 2020-04-03 | 深圳前海环融联易信息科技服务有限公司 | 算法模型接口化方法、装置、计算机设备及存储介质 |
CN111078570A (zh) * | 2019-12-20 | 2020-04-28 | 贵阳货车帮科技有限公司 | 基于界面框架的参数格式检测方法、装置、设备和介质 |
CN111124913A (zh) * | 2019-12-20 | 2020-05-08 | 广州唯品会研究院有限公司 | 数据模板的生成方法、数据模板的生成装置及存储介质 |
CN112799940A (zh) * | 2021-01-26 | 2021-05-14 | 中国工商银行股份有限公司 | 回归测试方法、装置、计算机系统和计算机可读存储介质 |
CN114297058A (zh) * | 2021-12-23 | 2022-04-08 | 马上消费金融股份有限公司 | 一种测试方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015096661A1 (zh) * | 2013-12-26 | 2015-07-02 | 北京奇虎科技有限公司 | 基于配置系统的项目创建方法及装置、项目测试方法及装置、配置系统的后台测试方法及装置 |
CN105138448A (zh) * | 2014-06-05 | 2015-12-09 | 北京畅游天下网络技术有限公司 | 一种在前端测试页面的方法和装置 |
CN108427639A (zh) * | 2018-01-24 | 2018-08-21 | 深圳壹账通智能科技有限公司 | 自动化测试方法、应用服务器及计算机可读存储介质 |
CN109376079A (zh) * | 2018-09-26 | 2019-02-22 | 深圳壹账通智能科技有限公司 | 接口调用的测试方法及服务器 |
CN109726108A (zh) * | 2018-06-04 | 2019-05-07 | 平安普惠企业管理有限公司 | 基于模拟数据的前端代码测试方法、装置、系统和介质 |
-
2019
- 2019-05-20 CN CN201910420606.3A patent/CN110287096A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015096661A1 (zh) * | 2013-12-26 | 2015-07-02 | 北京奇虎科技有限公司 | 基于配置系统的项目创建方法及装置、项目测试方法及装置、配置系统的后台测试方法及装置 |
CN105138448A (zh) * | 2014-06-05 | 2015-12-09 | 北京畅游天下网络技术有限公司 | 一种在前端测试页面的方法和装置 |
CN108427639A (zh) * | 2018-01-24 | 2018-08-21 | 深圳壹账通智能科技有限公司 | 自动化测试方法、应用服务器及计算机可读存储介质 |
CN109726108A (zh) * | 2018-06-04 | 2019-05-07 | 平安普惠企业管理有限公司 | 基于模拟数据的前端代码测试方法、装置、系统和介质 |
CN109376079A (zh) * | 2018-09-26 | 2019-02-22 | 深圳壹账通智能科技有限公司 | 接口调用的测试方法及服务器 |
Non-Patent Citations (3)
Title |
---|
XI DENG ET.AL.: ""Combinatorial Testing on Implementations of HTML5 Support"", 《 2017 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION WORKSHOPS (ICSTW)》 * |
刘丹;肖本谜;樊小勤;陈友军;: "基于H5+GO的Web前端面试网站的开发与应用", 电脑知识与技术, vol. 13, no. 14, pages 179 - 181 * |
刘红卫: ""利用Node.js 开发前后端分离的系统 ——以图书馆地方文献系统为例"", 《天津科技》, vol. 45, no. 7, pages 67 - 70 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110955470A (zh) * | 2019-12-06 | 2020-04-03 | 深圳前海环融联易信息科技服务有限公司 | 算法模型接口化方法、装置、计算机设备及存储介质 |
CN110955470B (zh) * | 2019-12-06 | 2024-01-19 | 深圳前海环融联易信息科技服务有限公司 | 算法模型接口化方法、装置、计算机设备及存储介质 |
CN111078570A (zh) * | 2019-12-20 | 2020-04-28 | 贵阳货车帮科技有限公司 | 基于界面框架的参数格式检测方法、装置、设备和介质 |
CN111124913A (zh) * | 2019-12-20 | 2020-05-08 | 广州唯品会研究院有限公司 | 数据模板的生成方法、数据模板的生成装置及存储介质 |
CN111078570B (zh) * | 2019-12-20 | 2023-04-07 | 贵阳货车帮科技有限公司 | 基于界面框架的参数格式检测方法、装置、设备和介质 |
CN111124913B (zh) * | 2019-12-20 | 2023-08-18 | 广州品唯软件有限公司 | 数据模板的生成方法、数据模板的生成装置及存储介质 |
CN112799940A (zh) * | 2021-01-26 | 2021-05-14 | 中国工商银行股份有限公司 | 回归测试方法、装置、计算机系统和计算机可读存储介质 |
CN112799940B (zh) * | 2021-01-26 | 2024-02-06 | 中国工商银行股份有限公司 | 回归测试方法、装置、计算机系统和计算机可读存储介质 |
CN114297058A (zh) * | 2021-12-23 | 2022-04-08 | 马上消费金融股份有限公司 | 一种测试方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287096A (zh) | H5前端页面测试方法、电子装置及计算机可读存储介质 | |
Marelly et al. | Multiple instances and symbolic variables in executable sequence charts | |
CN100407138C (zh) | 基于Brew的一种动态用户界面的体系结构和实现方法 | |
CN107577607A (zh) | 用户界面自动化测试方法、装置、电子设备、存储介质 | |
CN108446225A (zh) | 模拟接口的创建装置、方法及计算机可读存储介质 | |
KR20140040144A (ko) | 퍼스널화되고 커스토마이징된 이동 디바이스들을 생성하기 위한 시스템 | |
CN110389896A (zh) | 代码自动化分析和测试方法、装置及计算机可读存储介质 | |
Krishna et al. | Checking business process evolution | |
CN106648556A (zh) | 前后端集成开发测试的方法及装置 | |
CN102270128A (zh) | 库一致性检查器 | |
Ebert et al. | Agile systems engineering | |
US20170220449A1 (en) | Infrastructure rule generation | |
Brodnik et al. | Programming for All: Understanding the Nature of Programs | |
CN109120473B (zh) | 接口请求框架实现方法、接口测试方法及其对应的装置 | |
CN110334014A (zh) | 用于用户界面自动化测试方法、系统、服务器及存储介质 | |
CN114968741A (zh) | 一种基于场景平台化的性能测试方法、系统、设备和介质 | |
CN114661614A (zh) | 面向云环境的fpga硬件设计能力评测系统和方法 | |
CN110297768A (zh) | 真机SDK兼容模拟器debug的方法、装置、设备及存储介质 | |
Collins et al. | The Snap framework: A web toolkit for Haskell | |
Acharya | ONLINE CRIME REPORTING SYSTEM PROJECT. | |
Shrivasi et al. | Implementation of cross-platform mobile application using phone-gap framework | |
CN117555645B (zh) | 基于多端应用平台的数据处理方法、装置、设备及介质 | |
Versickas | BLE localisation automated feature testing | |
Hautamäki | Designing Software Architecture for a Test Automation System | |
CN118394409A (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 |