我们在做接口测试时,总会有需要拿到一些凭证以供其他接口的使用,那么这里就需要用到正则表达式来提取接口的出参
1、打开cmd,输入jmeter,进入到工具中:
2、先做我们要提取出参的接口:
3、做好这些,接下来我们来添加一个察看结果树
右击测试计划----监听器-----察看结果树
4、点击运行,并 去查看接口的运行结果
5、使用正则表达式提取我们要使用的接口出参
<1> 首先,要去想要提取的接口添加一个正则表达式
右击HTTP请求----添加----后置处理器----正则表达式提取器
<2>我们先回到察看结果树中,将察看结果树中的内容展示改为RegExp Tester来进行正则表达式验证
<3> 在切换察看结果树内容后,中间会出现一个空白输入框,这里我们要进行正则表达式的提取,提取userId
之后就要将复制过来的值用正则表达式进行替换:
.:匹配任何字符。
+:一次或多次。
?:不要太贪婪,在找到第一个匹配项后停止。
如果没有?,在找到第一个">后,会继续寻找,直到最后一个">,这么做很可能不是测试人员期望的。
在jmeter里,(.*?)足够匹配到任何我们想要匹配的了
<4>将可以取到值的正则表达式公式套用
我这里添加两个正则表达式,因为我要做的接口需要拿到两个登录的凭证才可以,操作如上,都是一样的
提取sessionId
<5>添加要使用userId和sessionId的修改昵称接口
可以看到,这里并没有使用userId和sessionId,那么就还需要创建一个HTTP消息头管理器
右击线程组------添加----配置原件-----HTTP信息头管理器
<6>将之前用正则提取到的userId和sessionId填写在这里
点击添加,添加两组数据
<7> 之后再运行需要用到它的接口,并查看结果
信息头管理器需要注意的是,如果你把它放到了测试计划中,那就意味着整个计划都会享受得到你所提取到的值,也就是说所有的接口都会多出HTTP信息头管理器的参数,有的接口是没有这个参数的,有的是需要,那么可以把它放到需要用到它的接口就可以了
这样就保证了其他接口的稳定性,防止出现意料之外的错
jmeter的正则表达式以及HTTP信息头管理器就讲到这里
如果有什么不懂的,请在博客下方留言
小友定会尽全力回复您