2手房产App网站开发,app小程序网站开发,网上开店平台有哪些,网站开发 支付宝订单号本篇文章只是简单的介绍下Jmeter的下载安装和最基本使用
1、初识Jmeter
前一段时间客户端app自测的过程中#xff0c;有偶现请求某个接口返回数据为空的问题#xff0c;领导让我循环100次请求这个接口#xff0c;看看有没有结果为空的问题。听同事说有Jmeter的专业测试工具…本篇文章只是简单的介绍下Jmeter的下载安装和最基本使用
1、初识Jmeter
前一段时间客户端app自测的过程中有偶现请求某个接口返回数据为空的问题领导让我循环100次请求这个接口看看有没有结果为空的问题。听同事说有Jmeter的专业测试工具正好不是很忙于是上手Jmeter来测试下这个接口。
Jmeter是什么
Apache Jmeter是Apache组织开发的基于Java的压力测试工具用于对软件做压力测试最初被设计用于Web应用测试后来扩展到其他测试领域。
Jmeter有什么用 可以用于测试静态和动态资源例如静态文件、Java小服务程序、Java对象、数据库等可以对服务器、网络或对象模拟巨大的负载来自不同压力级别下测试它们的强度和分析整体性能可以对应用程序做功能/回归测试 Jmeter的优势 完全可移植性和100%纯Java跨平台性非常好 2、Jmeter下载与安装
进入Apache Jmeter官网首页 https://jmeter.apache.org/ 点击左边的Download Releases
点击Binaries下的压缩包下载目前最新的版本为5.4.1 下载成功后解压直接使用不用安装所以把压缩包解压到常用的软件文件夹下
打开终端进入到该解压文件夹下的bin目录下 选中apache-jmeter-5.4.1文件夹右键-服务-新建位于文件夹位置的终端窗口 输入命令sh jmeter,打开Jmeter软件
软件启动页 软件设置中文Options-Choose Language-Chinese(Simplified) 3、Jmeter基本使用
Jmeter的使用我是以需求为导向的【在这里是指定接口循环100次】以完成需求为目标跟着需求来学习这个Jmeter。
1.创建线程组 线程组的基本配置
我这里对线程组的配置是1个线程数间隔1秒循环5次
2.添加http请求
在新建的线程组下添加-取样器-Http请求 假如某个接口为https://app.test.com/app_login?userNamehahahapassword7844112b3344112b34f7
1.https请求需要在协议里明确填写https
2.服务器路径或ip项填写app.test.com【注意不用填写https://末尾也没有/】
3.Http请求项根据当前接口的请求方式填写一般为post或get
4.路径项填写/app_login?userNamehahahapassword7844112b3344112b34f7
5.端口号https方式请求端口号需要填写443http方式不用填写
6.请求参数根据参数字段值进行添加接口参数配置好之后我们添加一个察看结果树就可以进行测试了
3.添加察看结果树
选中http请求右键-添加-监听器-察看结果树 在电脑上创建一个csv文件用于保存测试的结果然后在察看结果树中配置该文件
然后就可以进行测试运行这个接口了选中线程组右键启动 会提示察看结果树的文件已存在是覆盖文件还是附加到现有文件这个根据需求选择就好 点击察看结果树会看到右边列表里请求的结果绿色对号表示接口请求成功 响应的数据结果有多种查看方式可以选择 本地察看结果树保存的文件数据有一些基本的测试结果数据可供查看
至此基本上是可以满足对某个接口压测100次的但是呢查看结果比较麻烦需要一个个手动点击每一次的接口去查看结果。比如我现在项目中的接口返回的一个状态码字段retret0表示接口正常有数据返回ret-2表示接口正常无数据返回。手动点击100次查看结果这个效率太低了可以写一个脚本把接口返回的某个字段保存到本地文件中然后直接在文件中去查看结果这样的话会方便很多。
那么就用到了Jmeter的正则表达式提取器和BeanShell后置处理程序
4.添加正则表达式提取器
正则表达式提取器是提取响应结果中的指定数据 比如想要过滤接口返回的的ret字段值 { “ret”: 0 } 配置如下 5.添加BeanShell 后置处理程序 脚本程序如下将正则表达式匹配到的数据保存到本地文件中 源代码如下
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import org.apache.jmeter.samplers.*;
import org.apache.jmeter.config.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;FileWriter fstream new FileWriter(/Users/xxx/Desktop/666.csv,true);
BufferedWriter out new BufferedWriter(fstream);
out.write(vars.get(ret)\n);
out.close();
fstream.close();
var retvars.get(ret);
if(ret!0){log.info(ssssssssssssssssssssssssssssssssssssssssssssssssssssss,ret:ret);
}log.info可以把日志打印在控制台
6.运行测试
选中http请求右键启动
1. 先查看日志运行结果 发现10次运行ret字段返回值都为0
2. 查看本地文件是否保存ret字段值 可以看到666.csv文件已经保存ret的值了我们通过查看666.csv这个文件可以更方便的筛选我们想要的测试结果
4、总结
Jmeter测试接口的基本功能算是熟悉了不过它还有很多强大的功能目前因为没有用到也就没有进一步深入研究待以后用到的时候继续学习