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

打印 上一主题 下一主题

主题 507|帖子 507|积分 1521

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

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


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


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

我们使用SpringBoot编写如下部分接口代码
  1. @PostMapping(value = "/login",produces = "application/json;charset=UTF-8")
  2.     public String authenticate(@RequestBody JSONObject request) {
  3.         String validUsername = "admin";
  4.         String validPassword = "password";
  5.         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"]}]}";
  6.         if (request.getString("username").equals(validUsername) && request.getString("password").equals(validPassword)) {
  7.             return response;
  8.         } else {
  9.             return response;
  10.         }
  11.     }
复制代码
然后我们编写以下脚本

线程组:保持默认
HTTP请求1:协议http,服务器名称大概IP127.0.0.1,端口号8091,方法POST,路径/login,内容编码utf-8,消息体数据
  1. {
  2.     "username": "admin",
  3.     "password": "password"
  4.     }
复制代码
正则表达式提取器:设置的参数为引用名称var,正则表达式"id"

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

小小小幸运

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表