Jmeter跨线程组调用token

终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为同一个线程组下的请求是同时发送的),只需要发送一次登录请求,请求B直接用登录请求的参数即可,直到登录接口的参数失效了,需再次发送一次登录接口,又可以多次使用其参数,下面举例子:

1.登录接口中利用 Json Path Extractor 获取到登录接口的响应参数,(怎么获取上一节讲过)

响应结果是如下

2.在登录接口下添加 BeanShell PostProcessor ,并写入脚本如下:

3.在接口B下添加BeanShell PreProcessor,并编写脚本

4.在需要用到登录接口参数的地方,${  }  引用变量即可

以上用Json Path Extractor 的地方均可以用正则表达式来完成,由于本人对于正则表达式理解起来实在有点费劲,所以就在jmeter下安装的插件

来源: http://write.blog.csdn.net/postedit/72873181

方法二:

1.登录接口中利用 Json Path Extractor 获取到登录接口的响应参数,(怎么获取上一节讲过)

2.在登录接口下添加 BeanShell PostProcessor ,并写入脚本如下:

String X-Timestamp=bsh.args[0];

print (X-Timestamp);

${__setProperty(newstamp,${X-Timestamp},)};

String X-Signature=bsh.args[1];

print (X-Signature);

${__setProperty(newsig,${X-Signature},)};

String X-Nonce=bsh.args[2];

print (X-Nonce);

${__setProperty(newnonce,${X-Nonce},)};

此种是设置全局变量的形式

3.在接口B中直接引用全局变量即可   ${__P(newstamp,)}

如此,接口B即可能获取到跨线程组登录接口的响应参数

==========================================

对比以上两种跨线程组传递参数的方法方法二更方便些,设置为全局变量后,其他只要用到登录接口参数的线程组,均可以直接引用,无需像方法一 一样添加Beanshell PreProcessor

原文地址:https://www.cnblogs.com/a00ium/p/10360548.html

时间: 2024-10-10 11:34:09

Jmeter跨线程组调用token的相关文章

jmeter 跨线程组调用变量

由于有些特殊需求需要在线程组之间调用变量,这里就总结一下几种常用方法(只是个人会的). 在使用时要注意线程组的执行顺序,需要勾选测试计划里的独立运行每个线程组按钮.还需要注意设置全局变量的后置处理器应该是在第一个线程组(即提取局部变量的那个线程组). 一.beanshell自带方法 props.put("变量名","值") 全局变量赋值 props.get("变量名") 获取全局变量 二.jmeter自带函数__setProperty ${__s

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

终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为同一个线程组下的请求是同时发送的),只需要发送一次登录请求,请求B直接用登录请求的参数即可,直到登录接口的参数失效了,需再次发送一次登录接口,又可以多次使用其参数,下面举例子: 1.登录接口中利用 Json Path Extractor 获取到登录接口的响应参数,(怎么获取上一节讲过) 终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为

Jmeter跨线程组传值

Jmeter是一个工具,一个很好用的工具,对于它我们用来做压力测试后,还可以用来做自动化测试,但是作自动化的时候我们 需要考虑到流程的流转和顺序排版,那么此时我们该怎么做? 对于模块的分割我们或许可以用控制器来分割,但是有时为了将某个模块独立出去,我又需要用线程组来分割,但是线程组与 线程组之间有些参数的数值需要传递,该怎么办? PS:Jmeter的线程组之间是独立的 已登录接口返回的token值为例,在这里我用了一个后置器和一个前置器结合使用,如下图: 1.1.登陆后先获取到token值,(用

Jmeter跨线程组传值实例

转载:http://www.51testing.com/html/01/n-3725501.html???Jmeter是一个工具,一个很好用的工具,对于它我们用来做压力测试后,还可以用来做自动化测试,但是作自动化的时候我们 需要考虑到流程的流转和顺序排版,那么此时我们该怎么做? 对于模块的分割我们或许可以用控制器来分割,但是有时为了将某个模块独立出去,我又需要用线程组来分割,但是线程组与 线程组之间有些参数的数值需要传递,该怎么办? PS:Jmeter的线程组之间是独立的 已登录接口返回的tok

Jmeter跨线程组传递变量

跨线程组传递变量只能通过属性来传递,并且属性只能传字符串变量. 如果想传数组变量,需要先将数组转化为字符串,在下一个线程组再转化为数组. [注意]在使用时要注意线程组的执行顺序.需要勾选测试计划里的独立运行每个线程组按钮. 一.beanshell自带方法 props.put("变量名","值") 全局变量赋值 props.get("变量名") 获取全局变量 这里简单介绍一个例子,从线程组1里传递给线程组2 字符串:hao123. 1)使用正则提取

jmeter 正则获取多个返回token至本地文件,并跨线程组调用

1.打开jmeter,创建setup Thread Group对于setup Thread Group和tearDown Thread Group来说,从字面意思上来看就是安装线程组和卸载线程组,所以可以理解为对于线程组的初始化和完成时处理,setup Thread Group是所有我们真正开始线程并发之前的准备工作,必须是在线程组开始之前完成的并且拥有自己独立的线程设置. 2.添加HTTP信息投管理工具将接口需要的头信息放在这里 3.添加接口信息:setup Thread Group-->ad

jmeter 跨线程组实现变量引用

1.假设线程组1,提取了一个token: 想要线程组2,每个请求引用在头或者请求体, 实现方式,线程组1中使用bean shell sample ${__setProperty(newtoken,${token},true)}; 线程组2调用使用: ${__P(newtoken,)} 请求参数查看name: 原文地址:https://www.cnblogs.com/SunshineKimi/p/12508220.html

[存]Jmeter 如何实现跨线程组传递参数

此文来源与组里小白的分享~ Jmeter 如何实现跨线程组传递参数(以传递token为例)   1.首先选择一个登陆接口(线程组1),添加正则表达式提取器提取token,接着再添加一个后置处理器BeanShell PostProcessor 2.BeanShell PostProcessor中参数项输入引用变量${token};脚本项输入动作语句${__setProperty(token1,${token},)}; 3.在线程组2添加一个前置处理器BeanShell PreProcessor 4

关于jmeter中跨线程组?变量值传递的方法

关于jmeter中跨线程组 变量值传递的方法 找了好久,终于找到方法了,赶紧整理下来. 1.在线程组1 中使用__setProperty函数设置jmeter属性值(此值为全局变量值),将所需变量值如${oldtoken} 设置为jmeter属性值,即newtoken,示例: 方法:${__setProperty(newtoken,${oldtoken},)} 2.在线程组2中使用_p函数来调用jmeter属性,获取属性值,从而实现跨线程组,参数值传递. 方法:${__P(newtoken,)}