Jmeter参数化之正则表达式提取参数

简介: Jmeter参数化之正则表达式提取参数

response-1.png

Jmeter接口测试中参数化-正则表达式的应用。

  • 场景介绍

两个接口都会传递同一个参数,但是第一个接口是随机的,第二个接口的参数就是上一接口的随机后的值。

举例:

A接口和B接口都是GET请求;A接口传递的参数OrderID是随机的(在OrderID.txt文件中随机读取的);

在B接口中会用到A接口中的OrderID参数的值,B接口中的OrderIds=A接口的OrderID(但是在B接口中OrderIds就不是随机的了,是和上一接口相关联的);

A接口:

948e5245-dced-4861-92e2-472d29f1924f.png

B接口:

image.png

想要解决这种办法,可以使用正则表达式:

  • 正则表达式提取参数

1. 可以使用Jmeter的后置处理器-正则表达式提取器;

此处需要提取的是A接口的URL中的数据,因此在选择检查的字段时就选择URL;写入需要提取字段的正则表达式以及引用名称(引用名称会在B接口中用到);模板的意思是使用第几个正则表达式(具体我也不太懂);一般选择$1$,匹配数字是要取第几个值作为需要引用的值;0代表随机,1代表第一个,负数代表提取全部符合表达式的数据。

image.png

image.png

2. 验证正则表达式提取是否正确

如果想要检验正则表达式书写是否正确;可以使用在线政策表达式测试工具,

image.png

或者在Jmeter中添加-Debug-Sampler;运行后在响应数据就可以看到整个线程组的参数以及值

jmeter_debug.png (674×189).png

20191115115253-1.png (1055×324).png

result_tree.png (687×706).png

3.引入提取的参数

最后在B接口中引用这个参数的值:${在A接口的正则中写的引用名称},此处为${OrderID}

image.png

4.查看结果

运行后就可以看到A接口随机取值,B接口使用A接口的值:

image.png

20191115115253-1.png (1055×324).png

本博客中所有的文章都是自己在实际运用中总结的。如有不正确的地方请指出,感谢!如果觉得文章还不错,就给我点个赞吧!

相关文章
|
6月前
|
前端开发 数据安全/隐私保护
vue3表单参数校验+正则表达式
vue3表单参数校验+正则表达式
|
6月前
|
测试技术 Linux Apache
掌握JMeter参数化技巧:通过CSV文件实现高效登录压测
在本文中,我们将探讨如何使用 Apache JMeter 通过 CSV 数据文件进行登录性能测试参数化。首先创建一个包含用户名和密码的 `users.csv` 文件。接着在 JMeter 中,创建测试计划,添加线程组,配置 CSV 数据集,设置文件路径、编码及变量名。然后,创建 HTTP 请求并添加参数,使用 `${username}` 和 `${password}` 引用 CSV 中的数据。最后,添加监听器如查看结果树和聚合报告以分析测试结果。通过这种方法,能更有效地模拟真实用户行为,提高测试覆盖率,助力性能瓶颈的发现和优化。
34.从入门到精通:Python3 正则表达式检索和替换 repl 参数是一个函数 正则表达式对象 正则表达式修饰符 - 可选标志 正则表达式模式* 正则表达式实例
34.从入门到精通:Python3 正则表达式检索和替换 repl 参数是一个函数 正则表达式对象 正则表达式修饰符 - 可选标志 正则表达式模式* 正则表达式实例
|
JSON 数据格式
jmeter正则表达式提取器的用法和正则
jmeter正则表达式提取器的用法和正则
361 0