Jmeter基础-一个Jmeter测试脚本是如何产生的

Jmeter基础

基本操作流程

  1. 新建测试计划
  2. 添加线程组
  3. 添加HTTP请求默认值
  4. 添加结果树
  5. 添加事务控制器(登录)
  6. 在事务控制器中添加HTTP请求
  7. 在该请求下添加正则表达式提取器(为后续接口提供token)
  8. 在该请求下添加Beanshell后置处理器(为后续接口提供token)
  9. 添加事务控制器(登陆后的模块接口)
  10. 在事务控制器中添加HTTP请求
  11. 可在该请求下添加响应断言
  12. …重复(9,10,11)步骤

登录接口-HTTP请求
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

关于HTTP请求中使用消息体

使用消息体时不好调用登录接口的${token},故选择使用-HTTP信息头管理器
在这里插入图片描述

Jmeter连接数据库进行增删改查操作

  1. JDBC Connection Configuration
  2. 随机变量
  3. JDBCrequest
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

文件上传或导入

抓到文件上传的接口后,需要在HTTP请求-参数中填入content-type以及在文件上传-MIME中填入content-type
在这里插入图片描述
在这里插入图片描述

文件下载或导出

在Benashell后置处理器中写下载脚本后可成功将文件下载或导出
在这里插入图片描述
在这里插入图片描述
文件下载脚本:

import java.io.*;
byte[] result = prev.getResponseData();
String file_name = "C:/apache-jmeter-5.3/bin/vehicleModel.xlsx";
File file = new File(file_name);
FileOutputStream out = new FileOutputStream(file);
out.write(result);
out.close();

监听器

常用监听器:

  1. 查看结果树
    在这里插入图片描述
    作用:
    查看结果树中绿色代表测试通过,红色代表测试失败。以结果树的形式显示测试结果。
    查看结果树监听器放置的位置不同,得到的结果也不同。
    在线程组下添加察看结果树,查看线程组下所有请求的结果;
    放在具体某个请求下,只查看此请求的结果;
    放在某个控制器节点下,则查看此控制器下节点执行的结果。
    Sampler result(取样器结果)
    Thread Name: 线组名称
    Sample Start: 启动开始时间
    Load time: 加载时长
    Latency: 等待时长
    Size in bytes: 发送的数据总大小
    Headers size in bytes: 发送头大小
    Body size in bytes: 发送数据的其余部分大小
    Sample Count: 发送统计
    Error Count: 错误统计
    Response code: 返回码
    Response message: 返回消息
    Response headers: 返回头信息
    Request(请求)
    数据获取方式、路径、地址等以及传递的参数、cookie
    Response data(响应数据)
    响应加载的页面html,可选择不同的形式来查看,如:text,html,css,xpath等等

  2. 聚合报告
    在这里插入图片描述
    作用:
    记录这次性能测试的总请求数、错误率、用户响应时间、吞吐量等,用以帮助分析被测试系统的性能。
    报告中各字段
    Label:HTTP Request请求名称;
    #Samples:表示测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代1次,那么这里就显示对应的 HTTP Request的执行次数是10
    Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间;
    Median:50%用户的响应时间小于此值,表示中位数;
    90%Line:90%用户的响应时间小于此值;
    95%Line:95%用户的响应时间小于此值;
    99%Line:99%用户的响应时间小于此值;
    Min:最小响应时间;
    Max:最大响应时间;
    Error%:本次运行测试中出现错误的请求的数量/请求的总数;
    Throughput:吞吐量,默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似LoadRunner的Transaction per Second数KB/sec;
    Received KB/sec :每秒从服务器端接收到的数据量;
    Sent KB/sec:每秒发送多少KB的数据;

  3. 图形结果
    在这里插入图片描述
    作用:
    通过图形展示出本次性能测试数据的分布。 图形结果一般作为聚合报告的分析辅佐
    No of Samples样本数目:总共发送到服务器的请求数(聚合报告中的TOTAL #Samples)。
    Latest Sample最新样本:代表时间的数字,是服务器响应最后一个请求的时间。
    Average平均值:总运行时间除以发送到服务器的请求数。
    Devation偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。
    Throughput吞吐量:服务器每分钟处理的请求数。
    Median中间值:代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。

  4. 用表格查看结果
    在这里插入图片描述
    表中各字段
    Sample:每个请求的序号
    Start Time:每个请求开始时间
    Thread Name:每个线程的名称
    Label:Http请求名称
    Sample Time:每个请求所花时间,单位毫秒
    Status:请求状态,如果为勾则表示成功,如果为叉表示失败。
    Bytes:请求的字节数
    样本数目:也就是上面所说的请求个数,成功的情况下等于你设定的并发数目乘以循环次数
    平均:每个线程请求的平均时间
    最新样本:表示服务器响应最后一个请求的时间
    偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。

生成测试报告

在这里插入图片描述

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汪敏wangmin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值