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

jmeter 设置随机数

十分想念顺店杂可。。。

在 JMeter 中设置随机数可以通过多种元件或函数实现,适用于不同场景(如接口参数随机化、数据模拟等)。以下是常用的几种方法:

一、使用「Random」配置元件

适用于生成指定范围的随机整数,可作为变量在测试计划中引用。

操作步骤:
  1. 右键需要添加随机数的组件(如线程组)→ Add → Config Element → Random
  2. 配置参数:
    • Variable Name:定义变量名(如randomNum,后续用${randomNum}引用)
    • Output Format:输出格式(如000表示 3 位数字,不足补 0;留空则直接输出数字)
    • Minimum Value:随机数最小值(如1
    • Maximum Value:随机数最大值(如100
    • Seed(可选):随机数种子,相同种子可复现相同随机序列(留空则每次运行不同)
示例:

设置Variable Name=ageMinimum=18Maximum=60,则${age}会在 18-60 之间随机取值。

二、使用「Random Variable」配置元件

功能类似Random,但支持更多高级设置(如控制随机数更新时机)。

操作步骤:
  1. 右键添加 → Config Element → Random Variable
  2. 核心参数:
    • Variable Name:变量名(如orderId
    • Start:最小值;End:最大值
    • Format String:格式(如ORD${0000}生成ORD1234形式)
    • Per Thread?:勾选则每个线程独立生成随机数
    • Keep value for each user:勾选则每个用户(线程)保持固定值,不随迭代变化

三、使用内置函数(灵活度最高)

JMeter 提供了多个随机数相关函数,可直接在参数中使用(无需额外配置元件)。

常用函数:
  1. __Random(min, max, [variable])
    生成minmax之间的随机整数。

    • 示例:${__Random(1000, 9999,)} → 生成 1000-9999 的随机数
    • 若指定variable(如${__Random(1,5,num)}),则可通过${num}重复引用
  2. __RandomString(length, chars, [variable])
    生成指定长度的随机字符串(从chars中选取字符)。

    • 示例:${__RandomString(6, abc123,)} → 从abc123中随机选 6 个字符(如a2b3c1
  3. __UUID()
    生成随机 UUID(唯一标识符),格式如f47ac10b-58cc-4372-a567-0e02b2c3d479

函数使用方法:
  1. 打开函数助手:顶部菜单 Tools → Function Helper Dialog
  2. 选择目标函数(如__Random),填写参数(如min=1max=10
  3. 点击「Generate」生成表达式(如${__Random(1,10,)}),复制到需要的位置(如 HTTP 请求参数值)。

四、从 CSV 文件中随机取值

若需要从预设的固定值列表中随机选择(如随机用户 ID),可结合CSV Data Set Config实现。

操作步骤:
  1. 准备 CSV 文件(如ids.csv),每行一个值:
    1001
    1002
    1003
    1004
    

  2. 添加CSV Data Set Config:右键线程组 → Add → Config Element → CSV Data Set Config
  3. 配置:
    • Filename:CSV 文件路径(如./ids.csv
    • Variable Names:变量名(如userId
    • Sharing Mode:选择All threads(所有线程共享,实现随机读取)
    • 取消勾选Recycle on EOF(可选,避免重复读取)

总结

  • 简单随机整数:优先用Random元件或__Random函数
  • 随机字符串 / UUID:用__RandomString__UUID函数
  • 固定列表随机取值:用CSV Data Set Config
  • 需控制更新时机(如每个用户固定值):用Random Variable元件

根据测试场景选择合适的方式,可有效模拟真实用户行为或避免接口参数重复。

http://www.dtcms.com/a/326069.html

相关文章:

  • 爬虫与数据分析结合:中国大学排名案例学习报告
  • 【FAQ】Win11创建资源不足绕开微软账号登录
  • 在macOS上扫描192.168.1.0/24子网的所有IP地址
  • 深度学习和神经网络最基础的mlp,从最基础的开始讲
  • Springboot-vue 地图展现
  • 深度学习——01 深度学习简介
  • 《 AudioClassification-Pytorch:GitHub项目网页解读》
  • [4.2-2] NCCL新版本的register如何实现的?
  • 剧本杀小程序系统开发:推动行业数字化转型新动力
  • 数据上云有什么好处?企业数据如何上云?
  • vue3-pinia
  • mysql慢查询sql
  • 分裂的王国——进程间通信
  • GeoScene 空间大数据产品使用入门(1)应用场景与基本流程
  • 【接口自动化】-7- 热加载和日志封装
  • .NET Core MVC中CSHTML
  • 【测试】BDD与TDD在软件测试中的对比?
  • AI蛋白质设计学习主线
  • 【智能的起源】人类如何模仿,简单的“刺激-反应”机制 智能的核心不是记忆,而是发现规律并能迁移到新场景。 最原始的智能:没有思考,只有简单条件反射
  • 首涂模板第45套主题2.0修正版苹果CMS模板奇艺主题二开源码
  • 解决 VS Code 右键菜单丢失问题
  • calamine读取xlsx文件的方法比较
  • Spring Boot 2.0 升级至 3.5 JDK 1.8 升级至 17 全面指南
  • 计算机视觉CS231n学习(7)
  • 【Altium designer】解决报错“Access violation at address...“
  • 【代码随想录day 17】 力扣 617.合并二叉树
  • python魔法方法__str__()介绍
  • 【Lua】题目小练9
  • 从零构建自定义Spring Boot Starter:打造你的专属开箱即用组件
  • 爬虫与数据分析入门:从中国大学排名爬取到数据可视化全流程