8

我是 JMeter 的新手,我想使用 JMeter 代理对本地 Web 应用程序记录测试用例进行负载测试。

我首先按照这里的说明http://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.pdf并且一切正常。

比:

  • 我启动了我的网络应用程序,比如说http://localhost:8080/my-application
  • 在端口 8081 上设置 JMeter Web 代理
  • 向线程组添加了 HTTP 请求默认值
  • 添加录音控制器
  • 调用 curl -X GET http://localhost:8081/my-application/index.html

我得到:

  • 请求被记录但参数错误,例如。https而不是 http
  • 我没有通过 curl 获得请求的页面,但有例外:org.apache.http.client.ClientProtocolException: URI does not specify a valid host name: https:///my-application/index.html/my-application/index.html
  • 我在 Http Request Default 中指定的参数似乎被忽略了?我将配置元素放在 HTTP 代理服务器下,并尝试了许多设置。

怎么了?我错过了一些基本配置?我以错误的方式使用 JMeter 代理?

4

6 回答 6

5

默认情况下,Firefox 不允许代理 localhost 或 127.0.0.1。

您必须修改 about:config 中的设置

network.proxy.allow_hijacking_localhost更改为true

于 2019-12-19T06:54:34.327 回答
4

Firefox 默认设置将从代理绕过“localhost,127.0.0.1”,因此您的 JMeter 仍然无法记录它。您必须通过删除“localhost,127.0.0.1”来清空“No Proxy for”字段。希望这会有所帮助。

于 2016-06-12T16:06:40.020 回答
2

转到浏览器 LAN 设置

确保未选中“绕过本地地址的代理服务器”,以便请求将命中 JMeter 代理服务器。

于 2014-07-08T10:13:14.840 回答
1

在 jmeter 中记录要遵循的简单步骤:

  1. 打开你的 jmeter(默认包含测试计划和工作台)
  2. 添加线程组
  3. 添加配置下的“http请求默认值”(更改服务器名称,即您需要记录的站点)
  4. 添加“http代理服务器(工作台-右键单击-非测试元素-http代理服务器)将默认端口8080更改为其他端口(例如9090)
  5. 启动代理服务器
  6. 使用 9090 端口和 localhost 将浏览器设置更改为手动设置

http://brittoc.wordpress.com/2011/03/28/jmeter-recording-steps/

于 2013-01-29T07:30:49.023 回答
1

我建议使用 Apache 自己的教程,它位于此处... JMeter 代理教程

我看到您说您已经遵循它,但是自从您使用它以来它可能已经改变,因为您的某些步骤与当前教程不匹配。也许您的版本有错误或者您错过了一个步骤,因为我在 5 分钟前刚刚仔细检查了它,它对我有用,我没有看到您在上面谈论的一些步骤。

我知道您对您关心的特定错误有具体的问题,但是基于您目前对整个过程的不熟悉,我会放弃 curl 部分,而只是按照 Apache 的描述进行基本的代理记录以获得更好的一般性理解,然后从那里拿走。

我要在他们的教程中添加的唯一警告是,他们让您创建过滤器以仅记录某些类型的动作,我实际上将它们排除在外,以便记录所有动作,然后我稍后再清理它。

这样您就不会错过任何可能导致延迟的内容,因为该类型的资源已被过滤掉。

*现在,在您最初的问题中,您可以尝试如果您不打算学习本教程,请尝试浏览器,而不是 curl,并设置您的浏览器以使用代理,并确保端口与您在中指定的端口匹配代理节点上的 jmeter。

于 2013-05-10T07:07:59.487 回答
0

它的配置非常简单。请查看随附的屏幕截图。在此处输入图像描述

于 2015-08-12T12:53:05.563 回答