在使用JMeter对接口进行测试时,会有一些变量值的变化,导致接口无法获取数据,比如token值或者session值,这时可以通过正则表达式提取器来获取接口返回token值,并作为一个参数传递给后面需要token值的接口中。

1、在JMeter中运行录制的接口脚本,并在查看结果树中选择接口,选择Text格式,选择响应数据-Response Body,查看接口的返回数据中是否有token值。

2、当查找到token值后,将该接口返回的数据复制到文本框中备用,注意复制时左侧要选择Text格式显示;选择返回token值的接口右击选择添加-后置处理器-正则表达式提取器。

3、将登陆接口返回的token值包括前一部分和后一部分一起复制到正则表达式提取器中的正则表达式输入框中,

4、在正则表达式提取器界面,正则表达式输入框中,将需要的token值使用(.*?)代替;前后的数据不动。

5、在正则表达式提取器界面,模块输入框中填写$1$;匹配数字填写1;引用名称随便填写作为给提取的值赋予的名称。

6、通过正则表达式提取器提取到token值后,需要添加一个组件来查看是否提取正确,点击线程组-添加-取样器(sampler)-调试取样器(Debug sampler);

7、将调试取样器移动到该返回token值接口中提取token正则表达式的下面。

8、点击运行查看结果树,就可以查看到是否提前到token值

9、在后续需要token值得接口中找到HTTP信息头管理器,将token对应的值换为提取的token值,${token}后运行。这就完成了token值得提前和传递。

另外知识点:该操作是利用正则表达式的有关知识,下面是使用正则表达式的用法。

关联
 后置处理器→正则表达式提取器
 引用名称
 根据指定规则找到的字符串存放到此名表示的参数中。
 正则表达式
 一个用 ( ) 表示一个模式; left(?)right : ? 表示遇到行中的第一个 right 就作为右
边界,然后不断向后寻找。
 模板
 $1$ 指第一个模板 ( 模式 ) , $2$ 第二个 ... ,此项必填;
 允许 $1$ $2$ 的写法。
 匹配数字
 找到的第某项, 1 为第 1 项, -1 为所有项, 0 是随机
 参数名 _matchNr (区分大小写)中存着找到几项,必写 -1
 参数名 _gi 表示找到的第 i 项, i 从 1 开始, g0 表示包含左右边界在内
的整个字符串
 g 是关键字
 有多个模板时,参数名 _i_gj 表示找到的第 i 行第 j 列数据
 正则表达式案例
 网页内容
<table>
<tr><td>hello</td><td>zhsan</td><td>123</td>
<tr><td>hello</td><td>lisi</td><td>5326</td>
</table>
 正则表达式: <tr><td>hello</td><td>(.*)</td><td>(.*)</td>
 【例 1 】模板: $1$ ,匹配数字: 1
test=zhsan , test_g=2 , test_g0=<tr><td>hello</td><td>zhsan</td><td>123</td>
test_g1=zhsan
test_g2=123
 【例 2 】模板: $1$ ,匹配数字: 2
test=lisi , test_g=2 , test_g0=<tr><td>hello</td><td>lisi</td><td>5326</td>
test_g1=lisi
test_g2=5326
 【例 3 】模板: $2$ ,匹配数字: 1
test=123 , test_g=2 , test_g0=<tr><td>hello</td><td>zhsan</td><td>123</td>
test_g1=zhsan
test_g2=123
 【例 4 】模板: $2$ ,匹配数字: 2
test=5326 , test_g=2 , test_g0=<tr><td>hello</td><td>lisi</td><td>5326</td>
test_g1=lisi
test_g2=5326
 【例 5 】模板: $1$ $2$ ,匹配数字: -1
test_1=zhsan 123
test_1_g=2 , test_1_g0=<tr><td>hello</td><td>zhsan</td><td>123</td> test_1_g1=zhsan (第 1 行第 1 列)
test_1_g2=123
test_2=lisi 5326
test_2_g=2 , test_2_g0=<tr><td>hello</td><td>lisi</td><td>5326</td>
test_2_g1=lisi
test_2_g2=5326
test_matchNr=2

