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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

vars.put("authenticity","dinionjijo");  //设置变量
vars.get("authenticity)  //获取变量

sampler.addArgument("completion_status","1");  //设置请求参数

System.out.println("authenticity"+vars.get("authenticity")); //打印控制台

 

你可能感兴趣的:(jmeter)