正则表达式
原创大约 2 分钟
识别username字段
先用JMeter录制
the-internet的登录过程,结果如下图。

现在想利用正则表达式来提取页面中输入的用户名
和密码
。
这就需要用到Regular Expression Extractor了,这是一种通过Post-Processors(后置处理器)来提取数据的方式。

- 首先,在Regular Expression Extractor中给
Name of created variable
定义变量username
。

- 然后,将与变量相关的正则表达式内容拷贝到
Regular Expression
中去。


- 再将使用正则表达式的数据替换成变量。

修改完成之后执行测试,结果显示执行正常。
为了更方便地观察输出,可以给Thread Group添加一个Debug Sampler。

再次执行测试,结果显示如下。

从Debug Sampler的输出可以看到,定义的正则表达式变量确实起作用了。
识别password字段
如果想获取password
字段的值,就要稍微改一下。
- 首先,将Regular Expression Extractor中的
Regular Expression
改为Enter <em>(.+?)</em> for the username and <em>(.+?)</em> for the password
。

然后运行测试,观察Debug Sampler的输出。

可以看到在输出的数值中,username_g1=tomsmith
和username_g2=SuperSecretPassword!
刚好就是需要的用户名和密码。
所以,可以将认证中的变量名改为username_g1
和username_g2
(username
也可以不改)。

再次执行测试后,显示登录成功。
这种${变量名}_g1
、${变量名}_g2
、${变量名}_g3
......${变量名}_gn
的方式可以扩展到有多个正则表达式的情况。
感谢支持
更多内容,请移步《超级个体》。