jmeter正则提取器提取指定位置的字符串
1、需求:提取登录后的凭证ticket供系统其他接口调用
2、登录接口返回的格式如下:
{ "ret_code":0, "ret_msg":"login success", "data":"http://IP:port/authredirect?ticket=eyJhbGciOiJIUzUxMiJ9.eyJzY29wZXMiOjIxNzksImlzcyI6ImZ1cWluZ0B0cmF3ZS5jbiIsImlhdCI6MTU2NTU5OTU0OH0.RT6Ms3aTU8fcqKKAwZeaOXc&&appId=1" }
3、添加正则表达式提取器:
参数说明如下:
参数 |
解释 |
引用名称 |
匹配出来的信息通过此名称进行引用,引用格式: ${引用名称},如${u_name} |
正则表达式 |
使用此串进行信息匹配 |
模板 |
指定运用哪个模板,模板自动编号,$1$指第一个模板,$2$指第二个模板,依次类推,$0$指全文匹配 |
匹配数字(0代表随机) |
0代表随机,负数取所有值,不同模板可能会匹配一组值,那么可以用匹配数字来确定这一组值中的哪一个 |
缺省值 |
如果没有匹配到可以指定一个默认值 |
正则表达式语法:
符号 |
解释 |
() |
括起来的部分就是要提取的 |
. |
匹配任何字符串 |
* |
表示任意个字符 |
+ |
一次或多次 |
? |
不要太贪婪,在找到第一个匹配项后停止 |
4、 线程组内其他接口调用ticket,直接用 ${ticket} 即可
5、扩展下,还是登录接口返回的数据,我们提取data,并且截取ticket以及appid的内容
线程组内其他接口调用ticket的方法:${data_g2},调用appId的方法:${data_g3}
我们看下脚本运行后是正常调用后的
作者:simplesally
出处:https://www.cnblogs.com/simple1025/
说明:本文版权归作者和博客园共有,欢迎转载和提出建议,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。