基于Jmeter的接口自动化测试方法和装置制造方法及图纸

技术编号:36572702 阅读:9 留言:0更新日期:2023-02-04 17:30
本公开提供了一种基于Jmeter的接口自动化测试方法,其包括:针对Jmeter的测试计划执行以下配置步骤:添加用户定义变量、HTTP请求默认值、HTTP信息头管理器、查看结果树、以及聚合报告等组件;在测试计划中为待测试的项目添加相应的线程组,该线程组与测试计划唯一对应;在线程组下配置多个条件控制器,这些条件控制器用于确定待测试的项目所在的环境;以及在每个条件控制器下添加Beanshell取样器,以配置用于测试的数据值;然后增加具体的接口测试任务,根据经配置的测试计划,生成Jmeter测试脚本并且基于该脚本进行接口测试,以获取测试结果。本公开还提供了一种基于Jmeter的接口自动化测试装置。自动化测试装置。自动化测试装置。

【技术实现步骤摘要】
基于Jmeter的接口自动化测试方法和装置


[0001]本公开涉及计算机技术的领域,具体地,涉及一种基于Jmeter的接口自动化测试方法和装置、计算设备、计算机可读存储介质以及计算机程序产品。

技术介绍

[0002]Jmeter是一种基于 Java 开发的压力测试工具,用于对软件做压力测试。Jmeter可以用来进行接口自动化测试,通过其自身的组件可以进行测试脚本的编制,例如:“HTTP Cookie管理器”、“HTTP请求默认值”、“HTTP消息头管理器”、“数据库配置”、“查看结果树”、“聚合报告”、“线程组”、“HTTP请求”、“断言”等内容。
[0003]在相关技术中,可以通过添加线程组配置其并发数量、循环次数、线程启动时间参数等来模拟普通用户发送请求对服务器接口进行压力测试,然后通过配置csv数据文件进行参数化设置,使其更准确无误的测试接口,接下来通过编写Beanshell脚本或者导入辅助性jar包,最后再添加设置监听器以及断言来判断请求相应的结果是否是预期结果,从而完成接口的自动化测试。然而,现有方案的脚本无法区分不同的环境(例如,开发环境、测试环境、预发布环境、以及生产环境等),从而无法利用一套脚本来支持多种不同的环境。另外,现有方案的脚本没有体现不同项目的逻辑隔离。

技术实现思路

