当前位置:   article > 正文

浅谈前置处理器之正则表达式用户参数

浅谈前置处理器之正则表达式用户参数

浅谈前置处理器之正则表达式用户参数

正则表达式用户参数(RegEx User Parameters) 是一种前置处理器(Pre-Processor),它允许用户根据正则表达式从响应数据中提取值后进行应用,并将这些值作为参数传递给后续的HTTP请求或其他需要的地方。此功能对于处理动态内容、会话ID、令牌等具有高度灵活性,是实现自动化测试脚本的关键组成部分。

使用场景

  1. 动态参数处理:当目标系统在每次请求中生成不同的动态参数(如会话ID、时间戳等),需要提取后续并使用这些参数继续后续请求。
  2. 测试数据个性化:根据响应内容个性化后续请求的参数,比如从登录响应中提取用户ID用于后续的个人资料查询请求。
  3. 数据迭代:如果响应中包含多组匹配项,可以配置处理器循环提取后应用于多个请求,适用于测试列表或搜索结果页面。

配置步骤

  1. 添加正则表达式用户参数:
    ○ 在JMeter的工作台或测试计划中,选中一个HTTP请求或其他需要参数化的取样器。
    ○ 右键点击选择“添加” > “前置处理器” > “正则表达式用户参数”。
  2. 配置参数:
    ○ Regular Expression Reference Name:正则表达式提取器中的变量名称,此处的名称必须要与正则表达式中的一致。
    ○ Parameter names regexp group number:参数名字的组号,后续样例详细说明。
    ○ Parameter values regex group number:参数名称组对应值,后续样例详细说明。

实例说明

我们使用SpringBoot编写如下部分接口代码

 @PostMapping(value = "/login",produces = "application/json;charset=UTF-8")
    public String authenticate(@RequestBody JSONObject request) {

        String validUsername = "admin";
        String validPassword = "password";
        String response = "{\"total\":2,\"data\":[{\"id\":123,\"name\":\"John Doe\",\"email\":\"johndoe@example.com\",\"phone\":\"123-456-7890\",\"address\":{\"street\":\"123 Main St\",\"city\":\"New York\",\"state\":\"NY\",\"zip\":\"10001\"},\"interests\":[\"sports\",\"music\",\"travel\"]},{\"id\":456,\"name\":\"Jane Smith\",\"email\":\"janesmith@example.com\",\"phone\":\"987-654-3210\",\"address\":{\"street\":\"456 Elm St\",\"city\":\"Los Angeles\",\"state\":\"CA\",\"zip\":\"90001\"},\"interests\":[\"reading\",\"cooking\",\"hiking\"]}]}";


        if (request.getString("username").equals(validUsername) && request.getString("password").equals(validPassword)) {
            return response;
        } else {
            return response;
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

然后我们编写以下脚本
在这里插入图片描述
线程组:保持默认
HTTP请求1:协议http,服务器名称或者IP127.0.0.1,端口号8091,方法POST,路径/login,内容编码utf-8,消息体数据

{
    "username": "admin",
    "password": "password"
    }
  • 1
  • 2
  • 3
  • 4

正则表达式提取器:设置的参数为引用名称var,正则表达式"id"

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/826462
推荐阅读
相关标签