3

我正在使用 Blazemeter 的 JMeter 的 HTTP2 插件,但无法使 HTTP2 请求遵循重定向。我尝试检查“Follow Redirects”框和“Synchronized Request”,但它不起作用。

我得到响应代码:301 和响应消息:HTTP/2.0 301 永久移动以及它应该在响应标头中重定向的位置 =>“位置”。

我正在尝试向“www.aoro.ro”(GET https://www.aoro.ro/)发出 HTTP2 请求,该请求应该将我重定向到“ https://www.notino.ro/ ”但不遵循它从响应标头获得的位置:HTTP/2.0 301 永久移动位置:https ://www.notino.ro/ 我被这个响应卡住了,不能使用基于重定向的断言。

我还尝试使用“HTTP 标头管理器”并从浏览器发送所有标头。我读到 HTTP2 版本的 HTTP 协议是异步的,这可能会干扰重定向。

您知道有关使用 HTTP2 插件在 JMeter 上重定向的任何信息吗?

4

2 回答 2

2

我确认这是我在这里报告的HTTP2 请求的错误(因为在他们的 github 中没有报告问题):

您可以做的是使用正则表达式提取器自己处理它:

稀土配置

并像这样添加它:

测试计划

然后在另一个 HTTP2 请求的路径字段中使用 ${REDIRECT}:

重用变量

于 2018-11-06T22:01:23.353 回答
2

在对blazemeter.jmeter.http2.sampler进行深入研究后,我发现 HTTP2 采样器请求没有在HTTP2Request.class文件中实现followRedirects()方法。

要获取此文件,您必须从 lib.ext 文件夹中的jmeter-bzm-http2-1.4.jar文件中提取文件,并且 .class 文件将位于com\blazemeter\jmeter\http2\sampler文件夹中。在这一步之后,您必须反编译HTTP2Request.class文件(使用在线工具:https ://devtoolzone.com/decompiler/java )并使用 Notepad++ / Sublime 或任何其他程序打开它以查看脚本。

所以在这个插件的新版本发布之前,Follow Redirects/Autoredirect 将不起作用(没有实现)

于 2018-12-06T11:50:49.957 回答