ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

JMeter 跨线程传递参数

2022-06-30 12:00:16  阅读:136  来源: 互联网

标签:csv 提取 请求 获取 token 参数 线程 JMeter


在接口测试过程中,往往一个请求需要另一个请求的响应信息,比如进行一些业务操作,需要依赖获取token请求的token值,而这两个请求分别位于不同的线程组中,该如何处理呢?

方法一:

通过正则表达式或者Json提取器获取响应信息,获取token请求的响应信息:

如上图,在获取token请求下,添加Json提取器,提取响应信息的token值,变量名为token

将正则表达式或者Json提取器得到的值,设置为全局变量。利用函数助手中的setProperty函数,属性名称为全局变量名称,Value of property为上一步Json提取器token值,KaTeX parse error: Expected group after '_' at position 2: {_̲_setProperty(to…{token},)}

在获取token请求下,添加–后置处理器 – BeanShell PostProcessor,并将表达式粘贴至脚本框里,此时token即为全局变量

如何跨线程组引用全局变量?使用函数助手中的P函数,来获取属性值,从而实现跨线程组,参数值传递;

将 P 函数复制的字符串 复制到 http请求头 里

注意点:

这种引用关系存在执行的先后顺序,需要在测试计划中设置执行完一个之后,再执行另一个,否则会由于不同线程之间执行时间差,导致参数无法获取到

方法 2

JMeter-BeanShell写数据到CSV文件,在通过 csv文件 读 数据

BeanShell后置处理器的其中一个用法是把返回数据写入到文件中

需求 1、调用登录接口,获取token值 2、将token值保存到一个文件里token

添加一个登录http请求,填写登录接口地址,以及参数,参数值需要参数化,变量名为account,password

添加后置处理器-JSON提取器,提取登录返回的data值,变量名为token

添加后置处理器-BeanShell PostProcessor,写入以下代码

//FileWriter fstream = new FileWriter("E:\\output.csv",true); //写入数据到文件
//BufferedWriter out = new BufferedWriter(fstream);
////","体现在csv文档中就是向右移一个单元格
//out.write(vars.get("token")+","); //获取userNamer,password,token的值
////换行
//out.write(System.getProperty("line.separator"));
//out.close();
//fstream.close();

在 配置下 csv文件

最后一步在你要用的地方 调用

标签:csv,提取,请求,获取,token,参数,线程,JMeter
来源: https://www.cnblogs.com/yimeng123/p/16426372.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有