20190824_jmeter正则提取tonken

 正则提取token时遇到的坑:图2的token采用了图一正则表达式一直提取不到token,原因图一返回体是以}结束的,而图二是以,结束的所以导致图二的token一直比配不到(嗯,我就是小白,所以才会遇到这样的问题^_^)

1、json返回体"token":"(.+?)"}  该写法能获取到以下返回的token,因为是以大括号结束,但是用于第二个返回的json就不行,因为不是大括号结束详情见2

 

 

2"accessToken":"(.+?)",  该正则表达式需这样写才能获取到

 

 

 

 

 

 

 

获取token:用正则表达式提取正文:关于正则提取表达式解释可参考:https://www.cnblogs.com/rechin/p/9134069.html

1、设置http默认值:测试计划-->添加-->THreads(User)-->jc@uitimate thread group-->配置元器件-->http请求默认值

http请求默认值(设置:默认协议、服务器名称或者ip

 

 

 

2、设置http信息头管理:测试计划-->添加-->THreads(User)-->jc@uitimate thread group-->配置元器件-->http信息头管理器

http信息头管理器(添加请求头类型、添加正则获取token

 

3、设置仅一次控制器:测试计划-->添加-->THreads(User)-->jc@uitimate thread group-->逻辑控制器-->仅一次控制器

仅一次控制器(不管循环数写几次,放到仅一次控制器里的请求都只跑一次,大部分用在登录,一般就登录一次就可以了,还有jdbc连接 也是连接一次就可以了,不用重复连接)

 

3.1设置http请求:测试计划-->添加-->THreads(User)-->jc@uitimate thread group-->逻辑控制器-->仅一次控制器-->右键添加-->sampler-->http请求

http请求(添加路径、参数等)

 

 

 

 

3.2、设置仅一次控制器:测试计划-->添加-->THreads(User)-->jc@uitimate thread group-->逻辑控制器-->仅一次控制器-->右键添加-->断言->响应断言

响应断言(主要用于断言接口返回的内容是否包含你预期的文本)

 

 

 

 

 

3.3、设置正则表达式:测试计划-->添加-->THreads(User)-->jc@uitimate thread group-->逻辑控制器-->仅一次控制器-->右键添加-->后置处理器->正则表达式提取器

正则表达式提取器(提取token主要用于下一个接口入参)

 

 

3.4、设置debug sampler:测试计划-->添加-->THreads(User)-->jc@uitimate thread group-->逻辑控制器-->仅一次控制器-->右键添加-->sampler->debug sampler

debug sampler(在此主要用于查看正则表达式调试的时候方便)

 

 

 

 

 

4、http请求(初始化页面查询):测试计划-->添加-->THreads(User)-->jc@uitimate thread group-->逻辑控制器-->仅一次控制器-->右键添加-->sampler-->http请求

http请求(初始化页面查询):(该接口获取正则表达token后才能进行查询)

 

 

 

 

5、查看结果树:测试计划-->右键添加-->THreads(User)--->jc@Uitimdate thread group-->右键添加-->监听器-->查看结果数(可查看到请求的内容和返回体)

 

 

 

6、查看聚合报告:测试计划-->右键添加-->THreads(User)--->jc@Uitimdate thread group-->右键添加-->监听器-->查看结果树(查看到请求的响应时间等等)

 

 

 

 

-

posted @ 2019-08-24 12:53  山路坎坷  阅读(288)  评论(0编辑  收藏  举报