首页 > 其他分享 >jmeter中跨线程调用变量

jmeter中跨线程调用变量

时间:2023-06-27 10:55:08浏览次数:31  
标签:调用 变量 mytoken token 线程 jmeter

Jmeter中跨线程调用变量

一.Jmeter中线程运行规则

1.各个线程组是完全独立的,每个线程组是不同的业务,互不影响

2.线程组中的每个线程也是完全独立

3.线程组中的每个线程,都是从上往下执行,完成一轮循环后,继续下一轮循环

4.存在业务流或者接口之前存在依赖关系的放同一个线程组

5.setup线程组在其他线程组之前执行,teardown线程组在其他线程组之后执行

二.Jmeter中变量传递规则

1.测试计划中的变量是全局变量,所有线程组都可以使用,单个线程可以临时修改,不会改变初始值,其他线程调用时,仍然是初始值

2.线程组的变量是线程私有,其他线程组不能引用

三.Jmeter中使用属性实现跨线程调用变量

以登录线程和查询余额线程接口中的token跨线程调用为例

1.jmeter中提取登录接口返回的token

2.在登录线程中,使用beanshell后置处理器,把token设置成属性

通过函数助手setproperty,生成mytoken的beanshell变量

把${token}赋值给mytoken:${__setProperty(mytoken,${token},)};

3.在查询余额线程中,使用beanshell前置处理器,定义一个新的变量保存token属性

通过property获取mytoken属性

定义gettoken接收mytoken属性值

String gettoken = "${__property(mytoken,,)}";

4.通过var函数,把gettoken复制给jmeter变量token88,供jmeter中调用

vars.put("token88",gettoken);

5.在查询余额接口,添加http 信息头管理器

Token的值为token88

6.调试脚本

标签:调用,变量,mytoken,token,线程,jmeter
From: https://www.cnblogs.com/shaohuang/p/17508054.html

相关文章

  • 多进程和多线程以及协程的创建模板
    【一】开启多进程的创建模板(基于Process模块)【1】方式一:创建多进程importmultiprocessingdefworker(n):"""子进程要执行的任务"""print(f'子进程{n}正在执行')defmain():task_lists=[]foriinrange(100)#创建一个进程对象......
  • spring中的bean是否是线程安全的
    Spring中的bean是否线程安全,与Spring本身是无关的。Spring中会提供很多线程安全方面的策略,因此Spring中的bean也不具备线程安全的特性在Spring的作用域中,有以下几种;prototype(多例)每次getBean得到时候都会创建一个新的对象singleton(单例)在Spring容器中只存在一个全局共......
  • 织梦 图集文章页的调用方式
    图集文章页的调用方式,根据这个功能,可以批量显示,也可以做轮播图{dede:productimagelist}<imgsrc="[field:imgsrc/]"uri="[field:imgsrc/]"alt="[field:text/]"width="60"height="22"/>{/dede:productimagelist} 按点击次数调用图集的列表{dede:arcli......
  • 线程上运行 task
    我没能实现始终在一个线程上运行task 前文我们总结了在使用常驻任务实现常驻线程时,应该注意的事项。但是我们最终没有提到如何在处理对于带有异步代码的办法。本篇将接受笔者对于该内容的总结。如何识别当前代码跑在什么线程上一切开始之前,我们先来使用一种简单的方式来识......
  • Linux系统搭建Jmeter环境
    Linux系统搭建Jmeter环境一、把Jmeter的压缩包传到Linux系统/home目录下1.给/home添加读写权限chmod777/home2.进入到/home目录下,双击Jmeter压缩包,上传文件3.解压Jmeter压缩包unzipapache-jmeter-5.5.zip如果没有解压提示没有unzip命令,则需要安装unzip工具。在线安装命令如下:yu......
  • 更改jmeter监控频率
    Jmeter默认的监控时间是30S,需要改成10S1.进入到jmeter/bin目录下2.编辑jmeter.properties,把默认统计事件改成10s删除summariser.interval前的注释,把值改成10按esc:wq退出......
  • 【3.0】知识点小结(线程相关)
    【3.0】知识点小结(线程相关)【一】什么是线程进程资源单位线程执行单位将操作系统比喻成大的工厂进程相当于工厂里面的车间线程相当于车间里面的流水线每一个进程必定自带一个线程进程:资源单位​ 起一个进程仅仅只是在内存空间中开辟出一块独立的空间......
  • 【4.0】知识点小结(线程进阶)
    【4.0】知识点小结(线程进阶)【一】什么是死锁与递归锁死锁是指两个或多个进程,在执行过程中,因争夺资源而造成了互相等待的一种现象。即两个或多个进程持有各自的锁并试图获取对方持有的锁,从而导致被阻塞,不能向前执行,最终形成僵局。在这种情况下,系统资源利用率极低,系统处于一种......
  • 保证线程安全的10个小技巧
    前言对于从事后端开发的同学来说,线程安全问题是我们每天都需要考虑的问题。线程安全问题通俗的讲:主要是在多线程的环境下,不同线程同时读和写公共资源(临界资源),导致的数据异常问题。比如:变量a=0,线程1给该变量+1,线程2也给该变量+1。此时,线程3获取a的值有可能不是2,而是1。线程3这不......
  • SimpleDateFormat 线程不安全!使用DateTimeFormatter
    1、报错原因:(1)、SimpleDateFormat是线程不安全的(2)、代码想把格林威治时间转换成yyyy-MM-ddHH:mm:ss报错Exceptioninthread:java.lang.NumberFormatException:Forinputstring:""类似下图的错误: 2、解决方案:使用DateTimeFormatter//时间转换DateTimeFor......