jmeter线程组之间数据共享

Posted houlian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter线程组之间数据共享相关的知识,希望对你有一定的参考价值。

jmeter添加环境变量,可使跨线程组访问该属性值,实现了数据共享

  1. 使用函数setProperties
    实现思路:先创建两个线程组,第一个线程组设置环境变量,第二个线程组获取环境变量的值
    (1) 第一个线程组:
    设置随机生成四位数字后,在将值赋值给环境变量

    将设置的变量$param引用到环境变量,在添加环境变量名称为param_value,最后点击生成即可

    在到添加属性里面看对应的变量

    此时添加环境变量成功,对应的值是:832
    (2) 第二个线程组去使用当前环境变量param_value

    此时使用property函数即可获取,可看到当前的是:832

实现了跨线程组的数据共享方法

Jmeter - 线程组详解

参考技术A 线程组相当于有多个用户,同时去执行相同的任务。每个线程之间都互不影响。即:一个线程的执行过程中,操作的变量,不会影响其他线程的变量值。

1、分别添加 线程组、setUp Thread Group、tearDown Thread ,启动执行,执行顺序为:setUp Thread Group--->线程组---> tearDown Thread

2、当有多个线程组时,在测试计划中,如果勾选 独立运行每个线程组 后,就按顺序执行。反之,执行顺序不固定或交叉执行。

3、线程组详细说明如下:

在取样器错误后要执行的动作:
继续:忽略错误,继续执行
Start Next Thread Loop: 忽略错误,线程当前循环终止,执行下一个循环。
停止线程:当前线程停止执行,不影响其他线程正常执行。
停止测试:整个测试会在所有当前正在执行的线程执行完毕后停止
Stop Test Now:整个测试会立即停止执行,当前正在执行的取样器如果可能会被中断。

线程属性:
线程数:当前线程数量,可以简单的理解为用户数量。
Ramp-Up Period:线程启动的时间,上图的线程配置,15个线程,1秒启动时间,每个线程执行1次循环。那么每秒会启动15个线程,每次循环执行15个请求。
循环次数:勾选“永远”选项,则线程组一直循环。否则,以后面所填数量为准。
Delay Thread creation until needed: 默认情况下,测试开始的时候,所有线程就被创建完了。如果勾选了此选项,那么线程只会在合适的需要用到的时候创建。
调度器:勾选此选项,才可修改下面的调度器配置。

调度器配置:
启动时间:控制测试在某个时间点启动。这个配置会被“启动延迟(秒)”配置覆盖。
结束时间:控制测试执行的结束时间。这个配置会被“持续时间(秒)”配置覆盖。
持续时间(秒):测试持续的时间。如果启动时间+持续时间>结束时间,那么此设置覆盖结束时间。
启动延迟(秒):点击执行按钮后,仅初始化场景,不运行线程,等待延迟到时后开始运行线程。如果开始点击执行按钮的时间+延迟时间>启动时间,则此设置覆盖开始时间。

以上是关于jmeter线程组之间数据共享的主要内容,如果未能解决你的问题,请参考以下文章

jmeter 多线程组间变量共享

Jmeter (二十八)多线程组间变量共享

jmeter跨线程组获取cookie或jmeter线程组共享cookie-笔者亲测

如何在 grafana 中的 JMeter 线程组之间进行选择?

Jmeter - 线程组详解

jmeter简单的一个压力测试案例 --使用命令 12