1、修改apache-jmeter-5.2.1/bin/jmeter.properties文件,把CookieManager.save.cookies设置为true,并去掉前面的注释#号,保存文件,重新启动jmeter。
2、在jmeter中添加 cooki管理器。以上两步操作完成了将cookie相关信息的保存,接下来是如何查看和使用。
3、添加Debug Sampler,添加对应结果树,运行一下,可以看到存储的cookie数据。
4、通过一些方法获取所需要的数据,列如 使用BeanShell PostProcessor进行提取,设置为全局变量。定义全局变量【${__setProperty(ssoSession,${COOKIE_ssoSession},)};】,红色自定义,橙色为被引用的名称,完成以上操作后,就可以去使用了。
5、去另外一个线程组使用定义好的全局变量,解决了一次登陆,获取cooki值,在其他线程反复使用的测试场景。
原文链接:https://www.cnblogs.com/csmashang/p/13209832.html,学习了前辈的经验,自己理解并记录,再次使用时就方便了。
后置处理器,处理接收的json丢失 \n \"格式的问题
使用前置处理器-BeanShell 预处理程序,替换以下代码可以解决
// 1. 获取原始变量content1的值 String rawHtml = vars.get("content1"); // 2. 同时转义: // - 换行符\n → \\n // - 回车符\r → \\r(避免Windows系统格式问题) // - 双引号" → \"(关键:修复双引号未转义问题) String escapedHtml = rawHtml .replace("\n", "\\n") .replace("\r", "\\r") .replace("\"", "\\\""); // 新增:转义双引号 // 3. 存储处理后的变量 vars.put("content1_escaped", escapedHtml); // 验证日志 System.out.println("转义后(含双引号处理):" + escapedHtml);