JMeter正则表达式关联

发表于:2019-12-11 11:14

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:飞天小子    来源:博客园

  jmeter中,接口自动化的关键在于参数关联。比如需要登录的接口,如何调用登录口令?一个增删改查的闭环,如何将接口参数上下传递?下面就以实际的例子来仔细说一说
  1:登录接口
  这里有一个实际的登录接口,在响应中返回了一串token,如下图
  那么我们在接下来的接口-经验库列表中,就必须带入这一串token,否则响应报错,如下图所示
  如何获取登录的口令呢?这里详细说明一下,如图所示
  在接下来的接口中可以将获取的token作为变量调用,变量名为${center-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的城市


      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号