1、随机变量介绍

随机变量应用场景:在一些数据要求不重复,或者对数据取值需要正态分布的时候,我们可以采用随机变量组件来满足需求。

随机变量用户自定义变量的区别:

  • 随机变量(random variable):在线程每个次循环执行时,取值都会重新生成。
  • 用户自定义变量(User defined variables):在同个线程中,用户自定义变量只会被引用一次,后面不管循环运行多少次,变量值都相同。

2、随机变量界面详解

添加随机变量组件的操作:选中“线程组”右键 —> 添加 —> 配置元件 —> 随机变量

随机变量界面如下:

随机变量组件的详细说明:

  • 名称:随机变量组件的自定义名称,见名知意最好。
  • 注释:即添加一些备注信息,对该随机变量组件的简短说明,以便后期回顾时查看。
  • 变量名称Variable Name):用于在其它元件中引用该值,形式:${variable_name}
  • 输出格式Output Format):比如设置为000,会格式化为001,002。假设Output Format设置为user_000,那么格式化后,第一个参数值为user_001,第二个参数值为user_002,以此类推。默认格式为Long.toString(),但是默认格式下,还是可以当作数字使用。
  • 最小值Minimum Value):生成的最小随机数。
  • 最大值Maximum Value):生成的最大随机数。
  • 随机种子Seed for Random function):随机函数的种子,供随机数生成器使用的seed构造器。如果为空,则使用默认的Random构造器。
  • 每线程(用户)?Per Thread(User)?):如果设置为True,那么每个线程独享各自的随机数生成器。如果设置为False,那么所有线程共享同一个随机数生成器。

提示:无特殊需求的情况下,建议Seed for Random function不填,Per Thread(User)?设置为False,也就是这两项全部默认。

说明:随机种子是什么?

随机种子是用于产生随机输出的值。

由于随机数函数实际上只是一个函数,输出的“随机”值总是基于种子。换句话说,如果您使用相同的种子值为随机输出生成器播种,您将得到相同的“随机”结果。这就是为什么大多数随机数发生器,使用系统时间来播种它们自己,因为这是高度可变的。

现在回到你的问题。如果你指定一个种子,你会得到固定的随机输出。这使您可以轻松地使用完全相同的随机值重复测试,只需传入相同的种子即可。

3、随机变量的使用

(1)测试计划内包含的元件

添加元件操作步骤

  1. 创建测试计划。
  2. 创建线程组:选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组
  3. 在线程组中添加配置元件"随机变量"组件:选中“线程组”右键 —> 添加 —> 配置元件 —> 随机变量
  4. 在线程组里面添加取样器“HTTP请求”组件:选中“线程组”右键 —> 添加 —> 取样器 —> HTTP请求
  5. 在线程组里面添加监听器“察看结果树”组件:查看结果,选中“线程组”右键 —> 添加 —> 监听器 —> 察看结果树

最终测试计划中的元件如下:

点击运行按钮,会提示你先保存该脚本,脚本保存完成后会直接自动运行该脚本。

提示:如果有多个线程组,需要使用同一个随机变量组件,就把随机变量组件提到和线程组同一级。

(2)线程组界面内容

我们定义循环次数为3,也就是进行3次该请求。(可以修改线程数)

(3)随机变量界面内容

随机变量界面中,我们定义最小值为1,最大值为999,输出格式为000,。

随机变量的引用名称为randomVariables,之后我们使用${randomVariables}的方式,就能够引用该值了。

如下图所示:

(4)HTTP请求界面内容

我们在HTTP请求界面中可以引用随机变量的值,可以写在任何可输入的位置。

如下图所示:

(5)查看结果

我们可以看到下图中,每个请求中的随机变量都是不同的值,证明随机变量组件成功的生成了我们所需要的数值。

以上就是JMeter中随机变量组件的使用方法。

