首页 > 系统相关 >BeanShell预处理器获取jmeter请求后变量无法替换

BeanShell预处理器获取jmeter请求后变量无法替换

时间:2024-09-09 09:26:03浏览次数:5  
标签:newUrl 请求 sign String BeanShell jmeter 替换 处理器

背景

jmeter接口验签逻辑是从请求参数中获取值处理加密验签后,讲请求参数中的sign值替换

如果处理后直接讲sign生成Jmeter变量,在当前请求是无法替换的,因为jmeter请求的URL和body已经运行,不会再重新运行替换

解决方法

在当前预处理程序中再写处理当前请求的逻辑

// 替换URL中的sign参数
String newQuery = decodedQuery.replaceAll("sign=[^&]*", "sign=" + URLEncoder.encode(sign, "UTF-8"));
String newUrl = url.replace(query, newQuery);
sampler.setPath(newUrl);
log.info("Updated URL: " + newUrl);

// 替换body中的sign参数
String newBody = params.replaceAll("\"sign\":\"\\$\\{sign\\}\"", "\"sign\":\"" + sign + "\"");
sampler.getArguments().getArgument(0).setValue(newBody);
log.info("Updated Request Body: " + newBody);

标签:newUrl,请求,sign,String,BeanShell,jmeter,替换,处理器
From: https://www.cnblogs.com/simon1993/p/18403930

相关文章

  • Shell编程:文本处理器(sed)
    文章目录sed编辑器工作过程提高sed执行效率的方法sed命令格式与选项地址定界sed的核心功能打印功能(p,=,l命令)删除操作(d命令)替换操作(s,c,y命令)增加功能(a,i,r命令)使用-f指定命令文件(读取规则)sed编辑器sed是一种流编辑器(StreamEdit......
  • 【微处理器系统原理与应用设计第九讲】GPIO之按键控灯功能——按键控制灯进行亮灭转换
    一、基础知识与明确1、GPIO的有效电平由按键结构决定,按键按下时输入为低电平,按键悬空时为输入为高电平,按键的输入给到GPIO的引脚(例如PC13)2、条件控制语句if(a):如果a为非0数字或字符那么就为真,if条件成立,反之不成立。if(!a):如果!a为真,也就是a为0时,if条件成立,反之不成立。if......
  • CSS预处理器(如Sass和Less)的优势在哪里?
    CSS预处理器(如Sass和Less)的优势在哪里?在现代网页开发中,CSS是不可或缺的一部分。随着项目的复杂度不断增加,传统的CSS编写方式暴露出了一些局限性。为了解决这些问题,开发者们引入了CSS预处理器,如Sass和Less。这些工具不仅提高了CSS的可维护性和可读性,还为开发者提供了一系列......
  • Dotnetty学习笔记——自定义初始化处理器
    常常我们需要开一个服务单,对接不同的客户端,编码器、解码器等都不同,需要针对不同IP添加不同的处理器。publicclassCustomInitializer:Channellnitializer<lSocketChannel>{Action<string,string>_dealMsgAction;lServer_server;publicCustomInitializer(Action<st......
  • 用亚马逊云科技Graviton高性能/低耗能处理器构建AI向量数据库(上篇)
    简介:今天小李哥将介绍亚马逊推出的云平台4代高性能计算处理器Gravition,并利用该处理器构建生成式AI向量数据库。利用向量数据库,我们可以开发和构建多样化的生成式AI应用,如RAG知识库,特定领域知识的聊天机器人等。我们今天将手把手带大家在亚马逊云科技上,搭建一个目前大热的Milv......
  • PM864AK01-eA-3BSE018161R2 CPU单元处理器
    ABBPM864AKO1 eA3BSE018161R2  CPU单元处理器产品详情:CPU单元处理器的应用领域与处理器单元套件相似,可能包括但不限于以下几个方面:1.工业自动化控制:CPU单元处理器可以用于工业过程控制、生产线自动化、机械控制等领域,以实现各种自动化控制任务。2.分布式控制系统......
  • xtensa架构--指令汇总(加载指令/存储指令/跳转和调用指令/条件分支指/移动指令令/算术
    目录一xtensa架构指令汇总二  加载指令1. l32i 指令示例2. l8i 指令示例3. l16i 指令示例4. ld 指令示例5总结三存储指令3.1 存储指令概述3.2存储指令详述S8I(RR8):8位存储(8位偏移)S16I(RR8):16位存储(8位移位偏移)S32I(RR8):32位存储(8位......
  • 已知 并发数 和 qps,如何使用jmeter设计压测用例。 如并发数100, qps 200
    要在ApacheJMeter中设计一个压测用例,以满足特定的并发数和QPS(每秒请求数),你需要合理配置线程组和定时器。以下是详细的步骤,假设你希望模拟100个并发用户,并且每秒发送200个请求。###1.理解并发数和QPS-**并发数(Threads)**:表示同时发起请求的用户数。在这个例子中是100......
  • Shell编程:文本处理器(cut、split、paste、eval 命令)
    文章目录文本处理器2cut命令-快速裁剪语法格式常用选项示例split命令-文件拆分语法格式常用选项示例paste命令-文件合并语法格式常用选项示例eval命令-变量扫描器工作原理示例文本处理器2本章讲解grep、sort、uniq、tr、cut、split、paste命令等。这......
  • Shell编程:文本处理器(grep、sort、uniq、tr 命令)
    文章目录文本处理器1grep命令-搜索文本语法格式常用选项示例sort命令-行排序语法格式常用选项示例uniq命令-快捷去重语法格式常用选项示例tr命令-字符替换删除语法格式常用选项参数示例文本处理器1本章讲解grep、sort、uniq、tr、cut、split、paste命......