Jmeter落地接口测试的实现方案

开发 后端
在这里我来讲解一下通过jmeter落地接口测试的方案,本文先介绍用例的设计逻辑,以及jmeter中一些相关的基础的技术点。

目前接口测试越来越重要,也普遍得到了各个公司的重视,通常开展接口测试的方案有:

  • 代码(java或者python),要求测试人员有基础的编码能力,实现有一定门槛。
  • jmeter,绝大多数场景无需编码,另外便于直接对接口进行性能测试(增加线程组中的线程数即可)。
  • 自己研发的测试平台,大厂秀kpi的东东,普通公司不需要玩这个。

在这里我来讲解一下通过jmeter落地接口测试的方案,本文先介绍用例的设计逻辑,以及jmeter中一些相关的基础的技术点,下一遍文章会重点介绍如何通过git和jmeter-maven-plugin插件管理jmeter接口文档,敬请期待!

备注:本文默认读者了解接口测试的基础概念,能够对jmeter进行基础操控。

基础设计逻辑

应用为基础创建Jmeter脚本,即.jmx文件,一个人创建一个jmx文件(避免不熟悉git操作的同学多人协作时产生冲突)

各个模块进行细分,一个简单控制器就是一个模块(一个简单控制器中可以包括多个接口),如下图:

一个接口就是一个sampler(通常都是http类型接口),如下图:

每个接口都需要有响应断言来校验接口的返回值正确性(依赖接口文档)。

统一设计查看结果树和聚合报告,用来查看接口的执行结果。

整体用例组织结构,如下:

使用jmeter执行基础接口测试时,常用的知识点汇总如下:

  • 用户自定义变量。
  • 定义形式是:${变量名}。
  • 例如:/url&accessToken=${access_token}。

线程组>右键添加>配置元件>用户定义的变量,如下图:

以后再次调用时就可以使用${user}。

我们也可以把变量放到配置文件中,然后读取,具体方法如下:

线程组>右键添加>配置元件> CSV 数据文件设置,如下图:

设置完成后,就可以把文件中的变量赋值给user和password了,然后脚本中就可以进行引用了。

备注:

  • 再次循环 True:假设csv 文件共有 10 条记录,但是线程循环15次,执行 10 次后,重头开始循环。
  • 停止线程 False:,如果全部取完了想继续那就是True,如果想文件的数据用完就结束,比如注册不可以重复用,那就设置False。

默认请求

线程组>右键添加>配置元件>HTTP请求默认值。

设置的好处是,请求中不需要再设置ip和端口了,有利于在不同环境中的统一配置。

信息头管理器

线程组或者具体请求(作用域不同)>右键添加>配置元件>。

以json为例:

JSON Extractor

请求>右键添加>后置处理器> JSON Extractor。

例如响应:

{"status":200,"message":"","data":{"testCode":"95a9a6dfc3e5e8107523a782fc4cc55x","token":"00522794718a07fac56c7d18f2e8c9xy","refreshToken":"8e10d3a688a97bdecbb441a9590fa0zz","expires":604800}}

上图中的token代表着变量名称。

$.data.token 是固定写法,表示取响应中的data值中的token内容:

00522794718a07fac56c7d18f2e8c9xy,并把其赋值给变量token。

责任编辑:姜华 来源: 今日头条
相关推荐

2022-06-01 14:35:39

gitjmeter脚本

2009-06-17 13:58:00

JMeter测试EJB

2022-06-22 09:41:16

接口异常测试

2021-03-30 10:46:42

SpringBoot计数器漏桶算法

2023-10-26 14:21:35

NginxWeb服务器

2020-12-08 12:24:55

接口测试Interface

2013-01-18 10:31:20

JMeterHTTP负载

2023-07-05 07:44:38

Python自动化测试

2022-07-28 09:16:42

JMeter接口

2022-01-19 18:31:54

前端灰度代码

2011-04-18 10:46:39

接口测试

2017-09-06 16:08:45

JmeterJenkins自动化测试

2018-05-11 13:39:05

PythonCSV接口测试

2018-05-11 08:29:10

Python自动化测试数据驱动

2021-02-24 09:39:03

架构系统技术

2022-03-15 11:55:24

前端单元测试

2017-04-24 16:24:23

JMeter实战软件性能测试

2019-10-15 09:31:31

架构运维技术

2016-07-25 16:20:18

2011-07-27 14:41:43

JMeterMySQL
点赞
收藏

51CTO技术栈公众号