[0004]有鉴于此,本公开提供了一种基于Jmeter的接口自动化测试方法和装置、计算设备、计算机可读存储介质以及计算机程序产品,以缓解、减轻、甚至消除上述问题。
[0005]根据本公开的一个方面,提供了一种基于Jmeter的接口自动化测试方法,其特征在于,所述方法包括:针对Jmeter的测试计划执行以下配置步骤:添加用户定义变量、HTTP请求默认值、HTTP信息头管理器、查看结果树、以及聚合报告;在所述测试计划中为待测试的项目添加相应的线程组,所添加的线程组与所述测试计划唯一对应;在所述线程组下配置多个条件控制器,所述多个条件控制器用于确定待测试的项目所在的环境;以及在所述多个条件控制器中的每个条件控制器下添加Beanshell取样器,以配置用于测试的数据值;然后增加具体的接口测试任务,根据经配置的所述测试计划,生成Jmeter测试脚本并且基于所述Jmeter测试脚本进行接口测试,以获取测试结果。
[0006]根据本公开的一些实施例,所述配置步骤还包括:为所述待测试的项目对应的各个代码模块建立相应的循环控制器,以在逻辑上隔离各个代码模块。
[0007]根据本公开的一些实施例,所述接口测试为单接口测试或业务流程测试,并且所述循环控制器的名称根据待测试的接口对应的前后台位置以及模块功能被确定。
[0008]根据本公开的一些实施例,所述接口测试为业务流程测试,并且所述配置步骤还包括:在所述循环控制器下建立事务控制器,以确定所述事务控制器下所有HTTP请求的整体性能指标。
[0009]根据本公开的一些实施例,所述待测试的项目对应的HTTP请求的名称根据以下被
确定:所述待测试的项目所在的环境、接口测试用例的编号、以及接口的名称。
[0010]根据本公开的一些实施例,所述接口测试为针对增删查改类的单接口测试,并且通过以下步骤进行接口测试:增加目标测试数据;查询所增加的目标测试数据;根据JSON提取器获取目标测试数据的ID,对目标测试数据进行修改以得到经修改的测试数据;根据目标测试数据的ID,删除经修改的测试数据。
[0011]根据本公开的一些实施例,所述配置步骤还包括:在查看结果控件中增加断言期望值;并且其中,所述基于所述Jmeter测试脚本进行接口测试包括:基于所述Jmeter测试脚本对多个接口进行验证,以生成相应的多个断言结果;根据所述多个断言结果中相应的断言期望值,确定空断言在所述多个断言结果中的第一占比;以及至少根据所述第一占比,确定断言的健康度。
[0012]根据本公开的一些实施例,所述方法还包括:对所述测试结果进行规范化处理,以得到接口测试报告,所述接口测试报告包括第一路径、第二路径、以及第三路径,其中所述第一路径用来存放数据处理有关表格;所述第二路径用来存放测试脚本有关文件,所述测试脚本有关文件包括jmx文件、jtl文件、以及log文件;并且所述第三路径用来存放HTML Report形式的测试结果。
[0013]根据本公开的一些实施例,所述基于所述Jmeter测试脚本进行接口测试,以获取测试结果,包括:将所述Jmeter测试脚本提交到代码仓库;利用持续集成工具设置自动化测试任务,从所述代码仓库下载所述Jmeter测试脚本并利用相应的构建工具进行构建,以生成Jmeter测试报告;以及将预设内容反馈给管理员,所述预设内容包括以下中的至少一项:测试接口的个数,失败个数、成功率,平均响应时间、以及接口的URL。
[0014]根据本公开的一些实施例,所述待测试的项目所在的环境包括以下中的任一种:开发环境、测试环境、预发布环境、以及生产环境。
[0015]根据本公开的另一个方面,提供了一种基于Jmeter的接口自动化测试装置,其特征在于,所述装置包括:测试脚本配置模块,其被配置为添加用户定义变量、HTTP请求默认值、HTTP信息头管理器、查看结果树、以及聚合报告;在所述测试计划中为待测试的项目添加相应的线程组,所添加的线程组与所述测试计划唯一对应;在所述线程组下配置多个条件控制器,所述多个条件控制器用于确定待测试的项目所在的环境;以及在所述多个条件控制器中的每个条件控制器下添加Beanshell取样器,以配置用于测试的数据值;测试结果生成模块,其被配置为增加具体的接口测试任务,根据经配置的所述测试计划,生成Jmeter测试脚本并且基于所述Jmeter测试脚本进行接口测试,以获取测试结果。
[0016]根据本公开的又一个方面,提供了一种计算设备,其特征在于,所述计算设备包括:存储器,其被配置成存储计算机可执行指令;处理器,其被配置成当所述计算机可执行指令被处理器执行时执行根据本公开的前述方面提供的任一方法。
[0017]根据本公开的又一个方面,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被执行时,执行根据本公开的前述方面提供的任一方法。
[0018]根据本公开的又一个方面,提供了一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机可执行指令,当所述计算机可执行指令被处理器执行时,执行根据本公开的前述方面提供的任一方法。
[0019]根据本公开提供的基于Jmeter的接口自动化测试方法,可以针对Jmeter的测试计划执行以下配置步骤:添加用户定义变量、HTTP请求默认值、HTTP信息头管理器、查看结果树、以及聚合报告;在所述测试计划中为待测试的项目添加相应的线程组,所添加的线程组与所述测试计划唯一对应,从而可以在逻辑上隔离不同的项目;在所述线程组下配置多个条件控制器,所述多个条件控制器用于确定待测试的项目所在的环境,从而有助于区分不同的环境(例如本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Jmeter的接口自动化测试方法,其特征在于,所述方法包括:针对Jmeter的测试计划执行以下配置步骤:添加用户定义变量、HTTP请求默认值、HTTP信息头管理器、查看结果树、以及聚合报告;在所述测试计划中为待测试的项目添加相应的线程组,所添加的线程组与所述测试计划唯一对应;在所述线程组下配置多个条件控制器,所述多个条件控制器用于确定待测试的项目所在的环境;以及在所述多个条件控制器中的每个条件控制器下添加Beanshell取样器,以配置用于测试的数据值;增加具体的接口测试任务,根据经配置的所述测试计划,生成Jmeter测试脚本并且基于所述Jmeter测试脚本进行接口测试,以获取测试结果。2.根据权利要求1所述的方法,其特征在于,所述配置步骤还包括:为所述待测试的项目对应的各个代码模块建立相应的循环控制器,以在逻辑上隔离各个代码模块。3.根据权利要求2所述的方法,其特征在于,所述接口测试为单接口测试或业务流程测试,并且所述循环控制器的名称根据待测试的接口对应的前后台位置以及模块功能被确定。4.根据权利要求2所述的方法,其特征在于,所述接口测试为业务流程测试,并且所述配置步骤还包括:在所述循环控制器下建立事务控制器,以确定所述事务控制器下所有HTTP请求的整体性能指标。5.根据权利要求1所述的方法,其特征在于,所述待测试的项目对应的HTTP请求的名称根据以下被确定:所述待测试的项目所在的环境、接口测试用例的编号、以及接口的名称。6.根据权利要求1所述的方法,其特征在于,所述接口测试为针对增删查改类的单接口测试,并且通过以下步骤进行接口测试:增加目标测试数据;查询所增加的目标测试数据;根据JSON提取器获取目标测试数据的ID,对目标测试数据进行修改以得到经修改的测试数据;根据目标测试数据的ID,删除经修改的测试数据。7.根据权利要求1所述的方法,其特征在于,所述配置步骤还包括:在查看结果控件中增加断言期望值;并且其中,所述基于所述Jmeter测试脚本进行接口测试包括:基于所述Jmeter测试脚本对多个接口进行验证,以生成相应的多个断言结果;根据所述多个断言结果中相应的断言期望值,确定空断言在所述多个断言结果中的第一占比;以及至少根据所述第一占比,确定断言的健康度。8.根据权利要求1所述的方法,其特征在于,所述方法还包括:对所述测试结果进行规范化处理,以得...

【专利技术属性】
技术研发人员:王如迅任党恩闫亚菊
申请(专利权)人:中国国际金融股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1