将token设置为全局变量网上方式方法千千万,但是你就是获取token会失败,不是提示格式错误,就是提示无法获取token,没安装Jmeter的可以查看前两期教程,有详细介绍

在工作当中如果仅仅是一个线程组肯定是无法满足使用需求的,那么我们会使用多个线程组进行工作,这里不得不提及一个名词叫:全局变量 。

一、观察并获取token

1、当我们登陆成功以后进行观察,会发现token的存在,提取token有两种格式(分别是:正则表达式提取,JSON格式提取)根据个人爱好吧,我一般喜欢正则因为平时接触的比较多

2、创建正则提取器,选择生成token的请求--添加-- 后置处理器--正则表达式;

(匹配数字一般为1,博主这里比较懒直接省略不写了,不要问正则为什么这样写,因为这是最最最基本的你们可以直接抄写就好了,实在很好奇可以进入廖雪峰的博客下进行系统学习一下,但是这个模板是固定的就是$1$,其中的1便是获取第一个token值)

3、创建完正则后我们需要校验一下,是否提取成功了,可以创建调试取样器 Debug sampler

(选中线程组--添加--取样器--Debug sampler )

4、查看结果如下图则算是成功了

二、将token设置为全局变量

1、上一步我们讲解的是采用正则的方式提取的token,这一步是将提取的token进行设置为全局变量;首先创建BeanShell后置处理器,路径如下图:

3、打开函数助手,找到_setProperty函数,填写要设置的全局变量名称和要将哪个变量设置为全局变量,直接复制函数助手生成的函数字符串到BeanShell PostProccessor中,也可以BeanShell后置处理器中填写参数:${__setProperty(newtoken,${g_token})};  其中g_token为token提取器中引用的名称,一定要保持一致;

三、调用全局变量token

1、在计划下面进行调用全局变量,${__property(newtoken)} 或 ${__P(newtoken)}   (一定要注意不要马马虎虎的将名称或则格式写错,最容易出错的地方就是这里了,越是简单的地方约容易被大意忽略)  第二行(有些版本不适用,为避免出错可以不用填写)的格式根据需求可以在抓包中有体现,抓包工具大家可以看前面两张的fiddler 或者开发者抓包即可;

总结一下:讲到这里已经就接近尾声了,后面创建的线程组中皆可调用全局的token,如果有画蛇添足的非要在每一个线程组中加一个http请求头管理器也是可以的,但是一定要将http请求头管理器的参数写正确,别给蛇画个半只足就难看了;(目前很多文章都有误导性作用)

Jmeter跨线程组获取token(彻底解决因格式token报错)的更多相关文章

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

    一.Jmeter版本 此次示例采用的是apache-jmeter-5.2.1版本 二.设置配置文件使Cookie管理器保存cookie信息. 修改apache-jmeter-5.2.1/bin/jme ...

  2. Jmeter系列(45)- 详解 Jmeter 跨线程组取参数值的方法,免代码!

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 前言 用过 Jmeter 的同学应该都 ...

  3. jmeter跨线程组传值

    在测试过程中,有时候需要jmeter跨线程组传值,jmeter本身又不具备此功能,那么,又该如何实现呢? 其实,我们可以通过BeanShell去实现. 实现过程如下: 1.线程组A中,使用正则表达式提 ...

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

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

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

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

  6. 解决Jmeter跨线程组取参数值难题!(还没试)

    来源 https://mp.weixin.qq.com/s/q7ArxwnX1sOfa9tfHouSBQ 如果你工作中已经在用jmeter做接口测试,或性能测试了,你可能会遇到一个麻烦.   那就是j ...

  7. Jmeter跨线程组传递变量

    请求API需要授权令牌,但是授权令牌只需要获取一次,即可调用服务器上其他业务接口. 所以我想要把授权操作放在单独的一个线程,业务流放在其他线程. 这就需要我把从授权线程获取的令牌传入业务流线程. 解决 ...

  8. Jmeter跨线程组传参

      我们知道,同一线程组中可以通过“正则表达式提取器”获取其中一个取样器的响应结果中的参数,直接传给线程组中的其他取样器.但其他线程组中的取样器也想使用同样的参数时,无法直接获取.举个例子: 提取“登 ...

  9. Jmeter跨线程组传递参数

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

随机推荐

  1. 浅谈ES6中的Class

    转载地址:https://www.cnblogs.com/sghy/p/8005857.html 一.定义类(ES6的类,完全可以看做是构造函数的另一种写法) class Greet { constr ...

  2. css3种不知道宽高的情况下水平垂直居中的方法

    第一种:display:table-cell 组合使用display:table-cell和vertical-align.text-align,使父元素内的所有行内元素水平垂直居中(内部div设置di ...

  3. 网卡激活-up(dhcp方式获得ip)

    一次修复记录 采样: [root@fp-web-124 network-scripts]# cat /etc/redhat-release CentOS Linux release 7.2.1511 ...

  4. oracle各种用户登录的方式

    Oracle有3种用户: system.sys.scott 1.system和sys的差别在与是否能创建数据库2.sys用户登录创建数据库,3.scott是给刚開始学习的人学习的用户.学习者能够用Sc ...

  5. sqlplus文件查看自带oracle命令的执行过程

    问题描述:看到一篇文章 在$ORACLE_HOME/bin/sqlplus中可以查看到数据库命令的查询语句.可以直接编辑sqlplus文件,查到到我们平时标准系统命令的原脚本,但是自己进行编辑查看却是 ...

  6. NodeJs学习日报day7——简单中间件

    const express = require('express') const app = express() const mw = function(req, resp, next) { cons ...

  7. 简单的js提示框,仅仅用jq和css就可以

    首先定义一个盒子 1 .pop { 2 position: fixed; 3 top: 20%; 4 left: 50%; 5 transform: translate(-50%); 6 width: ...

  8. 论文解读(AutoSSL)《Automated Self-Supervised Learning for Graphs》

    论文信息 论文标题:Automated Self-Supervised Learning for Graphs论文作者:Wei Jin, Xiaorui Liu, Xiangyu Zhao, Yao ...

  9. 你能知道的或者不知道的shell变量都在这里

    第2章 shell变量讲解 2.1 shell中的变量讲解 2.1.1 什么是shell变量 变量的本质就是内存中的一块区域 变量名 位置 变量是脚本中经常会使用的内容信息 变量可以在脚本中直接使用 ...

  10. 【职场必备】6个免费良心网站&职场办公网站(收藏血赚)

    1.随机自动生成头像的网站:https://www.tool22.com/Tools-SJTX.html2.迅捷PDF转换器:https://app.xunjiepdf.com/3.全网音乐下载:① ...