zoukankan      html  css  js  c++  java
  • jmeter之关联的使用(正则、json)

    部分接口的测试中,一个接口会依赖上一个接口的响应信息,但上一个接口的响应信息又不是固定不变的,这时候,需要提取上一个接口的响应信息,将二者每一次的信息关联起来

    目录

    1、应用场景

    2、jmeter正则提取器

    3、正则提取规则

    4、简单的接口应用

    5、jmeter的JSON Path Extractor  插件

    1、应用场景

    当一个接口的参数依赖于上一个接口的返回值时,且上一个接口返回值是动态的(一般这个动态值为字母和数字的组合),这时候需要用jmeter的关联工具将2个接口关联起来

     

    2、jmeter正则提取器

    jmeter有几个实现关联的组件,有一个最常用的是正则提取器,是一个后置处理器

     

    3、正则提取规则

     

    引用名称:为需要提取的参数值命名,在下一个接口的参数值的地方填写${命名}来引用

    正则表达式:用正则表达式提取参数值,将需要填写值的地方,用括号括起来,括号中是正则匹配表达式(.:匹配任何字符串;+:一次或多次;?:非贪婪匹配,在找到第一个匹配项后结束)。更多规则可参考:http://www.runoob.com/regexp/regexp-tutorial.html

    模版:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给引用值。如:$1$表示解析到的第1个值

    匹配数字(0代表随机值):1代表全部取值,通常情况下填0或者不填

    缺省值:如果参数没有取得到值,那默认给一个值让它取。

    4、简单的接口应用

    登录接口应用:

    有的登录接口,除了帐号密码作为参数,还会有一个token之类的作为参数,而通常这个token是动态的,这时候就需要使用到关联

    第一次请求获取token:

    用正则提取器提取上一个请求的返回值,并作为第二次请求的参数

     响应成功:

    删除的接口应用:

    新增一条信息,接着又想再删除,但这时候并不知道这条信息的id,这时候也可以使用关联

    新增的接口:

     删除的接口:

     

     响应结果:

     5、jmeter的JSON Path Extractor  插件

    下一个接口的请求参数是上一个接口返回的json串中的值,这时候需要使用JSON Path Extractor这个插件

    如下图所示:

    jmeter工程:

    添加json值提取插件,并填写提取表达式

     填写参数和参数化的值

    正确响应

    关于json提取表达式的填写:

    以图为例,若要提取user中的id,则json的表达式为:$.user.id  若要若要提取user中的usrname,则则json的表达式为:$.user.username

     需要提取json的响应的多个值

     比如上面的要提取a,b,c,d那么就可以写多个表达式,以分号分割,其中match nummbers代表从第几位开始匹配取值,default values代表没有取到值时,给该值一个默认值为0

    variables names:接收值的变量名,多个变量时用分号分隔
    json path expressions: json path表达式,也是用分号分隔
    match numbers:0随机;n取第几个匹配值;-1匹配所有,后续引用 变量名N 取第N个值。
    default values: 缺省值,匹配不到值的时候取该值

    注意:

    1、需要添加上cookies管理器,不然第二个请求缺少请求头信息,也会请求失败

    2、在新增和删除时,要求是在线用户,这时候可以使用信息管理器或者cookies管理器来保持登录,本篇没有这样处理,直接将登陆接口结果用cookies管理器来管理起来

  • 相关阅读:
    大龄开发人员如何破局
    在c++MFC下用PCL显示操作点云文件 MFC对话框显示操作PCL点云
    记录学习图像处理过程中不错的教程博客
    做三维模型识别目标定位配准测量的有关资料记录
    OpenCASCADE(一) VS2017+OpenCASCADE+MFC +win10下载配置安装运行单文档程序画个基本图形
    关于opengl中的三维矩阵平移代码,矩阵旋转代码,推导过程理解 OpenGL计算机图形学的一些必要矩阵运算知识 glTranslatef(x,y,z)glRotatef(angle,x,y,z)函数详解
    深度学习系列教程目录
    c/c++ 2019公司面试题目录
    c++ 知道旋转平移变换前后矩阵向量值 求旋转变换矩阵c++/c#代码 知道两个向量求他们的旋转变换矩阵
    OpenCV与MFC实战之图像处理 样本采集小工具制作 c++MFC课程设计
  • 原文地址:https://www.cnblogs.com/weizhideweilai/p/8974071.html
Copyright © 2011-2022 走看看