jmeter正则表达式的示例分析

小编给大家分享一下jmeter正则表达式的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

使用jmeter时经常有这样的情况:一个完整的操作流程,需先完成某个操作,获得某个值或数据信息,然后才能进行下一步的操作(也就是常说的关联/将上一个请求的响应结果作为下一个请求的参数); 在jmeter中,利用正则表达式提取器来轻松帮助我们完成这一动作。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。学习正则表达式最好就是从实例下手。

实例1:从JDBC查询数据,并提取查询结果

1、新建线程组并把相关jar放到/lib或/lib/ext目录、添加JDBC Connection Configuration等,此处省略,直接附上截图

jmeter正则表达式的示例分析

jmeter正则表达式的示例分析

jmeter正则表达式的示例分析

2、添加JDBC Request,Query Type=Select Statement,Varibale name=MySQL。建议在数据库工具执行一次后,在后面察看结果树时做对比,检查是否提取正确。

jmeter正则表达式的示例分析

3、在JDBC Request下创建正则表达式提取器,在JDBC Request元件下右击【添加】-【后置处理器】-【正则表达式提取器】即可。本例子查询两列,所以需创建两个正则表达式提取器

jmeter正则表达式的示例分析

4、配置提取第一列字段,

Apply to通常是Main sample alt="jmeter正则表达式的示例分析">

5、配置提取第二列字段

Apply to填Main sample alt="jmeter正则表达式的示例分析">

6、检查提取器提取结果,有两种方法校验结果。第一种。另外一个,就是不使用请求,。

方法1:添加Debug PostProcessor也可打印所有变量的值,添加即可,然后运行结果jmeter正则表达式的示例分析

jmeter正则表达式的示例分析

,在察看结果树可以看到提取变量的值是否正确

jmeter正则表达式的示例分析

jmeter正则表达式的示例分析

方法2:引用到下一个请求

jmeter正则表达式的示例分析

实例2:从登录响应请求头提取JSESSIONID

1、继续在实例1的基础上,描述实例2。添加HTTP请求,用于登录

jmeter正则表达式的示例分析

运行一次,在察看结果树看到取样器结果有Set-Cookie: JSESSIONID。

jmeter正则表达式的示例分析

2、在登录HTTP请求元件下右击【添加】-【后置处理器】-【正则表达式提取器】即可。正则表达式填写:(?<=Set-Cookie: JSESSIONID=)\w+\b

jmeter正则表达式的示例分析

3、在线程组内部站点下创建HTTP Cookie管理器,并引用正则表达式提取的引用变量JSESSIONIDw。格式为${JSESSIONIDw}

jmeter正则表达式的示例分析

4、运行一次,在察看结果树其他需要登录才能请求的请求检查

jmeter正则表达式的示例分析

实例3(简单):提取单个字符串

例匹配Web页面的如下部分:name="file" 值=https://www.yisu.com/zixun/"固定">并提取固定。一个合适的正则表达式:name="文件" value=" (. + ?)”>。
():封装了待返回的匹配字符串。
:匹配任何单个字符串。
+:一次或多次。
?:不要太贪婪,在找到第一个匹配项后停止。

实例4(简单):提取多个字符串

jmeter正则表达式的示例分析