JMeter 5.3-录制期间URL的解码不正确

问题描述

我正在尝试使用JMeter为客户的1页网站创建负载测试。为此,我使用了JMeter的认模板“ recording”(Test plan)。我注意到我可以使用JMeter登录到网站,而不会出现问题,但是它错误地读取了URL。

实际网址应如下所示: https://www.example.com/tool

但是,他按以下方式更改了此URL: http%3A%2F%2Fwww.example.com%2Ftool

很明显,JMeter编码错误。我在Apache Tomcat的日志文件和“请求”>“原始”(position of "Raw")中看到解码错误错误。 .jmx文件URL中的其他任何地方都是正确的。

不幸的是,我绝对不是JMeter的新手,并且是计算机科学领域的外行。由于找不到我能理解的实现,因此希望有人可以帮助我。 我发现这篇旧文章JMeter - / replaced with %2F when posting in subsequent HTTP request)并没有帮助我。我使用的是最新版本5.3。

解决方法

使用WiresharkFiddler之类的第三方嗅探器工具捕获JMeter和实际浏览器发送的请求。如果不匹配-这是JMeter问题,需要通过JMeter Bugzilla报告。您可以使用JMeter的“搜索”功能将编码的URL替换为非编码的URL:

https://jmeter.apache.org/issues.html

但是,如果请求相同,那么JMeter会正确执行URL-encoding

还请注意记录JMeter测试的另一种方法:JMeter Chrome Extension,它不需要在代理和证书方面进行额外的配置