Bootstrap

jmeter正则表达式

        正则表达式,也叫关联,意思是取上一次请求的返回结果,当这次的请求值。

        不实战真是不容易理解,一直想研究也懒,工作中遇到了,现学现卖。

        如果不会用jmeter,请看 jmeter之接口测试基础篇,距上次写这篇都半年了。

        先看接口文档

        正则表达式就要用到文档里说的tokenId,返回时候能看到,我们的tokenId可能有

点长,下面这样子。

  大概就是这样,下面说说怎么用,我想查看这个登录的账户下的银行卡。


        这些就是要添加的东西。线程组:查询银行卡;添加一个http请求,用来登录;登录下添加查

看结果树、正则表达式提取器。看结果树用来查看tokenId,正则表达式提取器就是提出这个

tokenId了,先看一下这个正则表达式提取器里面的内容。


引用名相当于又给起个名字,左边界、右边界,可以对照上面的tokenId看看,(.+?)表示要

取tokenId的值,点、加号、问号有自己的意思,还有别的符号,但是没试过,有机会的可

以试试看。下面的模板和匹配数字我没太理解,但是返回结果里只有一个tokenId,影响不

是特别大。

  • 模板:用$$引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的东东),则可以是$2$,$3$等等,表示解析到的第几个值给user_id。例如:$1$表示匹配到的第一个值
  • 匹配数字0代表随机取值,-1代表所有值,此时提取结果是一个数组,其余正整数代表第几个匹配的内容提取出来。如果匹配数字选择的是-1,还可以通过${user_id_1}的方式来取第1个匹配的内容,${user_id_2}来取第2个匹配的内容。 

上。面登录都弄完了,下面主要要干的事,查询银行卡。同样添加一个http请求,添加HTTP

信息头管理器,接口里写的,tokenId是要放在这里才能正确传的,开始试的时候直接和别

的参数一起传了,就是下面这种结果。


差点给报个bug。。。

再看一下HTTP信息头管理器里怎么用的tokenId。


左边是接口文档里写的参数名,刚才正则表达式做的都是为右边准备的,格式就是这样,表示调

用了正则表达式的tokenid,它参数正常传就行了,我们这是json格式,传参数和基础篇写的

有一点区别,下面这模样。


做了这些大功告成,运行一下看看结果。


现在这里没银行卡,不过还是能看出有个true的,结果还是对的。正则表达式大概就是这些,

jmeter里的参数化和这个用法比像,以后有机会再研究。

;