当前位置: 首页 > news >正文

性能测试 | 性能测试工具JMeter线程组和参数化的使用

JMeter线程组与参数化

  • JMeter线程组
    • 1. 认识线程组
    • 2. 线程组参数设置
      • 案例1. 编写不同脚本访问百度
    • 3. 发送HTTP请求
      • 案例一: GET请求,URL为http://www.baidu.com/S?wd=test
      • 案例二:GET请求,URL为https://www.baidu.com/S?wd=test
      • 案例三:POST请求,URL为https://www.baidu.com/S,请求体为:wd=test(form表单)
      • 案例四:POST请求,URL为http://www.baidu.com/S,请求体为:wd=test(form表单)
    • 4. 察看结果树
  • JMeter参数化使用
    • 1. 用户定义的变量
      • 练习1 请求:https://www.baidu.com:443
    • 2. 用户参数
      • 练习2 不同用户请求:https://www.baidu.com
    • 3. csv数据文件设置
      • 练习3 模拟不同用户请求:https://www.baidu.com
    • 4. 函数(__counter计数函数)
      • 练习4 请求:访问百度首页http://www.baidu.com/S?num=1
  • 某支付系统,需要用**1000个不同的用户登录**,并使用添加不同的测试金额数据访问支付接口?

JMeter线程组

1. 认识线程组

在这里插入图片描述
并行和串行的设置控制的只是普通线程组

  • 执行顺序

串行设置框 仍处在✔状态 【打开JMeter 默认就是并行设置

在这里插入图片描述

2. 线程组参数设置

在这里插入图片描述

案例1. 编写不同脚本访问百度

  1. 模拟10个用户并行执行
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  2. 模拟10个用户并行执行5秒
    在这里插入图片描述

  • 案例分析:
  • 使用1个线程组,添加HTTP请求(百度)
    • 配置线程数为2,循环次数为3时,运行观察结果
    • 配置线程数为3,循环次数为2时,运行观察结果,对比不同

分析:

  • 线程数代表虚拟用户数,用户数越多,负载越大
  • 循环次数代表运行时间,次数越多,运行时间越长

3. 发送HTTP请求

位置:选中线程组->右键->添加->取样器->HTTP请求
在这里插入图片描述

案例一: GET请求,URL为http://www.baidu.com/S?wd=test

  • 要求:使用HTTP请求-路径来传递get请求参数
    在这里插入图片描述

案例二:GET请求,URL为https://www.baidu.com/S?wd=test

  • 要求:使用HTTP请求-参数列表来传递get请求的参数
    在这里插入图片描述

案例三:POST请求,URL为https://www.baidu.com/S,请求体为:wd=test(form表单)

  • 要求:使用HTTP请求-参数列表来传递PoST请求的form格式参数
    在这里插入图片描述

案例四:POST请求,URL为http://www.baidu.com/S,请求体为:wd=test(form表单)

  • 要求:使用HTTP请求-消息体数据来传递POST请求的form格式参数
    在这里插入图片描述

4. 察看结果树

位置:选中测试计划/线程组->右键->添加->监听器->察看结果树
在这里插入图片描述

  • 问题
    察看结果树中的响应数据出现乱码如何解决?
    1. 找到jMeter安装目录下的bin目录
    2. 打开jmeter,properties文件,修改配置sampleresult.default.encoding=UTF-8
    3. 重启JMeter即可

dnmfiodmosfdks fklmds M kmemf方面a; m;mf;amf;;吗目的是方面发的

JMeter参数化使用

参数化测试:把测试数据组织起来,用不同的测试数据调用相同的测试方法

JMeter中常见的参数化方式:

  • 用户定义的变量
  • 用户参数
  • CSV Data Set Config
  • 函数
  • 数据库

1. 用户定义的变量

作用:定义全局变量 使用方式 ${变量名}
位置:测试计划–>线程组–>配置元件–>用户定义的变量
在这里插入图片描述

练习1 请求:https://www.baidu.com:443

要求:使用用户定义的变量配置被测系统的协议、域名和端口
操作步骤:

  1. 添加线程组
  2. 添加用户定义的变量
  3. 添加HTTP请求
  4. 添加查看结果树
    在这里插入图片描述

2. 用户参数

作用:针对同一组参数,当不同的用户来访问时,可以获取到不同的值
位置:测试计划–>线程组–>前置处理器–>用户参数

  • 局限性:同一个用户在多次循环时,取到相同的值

