昨天学会了动态获取token,今天测试接口时希望能够实现跨线程调用token值。

实现原理:

jmeter本身的“__setProperty”函数可以把某参数的值设置成jmeter本身的内置属性,而jmeter的内置属性是所有线程组都可以调用的,是全局变量。各个线程组调用时,只需使用调用jmeter属性的函数“__P”来调用相应的属性即可。

操作过程:

在昨天已经能动态获取到token的基础上,在登录接口下再添加一个Bean Shell PostProcessor 的后置处理器 :

Parametres:就是之前获取token时设置的变量名。

Script:就是把Bean Shell PostProcessor接收到的参数值,赋值给某参数,0是第一个值。调用函数__setProperty,把Bean Shell PostProcessor中的参数token的值赋值给loginToken,并设置loginToken为jmeter内置属性。loginToken是自定义的变量名。

String token = bsh.args[0];
log.info("token:" + token);
${__setProperty(loginToken,${token},)};

登录接口这个线程组就设置好了,其他线程组要调用token值的话直接用“__P”函数调用。

可以在其他线程组下添加一个HTTP Header Manager, http header manager设置如下:

以上都设置完后基本上就可以了,还要注意的一个就是线程组执行顺序问题,把获取token的这个线程组放在第一位,在Test Plan里把下面这一项前面勾上:

好了(*^▽^*)~

Jmeter接口测试——跨线程组调用参数(token为例)的更多相关文章

  1. Jmeter(五十二) - 从入门到精通高级篇 - jmeter之跨线程组传递参数(详解教程)

    1.简介 之前分享的所有文章都是只有一个线程组,而且参数的传递也只在一个线程组中,那么如果需要在两个线程组中传递参数,我们怎么做呢?宏哥今天就给小伙伴或者童鞋们讲解一下,如何实现在线程组之间传递参数. ...

  2. JMeter接口测试-跨线程组取参数值的两种方法

    前言 如果你工作中已经在用jmeter做接口测试,或性能测试了,你可能会遇到一个麻烦.那就是jmeter的变量值不能跨线程组传递.如果变量在开始测试之前已经确定了,我们可以用参数化关联就可以实现. 但 ...

  3. Jmeter 跨线程组传递参数 之两种方法

    终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为同一个线程组下的请求是同时发送的),只需要发送一次登录请求,请求B直接用登录请求的参数即可,直 ...

  4. Jmeter 跨线程组传递参数 之两种方法(转)

    终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为同一个线程组下的请求是同时发送的),只需要发送一次登录请求,请求B直接用登录请求的参数即可,直 ...

  5. Jmeter跨线程组传递参数

    Jmeter的线程组之间是相互独立的,各个线程组互不影响,所以线程组A中输出的参数,是无法直接在线程组B中被调用的. 但有时候为了方便,可以把不同模块接口放在不同线程组,就涉及不同线程组传参问题,比如 ...

  6. Jmeter操作之跨线程组传递参数

    思路:将某一线程组内的变量通过“__setProperty”函数设置成jmeter的全局变量,在另一线程组中通过“__P”函数调用即可. 1.添加-后置处理器-BeanShell PostProces ...

  7. 性能测试工具Jmeter13-Jmeter跨线程组调用token

    1.正则表达式或者json提取器(我是用json提取器提取的),提取token 2.添加后置处理器BeanShell PostProcessor,然后输入以下函数 3.添加HTTP信息头管理器,写入函 ...

  8. jmeter跨线程组传值和jmeter跨线程组调用

    Jmeter的线程组之间是独立的,用Jmeter做接口测试或者是性能测试时,经常会涉及到多个线程组.那么如何将A线程组返回的变量信息提取后,传递给B,C线程组使用呢?这里以已登录接口返回的access ...

  9. jmeter之跨线程组共享cookies

    jmeter在一个线程组里,可以把登录接口放在上面,再添加一个cookies管理器元件,这样下一个接口就可以携带登录信息.在不同线程组里其实也可以共享cookies 目录 1.方法 2.应用 1.方法 ...

随机推荐

  1. google protobuf VC下的使用笔记

    1 使用protobuf 2.x 下载地址(3.x 在c++11 vs2017下报错) 源码 https://github.com/google/protobuf 或者直接下载 二进制文件 2 如果下 ...

  2. python 常用知识点

    1,字典get用法 如果key没有值,返回一个None >>> dic = {'k1':'v1','k2':'v2','k3':'v3'} >>> dic.get( ...

  3. java内存模型和垃圾回收(收藏)

    java内存模型: https://www.cnblogs.com/handsomeye/p/5442879.html java垃圾回收 http://www.cnblogs.com/handsome ...

  4. kei下无法跳转到函数的定义处

    1 勾选“option for target”----“output”----"Browse information" 2 重新编译整个工程, 执行上面两个步骤就可以跳转了.

  5. IMAGE WATCH工具安装与学习

    1.下载安装 从下载地址搜索IMAGE WATCH,即可下载自己所需要的IMAGE WATCH工具. 安装ImageWatch,双击ImageWatch.vsix进行安装即可: 2.使用示例 这里首先 ...

  6. UniDBGrid增加显示记录数的label及隐藏refresh按钮

    1. 在UniDBgrid的extEvent属性中写入以下代码: function OnAfterCreate(sender){ var toolbar=sender.getDockedItems() ...

  7. css3的动画效果

    全新的css3加入的动画效果: [ animation-name ]:检索或设置对象所应用的动画名称 [ animation-duration ]: 检索或设置对象动画的持续时间 [ animatio ...

  8. JavaScript学习之路-语法

    版权声明:未经博主允许不得转载 在JavaScript中如何写语法呢?这里你可以去看一些教学文档来得快一些,这里不介绍,有点基础的也可以复习一下. //定义变量并赋值 var a; //定义变量 va ...

  9. H5的Page Visibility API

    概述 哈哈,又学了一个H5的API.今天突然对动态获取网页的选中状态很感兴趣,然后去查了下,发现真的有个API控制它--Page Visibility API.于是把学到的东西记录下来,供以后开发时参 ...

  10. Java学习笔记33(集合框架七:Collections工具类)

    数组有工具类,方面操作数组 集合也有工具类:Collections 常用方法示例: package demo; import java.util.ArrayList; import java.util ...