JMeter-接口测试

持续更新…
标记


1. JMeter开始

1.1 JMeter简介

Apache JMeter是Apache组织开发的基于Java的压力测试工具。

适用的测试领域

  • 用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。他可以用于测试静态和动态资源,例如静态文件,Java,小服务程序,CGI(公共网关接口),脚本,Java对象,数据库,FTP,服务器等等;JMeter可以用于对服务器,网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。
  • JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序是否返回了预期的结果;为了最多限度的灵活性,JMeter允许使用正则表达式创建断言。
  • JMeter可以用于对静态和动态资源(文件、Servlet、Perl脚本、Java对象、数据库和查询、FTP服务等等)的性能进行测试
  • 接口测试
  • 数据库压力测试
  • 批量产生测试数据

1.2 安装JMeter

下载JMeter
选一个下载
在这里插入图片描述
在这里插入图片描述
解压
在这里插入图片描述
JMeter是免安装的,所以我们直接将文件夹移动到想要存放的位置即可
在这里插入图片描述
配置环境变量
当前我的JMeter的路径为D:\InstalledS\Program Files\apache-jmeter-5.4.1

新建系统变量
变量名:JMETER_HOME
变量值:D:\InstalledS\Program Files\apache-jmeter-5.4.1
在这里插入图片描述
配置Path环境变量 %JMETER_HOME%\bin
在这里插入图片描述
配置Classpath
添加%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;
在这里插入图片描述
测试
请添加图片描述
启动JMeter

  • bat方式
  • jar方式

jar的方式,直接双击
在这里插入图片描述
在这里插入图片描述
使用bat的方式,双击,是在cmd中命令行中打开
在这里插入图片描述
cmd窗口关闭,jmeter也关闭
请添加图片描述
将ApacheJMeter.jar发送到桌面快捷方式,重命名,更改图标
在这里插入图片描述
请添加图片描述
接口文档 docs\api\index.html
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.3 JMeter和LoadRunner的区别

  • 都是压力测试工具,都可以用来做性能测试,但是JMeter比较轻量级;
  • JMeter是用java语言编写的,需要java环境,LR不需要;
  • JMeter更偏向于功能和技术,LR更偏向于业务;
  • LR有强大的图表系统,但是JMeter这一方面的表现稍弱。

2. JMeter应用

2.1 JMeter发送GET请求

eg:
1)添加线程组
添加->线程(用户)->线程组
请添加图片描述
2)发起一个HTTP请求
添加->取样器->HTTP请求
请添加图片描述
3)填写信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4)添加<察看结果树 >查看请求结果
添加->监听器->察看结果树
请添加图片描述
5)运行
请添加图片描述
关于响应结果是乱码的形式
我们这里要进行设置
在这里插入图片描述
对配置文件进行修改 bin目录下的jmeter.properties
在这里插入图片描述
查找sampleresult.default.encoding将编码方式改为utf-8,将#去掉在这里插入图片描述
保存
在这里插入图片描述
重启JMeter,运行,发现已经没有乱码了
在这里插入图片描述

2.2 JMeter发送POST请求

eg:
在这里插入图片描述
在这里插入图片描述
添加<管理员登陆>POST请求
在这里插入图片描述
添加HTTP信息头
添加>配置元件->HTTP信息头管理器 Content-Type:application/json
在这里插入图片描述
添加<察看结果树>,运行
在这里插入图片描述
在这里插入图片描述
保存测试计划
文件->保存测试计划为
保存完成后
在这里插入图片描述

2.3 JMeter请求参数类型(参数、消息体数据、文件上传)

在这里插入图片描述
参数:键值对
在这里插入图片描述
参数和消息体数据只能二选一,设置了其中一个就无法设置另一个

消息体数据:可以是json或xml格式的参数
比如下面这种情况:
在这里插入图片描述
文件上传
在这里插入图片描述

2.4 JMeter的HTTP请求默认值

作用:HTTP请求默认值,会在发送HTTP请求发送的时候,自带参数,当你不填写请求信息的时候生效,填写信息后会取代默认值。
设置了默认值,方便我们后期改动地址。

eg:
添加HTTP请求默认值
添加->配置元件->HTTP请求默认值
在这里插入图片描述
由于我们将服务器名称和端口号设置为了HTTP请求默认值
所以<登陆管理员>和<查看指定id的床位信息>请求的服务器名称和端口号都不必填写
在这里插入图片描述
在这里插入图片描述
运行
在这里插入图片描述

2.5 断言(做判断)

eg:
给<登录管理员-POST>请求添加断言
在这里插入图片描述
添加>断言>响应断言
请添加图片描述
匹配模式

  • 包括:响应内容包括需要匹配的内容即代表响应成功,支持正则表达式。
  • 匹配:响应内容要完全匹配需要匹配的内容即代表响应成功,支持正则表达式。
  • 相等:响应内容要完全等于匹配的内容才代表成功,区分大小写,需要匹配的内容是正则表达式。
  • 字符串:返回结果包括指定结果的字符串,区分大小写,不支持正则表达式。
  • 否:反转检查结果,用于表示不包含,不匹配,不等于,没有和模式字符串相匹配的字符串,不支持正则字符串。
  • 或者:一个断言可以添加多个“要测试的模式”,使用or选项后,只要其中有一个模式匹配,断言将会成功;不选择or将默认为and选项,必须所有模式都匹配,断言才会成功。
    在这里插入图片描述
    填写响应断言,选择测试字段<响应文本>,模式匹配选择<包括>,运行
    在这里插入图片描述
    通过
    在这里插入图片描述
    选择测试字段<响应代码>,模式匹配选择<相等>,运行
    在这里插入图片描述
    通过
    在这里插入图片描述

2.6 设置变量

在请求过程中,我们需要在请求中设置一些变量来测试不同场景。
JMeter中支持以下类型变量:

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

2.6.1 用户自定义变量

eg:
以<登陆管理员-POST>为例,添加用户自定义变量
添加>前置处理器>用户参数
请添加图片描述
添加两个变量,一个用户名,一个密码
在这里插入图片描述
用户参数的使用,${变量名}
与postman中不同的是,postman中变量使用{ {变量名}}
在这里插入图片描述
运行,通过
在这里插入图片描述
在<用户参数>中,我们再添加一个用户
在这里插入图片描述
在这里插入图片描述
在线程组中,改写线程数,让其请求2次
在这里插入图片描述
运行,这实际是一种数据驱动的实现方式请添加图片描述

2.6.2 函数生成变量

eg:
JMeter有许多内置函数,比如生成

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值