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. OLAP引擎:基于Druid组件进行数据统计分析

    一.Druid概述 1.Druid简介 Druid是一款基于分布式架构的OLAP引擎,支持数据写入.低延时.高性能的数据分析,具有优秀的数据聚合能力与实时查询能力.在大数据分析.实时计算.监控等领域都 ...

  2. 提高Python的性能

    01 使用哈希表的数据结构   如果在程序中遇到大量搜索操作时,并且数据中没有重复项,则可以使用查找而不是循环.举例如下: items = ['a', 'b',..,'100m'] #1000s of ...

  3. macbook/macOS下打开多个相同应用(应用多开)

    1.部分应用可使用common+n快捷键.如qq:打开qq主界面后使用common+n即可新起一个qq程序. 2.在终端使用命令 open -n +程序路径.如启动多个qq :  open -n /A ...

  4. 微信小程序getUserProfile适配方案

    清明节放假前一天 群里突然炸锅,说小程序所有用的昵称全部变成了微信昵称 当时我就 特么不是说好13号吗??? 吓得我赶紧爬起来翻文档(需要代码直接往后翻) wx.getUserProfile(Obje ...

  5. springcloud面试题【第一期】

    全文目录 1:谈一谈你对微服务的理解? 2:微服务之间是如何独立进行通讯的? 3:springcloud和dubbo有哪些区别? 4:springboot和spring cloud得区别? 5:Eur ...

  6. Android+Java Web+MySQL实现登录注册

    1 前言&概述 这篇文章是基于此处文章的更新,更新了一些技术栈,更加贴近实际需要,以及修复了若干的错误. 这是一个前端Android+后端Java/Kotlin通过Servelt进行后台数据库 ...

  7. try - with - resource

    本文详细介绍了自 JDK 7 引入的 try-with-resources 语句的原理和用法,以及介绍了 JDK 9 对 try-with-resources 的改进,使得用户可以更加方便.简洁的使用 ...

  8. C#通过rabbitmq实现定时任务(延时队列)

    本文主要讲解如何通过RabbitMQ实现定时任务(延时队列) 环境准备 需要在MQ中进行安装插件 地址链接 插件介绍地址:https://www.rabbitmq.com/blog/2015/04/1 ...

  9. 所谓 ICMP,不过将军与士卒而已

    什么是 ICMP 协议 关于这点我们在 IP 协议那篇文章中提过一嘴,IP 协议作为一种提供不可靠数据交付的网络层协议,在传输的过程中,其 IP 数据报可能会发生丢失.重复.延迟和乱序等各种情况, 但 ...

  10. 4-1 Postman脚本的应用

    前面我们讲解了在接口发送每个请求,得到响应.这是接口本身的问题.但是"请求前后"的动作,是怎么处理的?比如在发送一个请求前,需要获取当前的时间戳,或者对我们的变量进行参数化,设置变 ...