我是JMeter的新手,我想用JMeter代理加载测试本地Web应用程序记录测试用例。
我第一次按照http://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.pdf的说法进行操作,一切正常。
比:
http://localhost:8080/my-application
curl -X GET http://localhost:8081/my-application/index.html
我获得:
org.apache.http.client.ClientProtocolException: URI does not specify a valid host name: https:///my-application/index.html/my-application/index.html
出了什么问题?我错过了一些基本配置?我以错误的方式使用JMeter代理?
答案 0 :(得分:4)
Firefox默认设置将绕过代理的“localhost,127.0.0.1”,因此您的JMeter仍然无法记录它。您必须通过删除“localhost,127.0.0.1”清空“No Proxy for”字段。希望这会有所帮助。
答案 1 :(得分:2)
转到浏览器LAN设置
确保取消选中“为本地地址绕过代理服务器”,以便请求将命中JMeter代理服务器。
答案 2 :(得分:1)
在jmeter中录制的简单步骤:
- 打开你的jmeter(默认包含testplan和workbench)
- 添加线程组
- 在config下添加“http request defaults”(更改服务器名称,我需要记录的网站)
- 添加“http代理服务器(workbench-rightclick-non testing elements-http proxy server)将默认端口8080更改为 另一个(例如9090)
- 启动代理服务器
- 使用9090端口和localhost
将浏览器设置更改为手动设置 醇>
http://brittoc.wordpress.com/2011/03/28/jmeter-recording-steps/
答案 3 :(得分:1)
我建议使用Apache自己的教程,它位于这里...... JMeter Proxy Tutorial
我看到你说你已经关注了它,但是因为你的一些步骤与当前的教程不匹配所以它可能已经改变了。也许你的版本有一个错误,或者你错过了一步,因为我只是在5分钟前对它进行了双重检查,它对我有用,而且我没有看到你上面谈到的一些步骤。
我意识到你对你所关注的具体错误有特定的疑问,但根据你目前对这个过程的不熟悉,我会放弃卷曲部分,只是做基本的代理记录,因为Apache描述它得到它一个更好的一般理解,然后从那里采取它。
我要添加到他们的教程中的唯一警告是,他们让你创建过滤器只记录某些类型的动作,我实际上将它们留下来以便记录所有动作,然后我只是稍后清理它。
这样你就不会错过任何可能导致滞后的事情,因为这种资源被过滤掉了。
* 现在,在您的原始问题中,如果您无意执行教程,尝试浏览器,而不是卷曲,并设置浏览器以使用代理,则可以尝试确保端口与您在代理节点上的jmeter中指定的端口匹配。
答案 4 :(得分:0)
答案 5 :(得分:0)
默认情况下,Firefox不允许代理localhost或127.0.0.1。
您必须在about:config中修改设置
将 network.proxy.allow_hijacking_localhost 更改为 true