练习2 不同用户请求:https://www.baidu.com

要求:
第一个用户请求附带参数:name=“张三”&age=28;
第二个用户请求附带参数:name=“李四”&age=30

操作步骤:

  1. 添加线程组,线程数设置为2
  2. 添加用户参数
  3. 添加HTTP请求
  4. 添加查看结果树
    在这里插入图片描述
    在这里插入图片描述

3. csv数据文件设置

在这里插入图片描述

作用:让不同用户在多次循环时,可以取到不同的值
位置:测试计划–>线程组–>配置元件–>CSV数据文件设置
在这里插入图片描述

练习3 模拟不同用户请求:https://www.baidu.com

要求:循环请求3次,每次请求时附带参数username,password,code的值不相同
操作流程

  1. 定义cSV数据文件
  2. 添加线程组,设置循环次数为3
  3. 添加CSV数据文件设置
  4. 添加HTTP请求
  5. 添加查看结果树
    在这里插入图片描述

4. 函数(__counter计数函数)

  • 为什么使用函数参数化
    在这里插入图片描述

作用:计数函数,一般做执行次数统计使用
在菜单中选择–>选项–>函数助手对话框
在这里插入图片描述

练习4 请求:访问百度首页http://www.baidu.com/S?num=1

要求:每个用户每次循环执行该脚本都可以使用不同的值

操作步骤:

  1. 添加线程组,设置虚拟用户数和循环次数
  2. 生成counter函数
  3. 添加HTTP请求,使用counter函数
  4. 添加查看结果树
  5. 添加查看结果树
    在这里插入图片描述
    上述存在两个请求的原因分析,以请求京东为例:

在这里插入图片描述
在这里插入图片描述

  • 查看结果数中最外层HTTP请求的请求信息和响应信息,应该与子节点中最后一个HTTP请求的请求消息和响应消息一致;
  • 配置的HTTP请求,应该与子节点中第一个HTTP请求的请求信息一致
  • JMeter可以自动判断/处理响应状态码【例如上个练习的重定向问题】

某支付系统,需要用1000个不同的用户登录,并使用添加不同的测试金额数据访问支付接口?

  1. 准备CSV数据文件一一1000个登录的用户名密码
  2. 添加线程组
  3. 添加CSV数据文件设置
  4. 添加HTTP请求-登录,使用读取的用户名密码
  5. 添加HTTP清求-支付一一使用__counter函数添加不同的测试金额
  6. 查看结果树
http://www.dtcms.com/a/508177.html

相关文章:

  • jianshe导航网站网站关键词不稳定
  • 深圳建设商城网站营销手机系统安装
  • 深度优先遍历策略
  • Xshell效率实战系列一:多服务器基础高效管理——从定位到批量执行
  • 外部资源延迟交付时,如何保证进度
  • 建网站需要买些什么广州微信网站建设公司
  • 天津网站建设开发维护wordpress完整中文免费主题下载
  • wordpress备份整站网络推广如何有效
  • LLM微调尝试——MAC版
  • 告别平台压缩限制:Reubah使用cpolar实现公网访问实测
  • 浏览器怎么做能不拦截网站口碑好的东莞网站建设
  • 做网站可以挣多少钱it行业培训机构哪个好
  • 视频孪生技术:重构电力行业运维与管理的新范式
  • 加密市场再添新势力,BUYCOIN生态代币BCT以多维赋能重构交易所生态价值
  • 乌克兰网站后缀wordpress怎么上传
  • PyTorch学习
  • ESP32学习--制作AI小智
  • 开源鸿蒙5.0正式发布 底座及配套能力快速稳定成熟
  • ​SpringBoot + Elasticsearch实战:从零构建高性能搜索与数据分析平台
  • 手机网站开发程序员专业网站建设费用
  • 网站分析 实例建设网站成都
  • 为什么建设的网站有时候访问慢6社交网站源代码
  • 车载GPS离线时间授权与位置航向判定技术方案
  • C++构造函数解析陷阱:调用构造函数被误认为函数声明 (Effective STL 第5条)
  • leetcode峰值问题
  • 一锅汤资源网站建设大全哪家公司做门户网站
  • 做微信投票的网站中学教材数字化学习资源的建设——教材配套网站的设计及发展趋势
  • 上海做网站天锐招聘网站免费平台
  • Flocke 算法(Algorithm 954)求解一元三次方程详解
  • 自己怎么做外贸网站空间青岛制作网站哪家公司好