jmeter - Jmeter:无效的uri转义绝对路径无效
问题描述
以下是我遵循的步骤: 1. 在我的脚本中调用 HTTP 请求,它会在 json 中生成有效响应。例子:
{ "SortAs": "SGML", "GlossTerm": "2210", "Acronym": "SGML", "Abbrev": "ISO 8879:1986" }
- 现在使用正则表达式提取器从响应("GlossTerm":(.+?))中获取一个值,并添加了一个我之前声明过的用户参数(RNDM):${RNDM}.+"GlossTerm":(。 +?)
这里 RNDM=90291 和 GlossTerm=2210
上面的整个正则表达式以x 3 的形式存储在 Reference Name 中。我正在使用引用名称来形成我的另一个 url 以在 HTTP 请求中调用 PUT 方法:示例:http: //10.12.30.11/abc/test/ ${ X}
当脚本运行第 3 步时,我收到错误java.lang.IllegalArgumentException: Invalid uri ' http://10.12.30.11/abc/test/ ${x}': escaped absolute path not valid
我已经完成的调试: 1. 检查 url 没有任何空间。2. 尝试使用特殊字符的 url 编码形式。
在阅读了谷歌中的几篇这样的帖子后,我来发布这个关于堆栈溢出的查询。请帮助我解决这个问题。
解决方案
您的正则表达式提取器不正确,特别是当您在此处添加此${RNDM}.
位时它变得不正确。此外,它会产生下一个变量,正如Debug Sampler所证明的那样
x="GlossTerm": "2210",
x_g=2
x_g0="GlossTerm": "2210",
x_g1="GlossTerm": "2210",
x_g2= "2210",
这似乎不是你要找的东西。
因此,我建议您执行以下操作:
切换到更适合处理 JSON 数据的JSON Extractor ,相关的Json Path查询将非常简单
$.GlossTerm
将您的 URL 修改为如下所示:
http://10.12.30.11/abc/test/${RNDM}${x}
就是这样,你应该得到
http://10.12.30.11/abc/test/902912210
结果:
推荐阅读
- r - R dplyr 过滤器基于匹配搜索词与选择列中任何作品的第一个词
- hook - Prestashop 1.7 hookActionObjectCustomerUpdateBefore 和之后
- html - 如何使用 css 去除小型设备上令人不安的空白?
- c# - 重置排序时DataGridView位图缩放错误
- sails.js - 使用 Captains-log 格式化全局日志输出
- google-cloud-platform - 为什么 Google Vision 可以识别文本中仅包含数字的图像的“und”语言环境?
- python - 动态规划:划分一组数字的方法数
- java - 如何使用 power mockito 在 java 中模拟 new Date()
- video - ffmpeg 将 m4s 转换为 mp4
- sql - 在 oracle 中计算滚动加权平均值