『动善时』JMeter基础 — 19、JMeter配置元件【随机变量】的更多相关文章

  1. 『动善时』JMeter基础 — 8、JMeter主要元件介绍

    目录 1.测试计划(Test Plan) 2.线程组 3.取样器(sampler) 4.逻辑控制器(Logic Controller) 5.配置元件(Config Element) 6.定时器(Tim ...

  2. 『动善时』JMeter基础 — 6、使用JMeter发送一个最基础的请求

    目录 步骤1:创建一个测试计划 步骤2:创建线程组 步骤3:创建取样器 步骤4:创建监听器 步骤5:完善信息 步骤6:保存测试计划 步骤7:查看结果 总结:JMeter测试计划要素 当我们第一次打开J ...

  3. 『动善时』JMeter基础 — 20、JMeter配置元件【HTTP Cookie管理器】详细介绍

    目录 1.HTTP Cookie管理器介绍 2.HTTP Cookie管理器界面详解 3.JMeter中对Cookie的管理 (1)Cookie的存储 (2)Cookie的管理策略 4.补充:Cook ...

  4. 『动善时』JMeter基础 — 37、将JMeter测试结果写入Excel

    目录 1.环境准备 (1)引入操作Excel文件的基础JAR包 (2)引入封装自定义操作Excel文件的JAR包 2.准备测试需要的数据 3.测试结果写入Excel演示 (1)测试计划内包含的元件 ( ...

  5. 『动善时』JMeter基础 — 41、使用JMeter连接数据库(MySQL)

    目录 1.为什么要使用JMeter连接数据库 2.JMeter连接数据库的前提 3.JDBC连接配置组件界面介绍 4.JMeter连接数据库演示 (1)测试计划内包含的元件 (2)测试计划中添加链接数 ...

  6. 『动善时』JMeter基础 — 44、JMeter对数据库的更新操作

    目录 1.执行一条insert语句 2.insert语句实现参数化 3.一次执行多条insert语句 4.使用Beanshell生成加密数据示例 (1)测试计划内包含的元件 (2)JDBC连接配置组件 ...

  7. 『动善时』JMeter基础 — 7、jmeter.properties文件常用配置

    目录 1.默认语言设置 2.配置默认编码格式 3.GUI图标放大比例设置 4.功能区工具栏图标大小设置 5.视图区目录树图标大小设置 6.内容区编辑字体设置 7.添加JMeter元素快捷键设置 8.捕 ...

  8. 『动善时』JMeter基础 — 14、使用JMeter发送Post请求

    目录 1.Post请求参数类型说明 2.用于演示的项目说明 3.发送Post请求示例 (1)测试计划内包含的元件 (2)请求参数类型为x-www-form-urlencoded 4.请求参数form- ...

  9. 『动善时』JMeter基础 — 16、JMeter配置元件【HTTP信息头管理器】

    目录 1.用于演示的项目说明 2.测试计划内包含的元件 3.HTTP请求界面内容 4.查看脚本执行结果 5.添加请求头信息(HTTP信息头管理器) 6.优先级说明 7.补充:常见请求头信息 JMete ...

随机推荐

  1. 通过xshell实现内网linux上公网yum、apt-get安装软件

    环境:在内网,我的机器可上网,内网服务器不可上网,本来在我机器上开个代理,服务器直接通过我机器上网就可以,奈何网络配置太复杂,目前只有ssh端口可通. 先安装ccproxy软件,配置http监听端口为 ...

  2. webpack核心模块tapable源码解析

    上一篇文章我写了tapable的基本用法,我们知道他是一个增强版版的发布订阅模式,本文想来学习下他的源码.tapable的源码我读了一下,发现他的抽象程度比较高,直接扎进去反而会让人云里雾里的,所以本 ...

  3. 利用过滤器Filter和特性Attribute实现对Web API返回结果的封装和统一异常处理

    在我们开发Web API应用的时候,我们可以借鉴ABP框架的过滤器Filter和特性Attribute的应用,实现对Web API返回结果的封装和统一异常处理,本篇随笔介绍利用AuthorizeAtt ...

  4. 隐藏页面元素 css

    一.前言 在平常的样式排版中,我们经常遇到将某个模块隐藏的场景 通过css隐藏元素的方法有很多种,它们看起来实现的效果是一致的 但实际上每一种方法都有一丝轻微的不同,这些不同决定了在一些特定场合下使用 ...

  5. [BFS]最小转弯问题

    最小转弯问题 Description 给出一张地图,这张地图被分为 n×m(n,m<=100)个方块,任何一个方块不是平地就是高山.平地可以通过,高山则不能.现在你处在地图的(x1,y1)这块平 ...

  6. 使用pr进行视频的剪辑

    本人作为一个经常浪迹在各个小视频的网站的视频界"gai溜子",很是喜欢一些人上传的综艺或者电影的搞笑搞笑小桥段,有的剪辑下来的片段甚至会比我们自己去看还要有意思的多.我认为视频剪辑 ...

  7. 简单创建ASP.NET网站(1)

    闲话 公司员工辞职了,我从原来的Delphi开发转型到ASP.NET开发,接受同时的相关工作,因为网上搜了视频学习,还是不觉得有什么提升,一脸懵逼,所以就买了书籍自己慢慢学习,为了加深记忆,我就记录一 ...

  8. ASP.NET Core可视化日志组件使用

    前言 今天站长推荐一款日志可视化组件LogDashboard,可以不用安装第三方进程,只需要在项目中安装相应的Nuget包,添加数行代码,就可以实现拥有带Web页面的日志管理面板,十分nice哦. 下 ...

  9. 剑指offer二刷(精刷)

    剑指 Offer 03. 数组中重复的数字 题目描述 在一个长度为 n 的数组里的所有数字都在 0 到 n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字是重复的,也不知道每个数字重复几次. ...

  10. JAVA JNI 中解决在C/C++跨线程FindClass失败

    在JAVA与C/C++交互时使用JNI接口: 先是在JAVA调用的C++方法中直接测试FindClass,使用获取到的jclass操作没有任何问题: 但是在调用的C++方法中起线程后,在线程中Find ...