Jmeter关联-正则表达式提取器

今天研发同事提供了一个验证token的接口,要验证token的正确性,现在将整个过程做如下记录:

场景:验证token的正确性

原理:首先用户登录成功后,会在Response headers中返回一个token值,以及在响应信息中,返回用户id。验证token时,需要获取这个token值以及用户id作为参数去验证token的正确性,如果正确,则返回TRUE;反之,则返回FALSE。

分析:如果要验证token的正确性,那么第一步就是在登录成功后,去拿对应的值,并把这个值作为参数,放到token的接口中进行传参。

实施如下:

1.接口:

验证token正确性

地址:http://ip:port/user-center/usertoken/validatetoken

方式:post

参数:*userid:用户id ;*token:当前的token值

用户登录

地址:http://ip:port/user-center/user/json/login

方式:post

参数:*LOGIN:登录名      ;*PASSWORD:密码,通过md5加密之后的密码

2.实施过程:

第一步:添加第一个http请求:用户登录(此处不多讲)

Jmeter关联-正则表达式提取器_第1张图片

运行结果如下(在结果中我圈出了在验证token中需要的参数值):

Jmeter关联-正则表达式提取器_第2张图片

第二步:使用“正则表达式提取器”获取上面的两个值

Jmeter关联-正则表达式提取器_第3张图片
Jmeter关联-正则表达式提取器_第4张图片
Jmeter关联-正则表达式提取器_第5张图片

第三步:添加第二个http请求:验证token

Jmeter关联-正则表达式提取器_第6张图片

备注:此处的参数化中的值,要与“第二步中的引用名称保持一致”

第四步:运行,并查看结果(大家可以比较一下,此处获取的值与“第一步运行结果”的值是否一致,如果一致,则说明获取成功,如果不一致,则说明在配置中存在问题)

Jmeter关联-正则表达式提取器_第7张图片

3.问题

总结一下在此次实施过程遇到的问题:

问题一:参数化后,获取token值有误,不能取到值

原因:1,“要检查的响应字段”选错,应该选择“信息头(响应信息头)”

2,正则表达式有误,没有加上结束的判断,更改后为“TOKEN: (.+?)\s\S”或者“TOKEN: (.+?)\n”(因为有换行)

4.相关知识

正则

Jmeter关联-正则表达式提取器_第8张图片

你可能感兴趣的:(Jmeter关联-正则表达式提取器)