jmeter中,接口自动化的关键在于参数关联。好比须要登陆的接口,如何调用登陆口令?一个增删改查的闭环,如何将接口参数上下传递?下面就以实际的例子来仔细说一说正则表达式
1:登陆接口数组
这里有一个实际的登陆接口,在响应中返回了一串token,以下图测试
那么咱们在接下来的接口-经验库列表中,就必须带入这一串token,不然响应报错,以下图所示
spa
如何获取登陆的口令呢?这里详细说明一下,如图所示
3d
在接下来的接口中能够将获取的token做为变量调用,变量名为${center-token},以下图
blog
观察请求头,发现传入了一串token,而且响应结果正确token
自此,一个完整的登陆关联就结束了。后续接口直接调用该token就能够。咱们接下来继续说其它的参数关联接口
好比一个增删改查流程,想要作自动化检验就必须造成一个闭环,那么删除-修改-查看就必须调用同一个必填参数,例如惟一性的id。下面仍是实例演示 测试开发交流群 317765580开发
我先新增一个经验库,能够看到结果中返回了一个id,我在后续接口中都必须调用此惟一性的id字符串
接下来写一个正则将其取出,注意与以前token正则的不一样之处
后续接口能够调用此参数,并正确响应
好了,一个完整的登陆-查看-删除的流程到这里就能够结束了
引用名称:定义一个变量,供后续请求引用
通常(.+?)和(.*?)可以知足咱们80%的使用场景。因此,通常的正则表达式均可以写成下面这2种
左边界(.+?)右边界
左边界(.*?)右边界
left对应匹配目标的起始字符
right对应匹配目标的结束字符
正则表达式:利用正则将须要的数据提取出来
() 括起来的部分就是须要提取的,对于你要提的内容须要用小括号括起来
. 点号表示匹配任何字符串
+ 一次或屡次
? 在找到第一个匹配项后中止
模板:用$$引用起来,若是在正则表达式中有多个正则表达式(多个括号括起来),则能够是$N$等,表示提取第N个括号里面的值
匹配数字 -1:表示取全部返回值,此时提取结果是一个数组,其他正整数表明第几个匹配的内容提取出来。若是匹配数字选择的是-1,后续还能够经过${XXX_1}的方式来取第1个匹配的内容,${XXX_2}来取第2个匹配的内容。
匹配数字1:表示取第一个返回值
匹配数字0:表示随机取一个返回值
缺省值:正则匹配失败时取的值
例1:提取第一个Name
、
例2:提取所有Name
例3:表达式同时提取Name和population,并传出两个参数
例4:条件判断取值
提取population=800的城市