在JMeter中提取token值并传递给其它接口使用相关推荐

  1. 测试学习-123-jmeter接口测试token值的传递与http信息头管理器

    前言: 在测试工作中,我们经常会遇到,在执行某项业务之前,必须要先登录,只有登录后才能执行某项业务工作的场景,比如:你必须登录后才能执行查询操作,你必须登录后才能执行新增操作,否则就会报错没有权限.这 ...

  2. JMeter中3种参数值的传递

    小伙伴们在使用JMeter的过程中,肯定会遇到参数值传递的问题,下面来和大家总结下,在使用JMeter做压力测试的时候,常见的3种参数值的传递是怎样的. (一)从CSV文件读取要批量输入的变量 假如我 ...

  3. python token发送请求_python发送requests请求时,使用登录的token值,作为下一个接口的请求头信息...

    python发送requests请求时,使用登录的token值,作为下一个接口的请求头信息 登录接口代码: 在这里插入图片描述 登陆后返回的结果是: 在这里插入图片描述 新增渠道接口: 新增渠道接口需 ...

  4. 用泛型方法Java从实体中提取属性值,以及在泛型方法中的使用

    public <T> T getFieldValue(Object target, String fieldName, Class<T> typeName){try {Obje ...

  5. 生存分析-从survdiff函数中提取P值

    1.用survdiff()函数建立生存分析模型 surv_diff <- survdiff(Surv(data1$生存时间, data1$结局) ~ data1$group, data = da ...

  6. python字典返回键值对_从Python字典对象中提取键值对的子集?

    好吧,这件事让我困扰了几次,所以谢谢你Jayesh的提问. 上面的答案看起来像任何一个好的解决方案,但如果你在你的代码中使用这个,那么包装功能恕我直言是有意义的. 此外,这里有两种可能的用例:一种是您 ...

  7. xlsx表格怎么筛选重复数据_excel表格如何筛选重复数据 在Excel表格的两列数据中提取不重复值的四种方法...

    excel表格如何筛选重复数据 在Excel表格的两列数据中提取不重复值的四种方法,最近到了季度汇报的时候,掌握一手excel技能在此刻显得多么重要,为了是你的excel看起来更高大上,今天教大家设置 ...

  8. 像素深度是什么?在arcgis中如何提取像素值以及经纬度(或x、y坐标)?

    像素深度是什么? 像素深度是指存储每个像素所用的位数,RGB三个通道,一个通道存储8位,则三个通道共存储24位. 像素位深度决定了彩色图像的每个像素可能有的颜色数,或者确定灰度图像的每个像素可能有的灰 ...

  9. 多种方法实现从Excel表格的两列数据中提取不重复(唯一)值

    在Excel表格中有两列数据如何提取不重复值,即从两列中提取不重复(唯一)值,本文指将两列中所有相同行的两个单元格数据连接后去掉重复项.大家可以看到在下图的A.B两列中,有部分行两个单元格中的数据相同 ...

最新文章

  1. 晒晒一个多月的seo小成就
  2. C++_系列自学课程_第_9_课_C语言风格字符串_《C++ Primer 第四版》
  3. Linux日常命令使用记录
  4. Android 高级Drawable资源---复合Drawable----变换Drawable---RotateDrawable用法实例
  5. [css] padding会影响到元素的大小,那不想让它影响到元素的宽度应该怎么办?
  6. v-if v-show区别(面试题)
  7. iphone换android手机铃声,为什么大多数苹果手机用户只使用默认铃声,从不更换?原因很现实...
  8. 判断API接口是否支持跨域
  9. 简述python模块
  10. cocos2d_x之AnySDK接入流程
  11. 看了第一句,有人就哭了?
  12. 《豪杰音乐工作室》技巧拾遗
  13. STMCubeMX+Proteus仿真DHT11(LCD1602显示)
  14. Layui+ssm修改
  15. SQL:OUTER JOIN用法详解
  16. LVGL - 在STM32上的移植
  17. Spring Boot技术栈博客企业前后端
  18. 如何通俗地理解合同矩阵
  19. 华大HC32F460的BOOT和IAP说明
  20. ksy是谁_MOON,sky他们是谁啊?

热门文章

  1. 解决uniapp微信小程序v-if(v-else)闪屏现象
  2. 获取android模拟器的IP地址,Android模拟器的ip获取以及模拟器之间socket通讯
  3. 计算机二级及宝哪个好,计算机等级考试二级哪个好考
  4. win10 安装运行angular5.x
  5. 牛客小白月赛6 - A鲲
  6. input失去焦点验证格式_表单验证之失去焦点校验
  7. 登录+上传头像+瀑布流 (OKhttp+recycleview)
  8. 【离线文本转语音文件】java spring boot jacob实现文字转语音文件,离线文本转化语音,中英文生成语音,文字朗读,中文生成声音,文字生成声音文件,文字转语音文件,文字变声音。
  9. SV绿皮书学习_day1(数据类型)
  10. dtu数据集 测试集介绍