我的编程空间,编程开发者的网络收藏夹
学习永远不晚

线程组之间的JMeter传递变量

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

线程组之间的JMeter传递变量

线程组之间的JMeter传递变量

下面,我们将看看如何在线程组之间共享和传递变量。

在开发高级JMeter脚本时,很可能您将拥有多个线程组。每个线程组将执行不同的请求。

一个很好的例子是我们需要使用Bearer Tokens对用户进行身份验证。一个线程组执行身份验证并保存令牌。另一个线程组需要访问此令牌并在另一个请求中使用它。

因此,我们需要一种在线程组之间传递变量的机制。

在JMeter中传递线程组之间的变量

对于此示例,我们的测试计划将具有两个线程组。第一个线程组向Web服务发出GET请求。然后,我们使用JSON Extractor插件来解析JSON响应。

使用JSONPath,我们提取特定键的值并将其保存为JMeter变量。

这就是我们的JMeter请求的样子:

线程组之间的JMeter传递变量

上述请求的结果以JSON格式生成以下响应

线程组之间的JMeter传递变量

和我们的JSONPath提取第一个url看起来像

线程组之间的JMeter传递变量

JSONPath查询的值保存为first_url。此变量只能在同一个线程组中访问,我们可以通过使用获取其值${first_url}。现在,我们如何通过其他线程组访问此变量?

答案是用于BeanShell Assertion将变量保存为全局属性。通过这种方式,我们可以在线程组之间传递变量。

要添加BeanShell断言,请右键单击Test Plan> Add> Assertion> BeanShell Assertion

在我们的BeanShell断言中,我们可以输入以下代码

${__setProperty(first_url, ${first_url})};

现在在线程组2中,我们可以使用${__property(first_url)} 如下所示直接访问此变量:

线程组之间的JMeter传递变量

或者,我们可以使用BeanShell PreProcessor来操作变量

线程组之间的JMeter传递变量

在BeanShell PreProcessor中,我们可以通过使用来访问从另一个Thread组传入的变量props.get("name_of_variable") 。然后我们可以执行一些String操作并将结果保存为新变量。

在上面的例子中,我们http:// 从Thread Group 1传递的变量中删除了,我们将结果保存为变量host

该变量host 现在是线程组2的本地变量,并使用${host} 如下所示直接访问它:

线程组之间的JMeter传递变量

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

线程组之间的JMeter传递变量

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

线程组之间的JMeter传递变量

下面,我们将看看如何在线程组之间共享和传递变量。在开发高级JMeter脚本时,很可能您将拥有多个线程组。每个线程组将执行不同的请求。一个很好的例子是我们需要使用Bearer Tokens对用户进行身份验证。一个线程组执行身份验证并保存令牌。
2023-06-05

Python 模块之间传递变量

最近在做实验时发现个问题,我想在一个模块中调用另一个模块的变量,首先想到了用return 函数返回值的方法将变量作为返回值并将该变量设为全局变量,可在执行时就是报错;    综合借鉴了下其他博客和评论的方法,把需要全局使用的变量定义在一个全
2023-01-31

变量在Oracle存储过程间的传递

在Oracle中,存储过程是一种用于封装和重复使用SQL代码的方法。要在Oracle存储过程间传递变量,您可以使用IN、OUT或IN OUT参数。下面是如何在Oracle存储过程间传递变量的示例:创建一个包含两个存储过程的包:CREATE
变量在Oracle存储过程间的传递
2024-08-28

android主线程和子线程之间消息传递详解

从主线程发送消息到子线程(准确地说应该是非UI线程)package com.zhuozhuo; import android.app.Activity; import android.os.Bundle; import android.os
2022-06-06

PHP 函数的参数传递方式与引用变量之间的关系?

在 php 中,函数的参数传递方式决定了函数对变量的访问方式。按值传递创建变量副本,而按引用传递则直接操作原始变量。php 8 引入了引用类型提示,允许明确指定按引用传递的参数。按值传递适合不会修改原始值的函数,而按引用传递适合需要修改原始
PHP 函数的参数传递方式与引用变量之间的关系?
2024-04-15

linux线程间传递数据的方法是什么

在Linux中,线程间传递数据的方法有多种:1. 全局变量:线程可以通过访问共享的全局变量来传递数据。但是需要注意同步访问全局变量以避免数据竞争。2. 消息队列:线程可以通过消息队列来传递数据。一个线程可以将消息发送到消息队列中,而另一个线
2023-09-26

SpringBoot异步线程间数据传递的四种方式

这篇文章主要为大家介绍了SpringBoot异步线程间数据传递的四种方式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-01-06

Spring Boot异步线程间数据传递的四种方式

这篇文章主要为大家介绍了Spring Boot异步线程间数据传递的四种方式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-01-06

SpringBoot 异步线程间传递上下文方式是怎样的

这篇文章给大家介绍SpringBoot 异步线程间传递上下文方式是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。异步线程间传递上下文需求SpringBoot项目中,经常使用@Async来开启一个子线程来完成异步操
2023-06-25

Vue组件之间的参数传递与方法调用的实例详解

这篇文章主要介绍了Vue组件之间的参数传递与方法调用,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2022-12-08

小程序页面之间数据传递的4种方法总结

由于经常需要进行页面间传参且各种传参的业务场景也不相同,根据官方文档和日常工作进行了总结,下面这篇文章主要给大家总结介绍了关于小程序页面之间数据传递的4种方法,需要的朋友可以参考下
2023-05-17

C/C++中多进程之间的线程如何利用XSI IPC共享内存分配互斥量进行同步

这篇文章主要介绍了C/C++中多进程之间的线程如何利用XSI IPC共享内存分配互斥量进行同步,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。#include
2023-06-03

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录