接口测试——Jmter

本文详细介绍了如何使用JMeter进行接口测试,包括安装启动、发送GET和POST请求、配置HTTP请求默认值、断言设置、参数化以及Cookie和授权管理。此外,还探讨了JMeter的测试报告生成和接口自动化测试平台的搭建,如利用Ant和Jenkins集成。
摘要由CSDN通过智能技术生成

安装与启动

下载安装

Jmeter下载地址
Jmeter官方文档

说明

一般开放原代码软件都会由两个版本: Source和Binary

  • Source是源代码版,你需要自己编译成可执行软件
  • Binary 是可执行版,直接可以拿来用的,他已经给你编译好的版本
  • 下载后,解压文件到任意目录,避免在有空格的路径安装Jmeter
  • 环境依赖java环境,需要自行安装配置号JDK环境变量

Jmeter环境变量配置

jmeter安装和环境变量配置

启动软件

进入jmeter的bin目录,双击运行ApacheJMeter.jar即可启动软件

Jmeter接口测试

Jmeter脚本编写一般分五个步骤:

  1. 添加线程组(线程组相关参数介绍)
  2. 添加Http请求
  3. 在http请求中写入接入的url、 路径、请求方式和参数
  4. 添加查看结果树
  5. 调用接口、查看返回值

发送Get请求(测试接口:http://httpbin.org)

请求URL: http://httpbin.org/get
在Jmeter配置如下:

在这里插入图片描述

发送Post请求

在这里插入图片描述

HTTP请求默认值

上述get和post请求编辑中Web服务器中的协议和服务器名称或ip地址这两个值都是一样的,每次重复输入,我们可以使用HTTP请求默认值来管理这些公共的配置数据
添加步骤:线程组——添加——配置原件——HTTP请求默认值,然后进行相关配置,并把该元件放置在请求前面。

断言设置

Jmeter 可以针对每一个请求响应进行断言。设置步骤选中一个请求,如:http-get,然后右击选则:添加——断言——响应断言
哥哥匹配模式含义如下:

  • 包括:响应内容包括需要匹配的内容即代表响应成功,支持正则表达式
  • 匹配: 响应内容要完全匹配需要匹配的内容即表达式响应成功,大小写不敏感,支持正则表达式。
  • 相等(Equals):响应内容要完全等于需要匹配的内容才代表成功,大小写敏感,需要匹配的内容是字符串正则表达式
  • 字符串(Substring): 返回结果包含指定结果的字符串,但是SubString不支持正则字符串
  • 否: 不进行匹配
    在这里插入图片描述

参数设置

Jmeter支持通过参数(Query String Parameters)或消息体(Request body)来传递参数

如果希望在请求的URL中添加参数,则可以在HTTP请求界面的“参数”选项里添加参数
在这里插入图片描述

Request Body

在Post请求中参数一般在body中传递参数,Jmeter也支持Body中传递参数,如传递Json格式测参数,在“消息体数据”编辑框输入如下参数
{“username”:“daryl”}
在这里插入图片描述
另外还需要指定参数的格式,因此需要添加HTTP消息头管理器
添加步骤:选定请求——添加——配置原件——HTTP消息头管理器,然后在管理器里面添加参数类型Content-Type:application/json如下图所示:
在这里插入图片描述

变量

在请求过程中,有时我们需要在请求中设置一些变量来测试不同的场景
Jmeter支持一下类型的变量

  • 用户自定义变量
  • 函数生成变量
  • beanShell变量
  • 数据文件变量

用户自定义变量

设置步骤:选中请求——添加——前置处理器——用户参数 设置变量:variable, 值为:Type_by_yourself
在这里插入图片描述
每次迭代更新一次:存在多个值时,没执行一次更新一次数据,相当于参数化。
注意:拥有不同值时(上图中时两个变量分别具有三个不同的值),线程数也要设置与变量值个数相同的数量
在这里插入图片描述

在请求时,引用变量如下所示:变量引用格式为:${variable}
在这里插入图片描述
函数生成变量
Jmeter有许多内置的函数,可以生成随机数。创建步骤:点击”Tools“——函数助手对话框——下拉选择所需函数,点击生成,函数配置如下:
在这里插入图片描述
在这里插入图片描述

BeanShell变量

  • BeanShell 是一中完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法;
  • BeanShell 是一种松散类型的脚本语言
  • BeanShell 是用Java写成的一个小型的、免费的、嵌入的Java源代码解释器,具有对象脚本语言特性,非常精简
  • BeanShell执行标准Java语句和表达式另外包括一些脚本命令和语法
    BeanShell官网

Jmeter 使用的Bean Shell

  • 定时器: BeanShell Timer
  • 前置处理器:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值