jmeter 正则获取多个返回token至本地文件,并跨线程组调用
1、打开jmeter,创建setup Thread Group
对于setup Thread Group和tearDown Thread Group来说,从字面意思上来看就是安装线程组和卸载线程组,所以可以理解为对于线程组的初始化和完成时处理,setup Thread Group是所有我们真正开始线程并发之前的准备工作,必须是在线程组开始之前完成的并且拥有自己独立的线程设置。
2、添加HTTP信息投管理工具
将接口需要的头信息放在这里
3、添加接口信息:setup Thread Group-->add-->sampler-->http request
4、因要从本地文件中获取多个登录账号密码实现多线程测试,所以这里使用CSV数据文件:
5、只用正则表达式,提取登录接口返回的token值,以便后续接口使用:
正则使用说明:
引用名称(Reference Name):Jmeter变量的名称,存储提取的结果;即下个请求需要引用的值、字段、变量名。
引用方法:引用方法:${引用名称}。
正则表达式(Regular Expression):使用正则表达式解析响应结果,“()”表示提取字符串中的部分值,请不要使用“||”,除非你本身需要匹配这个字符。
模板(Template):从匹配的结果中创建一个字符串,这是通过正则表达式匹配出来的一组值,意为使用提取到的第几个值(可能有多个值匹配,因此使用模板);从1开始匹配,以此类推。 参数可以在取值模板组合使用,例如:“1-2”作为模板得到的值是使用“-”连接的第一个待匹配内容与第二个待匹配内容组合而成的字符串。
匹配数字(Match No):正则表达式匹配数据的结果可以看做一个数组,表示如何取值:0代表随机取值,正数n则表示取第n个值(比如1代表取第一个值),负数则表示提取所有符合条件的值。
缺省值:匹配失败时候的默认值;通常用于后续的逻辑判断,一般通常为特定含义的英文大写组合,比如:ERROR。
6、添加后置处理器JSR223 PostProcessor,将正则获取到的token数据写到本地文件:
7、添加新的线程组,该线程组中添加的是需要做压测的接口及相关配置:
获取本地文件中的token值依旧使用CSV文件操作。
8、注意事项
获取token时,需要把其他线程组禁用,只开启获取token的接口。
当文件中有token数据时,再讲获取token的接口禁用,开启其他需要调用token的线程组。