Day17.后置处理器_JSON_正则表达式_边界提取器_完成删除场景模拟测试

接Day16的脚本继续进行

接口信息说明:
用户管理模块
    登录接口
        api:post
        method:post
        request data:
            {
                "loginName":"IDO",
                "passwd":"123"//base编码
            }
    退出接口:
        api:get
        method:get
    添加用户接口:
        api:post
        method:post
        headers:{
           "Content-Type":"application/json",
           "token":""
        }
        request data:
            {
                "login_name":"IDO",
                "phone":"13100000000",
                "real_name":"老徐",
                "token":""
            }
    删除用户接口
        api:put
        method:put
        headers:{
           "Content-Type":"application/json",
           "token":""
        }
        request data:
            {
                "login_name":"IDO",
                "phone":"13100000000",
                "real_name":"老徐",
                "token":""
            }
博文管理模块:
    添加博文接口:
        api:post
        method:post
        headers:{
           "Content-Type":"application/json",
           "token":""
        }
        request data:
            {
                "blog_name":"21天打卡",
                "bolg_title":"Jmeter打卡之Day16",
                "blog_details":"21天打卡",
                "token":""
            }
    删除博文接口:
        api:delete
        method:delete
        headers:{
           "Content-Type":"application/json",
           "token":""
        }
        request data:
            {
                "blog_name":"21天打卡",
                "bolg_title":"Jmeter打卡之Day16",
                "blog_details":"21天打卡",
                "token":""
            }

1. 后置处理器说明

  • 字面意思,后处理器在采样器后应用。(注意,它们应用于同一作用域中的所有采样器,因此为了确保后处理器仅应用于特定采样器,将其添加为采样器的子级)。
  • 后处理器在断言之前运行,因此它们无法访问任何断言结果,并且示例状态也不会反映任何断言的结果。

1.1 JSON提取器

JSON 后处理器使您能够使用 JSON-PATH 语法从 JSON 响应中提取数据。此后处理器与正则表达式提取器非常相似。它必须作为 HTTP 采样器或任何其他具有响应的采样器的子级放置
不清楚JSON格式的请转:JSON杂谈

//JSON路径
json.loginName

JSON提取器注释
JSON提取调试示例

1.2 正则表达式提取器

使用 Perl 类型的正则表达式(不过多赘述正则表达式的类型)从服务器响应中提取值。作为后处理器,此元素将在其作用域中的 请求之后执行,应用正则表达式、提取请求的值、生成模板字符串并将结果存储到给定的变量名称中。

//表达式
"loginName": ".*"
//这里面会存在几个坑
1.表达式过滤出多个内容
2.想要多个表达式
3.不会写正则

正则表达式提取器注释
正则表达式调试示例

1.3 边界提取器

  • 不知道这个组件和正则表达式有什么区别,有点鸡肋,个人不怎么用。
  • 允许用户使用左和右边界从服务器响应中提取值。作为后处理器,此元素将在其作用域中的每个取样器请求之后执行,测试边界、提取请求的值、生成模板字符串并将结果存储到给定的变量名称中。
    边界提取器注释
    边界值提取器示例

1.4 其他处理器

//CSS提取器
https://jmeter.apache.org/usermanual/component_reference.html#CSS_Selector_Extractor
//XPath提取器
https://jmeter.apache.org/usermanual/component_reference.html#XPath2_Extractor
//结果状态操作处理程序
https://jmeter.apache.org/usermanual/component_reference.html#Result_Status_Action_Handler

2.后置处理器使用场景

2.1 关联接口

例如要测试一个场景:删除数据,那么要先完成(又叫数据依赖):

//先添加再删除
登录接口-->添加接口-->删除接口-->退出接口

针对于这个场景进行分析:

  • 1.删除场景的开始:登录完之后要抛出登录信息token,作为全局变量,供后面使用
  • 2.添加接口拿到token之后,进行数据添加,添加接口完成后要记录添加的信息,然后把返回的数据ID,或者是其他字段取出来供删除使用
  • 3.删除接口拿到添加接口的ID,然后根据ID进行删除操作
  • 4.删除场景的闭环:退出

2.2 清洗脏数据

例如要测试一个场景:添加数据,那么完成后要把添加的数据进行删除,如果不删除的话,数据在库里越堆越多,可能对下次测试造成影响(又叫数据清洗):

//先添加再删除
登录接口-->添加接口-->后置处理器(JDBC操作删除SQL,删除数据)-->退出接口

针对于这个场景进行分析:

  • 1.删除场景的开始:登录完之后要抛出登录信息token,作为全局变量,供后面使用
  • 2.添加接口拿到token之后,进行数据添加,添加接口完成后要记录添加的信息,然后把返回的数据ID,或者是其他字段取出来供删除使用
  • 3.通过后置处理器的删除SQL,然后进行删除
  • 4.删除场景的闭环:退出

3.作业场景

新增一个删除博文的接口,针对一个删除博文的场景进行测试。
要求:完成三次,分别使用以下三种后置处理器

  • 1.JSON提取器
  • 2.正则表达式提取器
  • 3.边界提取器

4.示例脚本

4.1 图片示例

结构示例

4.2 脚本示例

链接:https://pan.baidu.com/s/1BtKypSWZW03zj2S_lZA5Ew 
提取码:175r
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值