jmeter之regular expression extractor,同时匹配多个值

  • 场景

今天在用jmeter协助测试的时候遇到个问题,就是请求返回可能返回很多记录,要同时匹配每条记录里的几个值,接下来的请求中会用到这些获取的值

  • 使用正则表达式时的注意点
      • 比如百度首页我要获取一下内容的值

      • 正则表达式写法要正确,能正确匹配到所需要的值,如果表达式我这样写:<a href=(.*) name   ;

               那么匹配到的值就是这个:regul_1_g1=http://news.baidu.com name=tj_trnews class="mnav">新闻</a> <a href=http://www.hao123.com                         name=tj_trhao123 class="mnav">hao123</a> <a href=http://map.baidu.com name=tj_trma

               这样的匹配结果肯定不是我们想要的,可以这样写:<a href=(.+?) name=(.+?) class="mnav">(.+?)</a>  ;匹配结果如下,这才是我们需要的:

        regul_1_g1=http://news.baidu.com
                regul_1_g2=tj_trnews
                regul_1_g3=新闻

      • template :如果匹配多个值,比如我要匹配三个值,那么就要这么写:$1$$2$$3$
      • March no :这个坑之前碰到过,这次又踩进去了。这里如果写的 1 ,那么就只会取匹配到的一组值,如果要匹配所有的匹配项,要写 -1
      • 调用:变量名_组号_g值序号

 

  • 下面我们举个🌰

         http request 就不贴了,就是访问百度,正则设置如下:

 

   我要获取获取到的第二组的值,并作为参数传入请求:

 

    请求结果如下:

 

          666,好久没写博客了,因为最近又那啥了,哈哈。11月中了,2019年又过完了

 

posted @ 2019-11-14 19:30  大乗  阅读(618)  评论(0编辑  收藏  举报