jmeter - 无法在另一个请求中使用 Beanshell 预处理器变量
问题描述
无法在 HTTP 采样器或另一个 HTTP 请求中使用 Bean Shell Pre-Processor 变量。
Thread Group
Random variable - Id
HTTP sampler (XML body - <id> ${var1}</id>)
BeanShell Pre Processor
vars.put("RANDOM_NUMBER", "T${Id}E${Id}");
var var1 = vars.get("RANDOM_NUMBER");
log.info("var1 value is " + var1);
HTTP Request (https://${var1})
在日志中,可以打印出值var1 value is T20E33。
但是,当尝试在同一个 HTTP 采样器或另一个 HTTP 请求中引用该变量时,该值不会被替换。
参考链接
甚至尝试在请求中直接使用 RANDOM_NUMBER 作为 ${RANDOM_NUMBER} ,在这种情况下也不会替换该值。它是 ${RANDOM_NUMBER}。
解决方案
使用vars.get
代替${}
和连接值
vars.put("RANDOM_NUMBER", "T" + vars.get("Id") + "E" + vars.get("Id"));
推荐阅读
- julia - 如何只为一个而不是两个轴设置次要刻度线的数量?
- html - 无法在 URL 中加载带有子路径的 Angular 样式
- javascript - 如何使用生成的id从js中的每个组访问对象中的第一个元素?
- json - herokuapp opentable api 在 Chrome 或 Postman 中没有返回任何结果
- api - 我们如何在空手道循环中编写空手道代码?
- c# - Why it copies before writing?
- javascript - 成帧器运动中的悬停动画。文字在视觉上变得扭曲
- python - 从 Element Selenium Python 打印文本
- python - 如何获取python元组列表中所有键的总和?
- javascript - Mousemove 不会在用户选择的窗口外触发:无