设置JMeter代理以记录本地Web应用程序上的活动

时间:2013-01-24 12:37:58

标签: proxy jmeter

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

我第一次按照http://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.pdf的说法进行操作,一切正常。

比:

  • 我启动了我的网络应用程序,说http://localhost:8080/my-application
  • 在端口8081上设置JMeter Web代理
  • 向线程组添加了HTTP请求默认值
  • Addea a Recording Controller
  • 已调用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代理?

6 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

转到浏览器LAN设置

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

答案 2 :(得分:1)

在jmeter中录制的简单步骤:

  
      
  1. 打开你的jmeter(默认包含testplan和workbench)
  2.   
  3. 添加线程组
  4.   
  5. 在config下添加“http request defaults”(更改服务器名称,我需要记录的网站)
  6.   
  7. 添加“http代理服务器(workbench-rightclick-non testing elements-http proxy server)将默认端口8080更改为   另一个(例如9090)
  8.   
  9. 启动代理服务器
  10.   
  11. 使用9090端口和localhost
  12. 将浏览器设置更改为手动设置   

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

答案 3 :(得分:1)

我建议使用Apache自己的教程,它位于这里...... JMeter Proxy Tutorial

我看到你说你已经关注了它,但是因为你的一些步骤与当前的教程不匹配所以它可能已经改变了。也许你的版本有一个错误,或者你错过了一步,因为我只是在5分钟前对它进行了双重检查,它对我有用,而且我没有看到你上面谈到的一些步骤。

我意识到你对你所关注的具体错误有特定的疑问,但根据你目前对这个过程的不熟悉,我会放弃卷曲部分,只是做基本的代理记录,因为Apache描述它得到它一个更好的一般理解,然后从那里采取它。

我要添加到他们的教程中的唯一警告是,他们让你创建过滤器只记录某些类型的动作,我实际上将它们留下来以便记录所有动作,然后我只是稍后清理它。

这样你就不会错过任何可能导致滞后的事情,因为这种资源被过滤掉了。

* 现在,在您的原始问题中,如果您无意执行教程,尝试浏览器,而不是卷曲,并设置浏览器以使用代理,则可以尝试确保端口与您在代理节点上的jmeter中指定的端口匹配。

答案 4 :(得分:0)

配置非常简单。请查看随附的屏幕截图。enter image description here

答案 5 :(得分:0)

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

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

network.proxy.allow_hijacking_localhost 更改为 true