美文网首页Jmeter
02 - Jmeter4.x正则表达式以及跨线程使用变量

02 - Jmeter4.x正则表达式以及跨线程使用变量

作者: Tourble | 来源:发表于2019-11-08 17:35 被阅读0次
话不多说 直接开撸
.01png.png

上图可以看出,有两个请求,其中第二个请求返回了登录超时,结合第一个登录接口来看,这个是需要header请求内容的也就是 token;当然设置一个token又怎么可能难得倒我们,无非就是在HTTP Header Manager中添加一个键值对而已;但是同学们,有没有想过如果项目中所有的接口都需要,你就粘贴复制一百次吗?如果另一个线程组需要,你就重新配置一次登录接口吗?当然我们肯定不会这么做,那么下面咱们就根据这两个问号来解答这个问题!!!


单个线程组内变量的调用
右键点击"user_login"  →  add  →  Post Processors(后置处理器)  →  Regular Expression Extractior(正则表达式提取器) 02.jpg
  • Name of created variable: 用户引用变量名
  • Regular Expression:正则表达式
  • Temolate:模板 $1$ 表示取n次
  • Match No(0 for Random) 0表示随机,1表示取第一个值
  • Default Value:缺省值,没有时用此值

以取值token为例

03.jpg 然后我们在下一个请求中的HTTP Header Manager 中添加一个键值对,引用时格式为${token},此时我们再看就可以了; 04.png
跨线程组调用变量
下图可以看出,咱们又增加了一个activity_share的接口,但是因为我们没有携带token的原因,又登录超时了,而此时我们就不能使用 Regular Expression 的方法来解决此问题了,此时我们又需要两个新的组件; 05.png
  • 右键点击"user_login"  →  add  →  Post Processors  →  BeanShell PostProcessor;
  • 右键点击"activity_share"  →  add  →  Pre Processors(前置处理器)  →  BeanShell PreProcessor; 如下图 06.jpg

    然后咱们在 Post Processors 的script处输入

// 获取token值
String token =  vars.get("token");
// 把token值上传
props.put("token", token);

既然有了上传肯定有人接收,最后在 Pre Processors 的 script 处输入

// 接收 token
String token = props.get("token");

一定注意引用格式${__P(token,)}

相关文章

  • 02 - Jmeter4.x正则表达式以及跨线程使用变量

    话不多说 直接开撸 上图可以看出,有两个请求,其中第二个请求返回了登录超时,结合第一个登录接口来看,这个是需要he...

  • jmeter设置全局变量

    json提取器和正则表达式提取器的提取值只能在同一个线程组调用,跨线程组调用时需要设置该变量为全局变量。jmete...

  • jmetet问题总结

    1.跨线程变量

  • Hystrix系列之ThreadLocal跨线程传递问题

    在Hystrix系列之前的文章中提到过,如果使用线程池模式,那么存在一个ThreadLocal变量跨线程传递的问题...

  • TLS(线程本地存储)

    TLS是一种在多线程时使用的技术,它可以使你的全局变量、静态变量以及局部静态、静态成员变量成为线程独立的变量,即每...

  • Jmeter中不同线程组的参数传递

    Jmeter跨线程组参数传递 引言:Jmeter中再同一个线程组中,参数传递可以使用 ${变量名} 的方式去传递参...

  • jmeter组件分类及执行顺序

    point jmeter中组件执行顺序: 1、配置元件:相当于Java中的常量和变量定义,可以跨线程组使用。HTT...

  • Nginx配置rewrite重定向跳转

    1.功能:使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向。 2.位置...

  • 初识Volatile关键字

    序言:*牢骚* 相信大家也了解过OKhttp以及AsyncTask源码,他们在线程池以及一些共享变量的操作都使用...

  • 8.8 ThreadLocal

    简介 概念:1.使用ThreadLocal维护变量会为每个使用该变量的线程提供独立的变量副本,每个线程独立改变副本...

网友评论

    本文标题:02 - Jmeter4.x正则表达式以及跨线程使用变量

    本文链接:https://www.haomeiwen.com/subject/grrwbctx.html