jmeter测试后置处理器正则提取token,提取的数据在提交时“+”被替换成空格的问题,前置处理器填充默认信息,在beanshell中设置共享变量和请求参数

mac2025-11-18  4

一、正则提取token,放到下一个请求中提交

1、新建名册下添加后置处理器正则提取器

正则表达式匹配原则:直接复制要匹配段落,表达式放到匹配位置就好

如匹配‘UTF-8’: accept-charset="UTF-8"

将UTF-8替换成正则:accept-charset="(.*)"

以下是我需要匹配token的段落,将xx替换表达式就ok

name="authenticity_token" value="xx" />

可在查看结果树中测试下,模版$$中数字是代表匹配第几个正则表达式,匹配数字代表从结果数组中取的是哪一个

2、使用${xx}引用,基本步骤就是这样

二、提取的数据在提交时“+”被替换成空格的问题

这是我打印到控制台的数据 

这是我提交的数据对比发现‘+’被替换成了空格,导致提交失败

问题解决:在http请求的post提交形式打勾就不会出现这种情况了

三、前置处理器配置默认提交信息 

在http请求下添加beanshell前置处理器,在请求执行前会执行处理器

设置变量后在发送请求中能通过 ${xx}获取,设置请求参数后在请求发送时自动添加参数

vars.put("authenticity","dinionjijo"); //设置变量 vars.get("authenticity) //获取变量 sampler.addArgument("completion_status","1"); //设置请求参数 System.out.println("authenticity"+vars.get("authenticity")); //打印控制台

 

最新回复(0)