Jmeter接口测试中参数化-正则表达式的应用。
- 场景介绍
两个接口都会传递同一个参数,但是第一个接口是随机的,第二个接口的参数就是上一接口的随机后的值。
举例:
A接口和B接口都是GET请求;A接口传递的参数OrderID是随机的(在OrderID.txt文件中随机读取的);
在B接口中会用到A接口中的OrderID参数的值,B接口中的OrderIds=A接口的OrderID(但是在B接口中OrderIds就不是随机的了,是和上一接口相关联的);
A接口:
B接口:
想要解决这种办法,可以使用正则表达式:
- 正则表达式提取参数
1. 可以使用Jmeter的后置处理器-正则表达式提取器;
此处需要提取的是A接口的URL中的数据,因此在选择检查的字段时就选择URL;写入需要提取字段的正则表达式以及引用名称(引用名称会在B接口中用到);模板的意思是使用第几个正则表达式(具体我也不太懂);一般选择$1$,匹配数字是要取第几个值作为需要引用的值;0代表随机,1代表第一个,负数代表提取全部符合表达式的数据。
2. 验证正则表达式提取是否正确
如果想要检验正则表达式书写是否正确;可以使用在线政策表达式测试工具,
或者在Jmeter中添加-Debug-Sampler;运行后在响应数据就可以看到整个线程组的参数以及值
3.引入提取的参数
最后在B接口中引用这个参数的值:${在A接口的正则中写的引用名称},此处为${OrderID}
4.查看结果
运行后就可以看到A接口随机取值,B接口使用A接口的值:
本博客中所有的文章都是自己在实际运用中总结的。如有不正确的地方请指出,感谢!如果觉得文章还不错,就给我点个赞吧!