JMeter HTTP 代理服务器未记录
Posted
技术标签:
【中文标题】JMeter HTTP 代理服务器未记录【英文标题】:JMeter HTTP Proxy server is not recording 【发布时间】:2013-06-07 00:45:19 【问题描述】:我们正在尝试使用 JMeter 进行性能测试。
我使用了 jmeter 中提供的使用 HTTP 代理服务器的示例指南,但我的记录控制器没有记录任何请求。
经过大量研究,这是完整的场景。
我正在使用公司代理服务器访问外部网站。因此,经过一番研究,我知道我需要通过命令行提供所有信息来启动我的 jmeter。例如
jmeter -H 129.198.1.1 -P 8000 -u someusername -a someuserpassword -N localhost
现在我明白了,我不需要混淆这些设置。默认情况下,JMETER 使用自己的内部代理服务器。
我们需要配置我们的浏览器,以便它使用 jmeter 代理设置,我就是这样做的。
我添加了一个线程组、一个记录控制器、带有 url 包括模式和排除模式的 http 代理服务器,但它仍然无法记录任何脚本。
我做错了什么?有人可以帮我吗?
我逐步使用了与 JMETER 文档捆绑在一起的文档 JMeter 代理。 这是我的配置
【问题讨论】:
尝试显示您的配置。浏览器中显示什么?您是否尝试记录 HTTPS 嗨,我已经更新以描述我的配置。 @PMDUBIK-INGENIERIE 请问你能帮我解决这个问题goo.gl/URsAFM吗?请问我真的需要一些帮助 相关视频教程:JMeter Getting Started、JMeter Browser Recording Tutorial、How to record script for jmeter with Badboy tool Chrome 扩展程序:Record and Edit a JMeter Script Without Using JMeter: BlazeMeter's Chrome Extension 使用替代解决方案:BadBoy。 【参考方案1】:删除所有内容:
要包含的 URL 模式
要排除的 URL 模式
点击添加建议的排除项
它应该可以工作。
目前你的包含模式是错误的:
https://jmeter.apache.org/usermanual/component_reference.html#HTTP_Proxy_Server包含和排除模式被视为正则表达式(使用 Jakarta ORO)。它们将与每个浏览器请求的主机名、端口(实际或隐含)路径和查询(如果有)进行匹配。如果您正在浏览的 URL 是 "http://jmeter.apache.org/jmeter/index.html?username=xxxx" , 然后将针对字符串测试正则表达式: “jmeter.apache.org:80/jmeter/index.html?username=xxxx”。 因此,如果您想包含所有 .html 文件,您的正则表达式可能如下所示: “..html(\?.)?” - 或“.*.html”,如果您知道没有查询字符串,或者您只想要没有查询字符串的 html 页面。
有关如何录制,请参阅此参考文档:
https://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.html如果您想正确地学习 jmeter,book 将帮助您。
【讨论】:
嗨,PMD,它正在工作。我按照你的建议做了,它开始工作了。你能告诉我我的配置有什么问题吗?我真的很想知道这个问题。 @PMD 非常感谢,您的解决方案对我有很大帮助。 在我的情况下,它是执行上述操作并完全关闭并重新启动 jmeter。【参考方案2】:在为代理配置 firefox 并在 localhost 上录制时,我遇到了类似的问题。在 Firefox -> 工具 -> 选项 -> 高级 -> 网络 -> 设置 在 No Proxy for 中有一个 localhost 条目。
我删除了它,它可以工作
【讨论】:
【参考方案3】:我也遇到过类似的问题,请看下文。由于 JMETER 代理在 localhost 上运行,请取消选中下面的复选框。
【讨论】:
【参考方案4】:安装Jmeter Chrome extension,它记录HTTPS协议没有任何问题。
【讨论】:
非常感谢!最后,这对我有用。【参考方案5】:您在 Workbench 下的“HTTP 代理服务器”中编写了“要包含的 URL 模式”和“要排除的 URL 模式”的语法/格式错误。语法/格式应如下:
.*\.jsp
.*\.jsf
.*\.html
但是,你已经写了正斜杠(/)。如.*/.jsp。改正语法后应该记录下来。
【讨论】:
【参考方案6】:必须先启动 Jmeter 代理服务器,然后 Firefox 才能连接到它。 JMeter 有自己的代理服务器,因此必须在 FF 允许访问网站之前按下 Recording Controller 的“开始”按钮。
【讨论】:
【参考方案7】:据我所知,这个问题。问题并不像看起来那样,JMeter 和浏览器能够相互交互。但问题是如何确保 JMeter 能够使用代理。
现在,有很多出路。我将从最简单的开始。 在浏览器中安装 Blazemeter Extension 并开始在其中录制。完成后,它将为您提供一个 .jmx 文件
第二个是配置JMeter来访问代理。 现在命令有点改变了。
jmeter -E https -H my.proxy.server -P 8000 -u username -a password -N localhost
请注意,您需要更改以下值: 我的代理服务器 8000 用户名 密码
如果您不使用用户名和密码连接到代理,只需省略 -u 用户名 -a 密码部分。
参考:https://jmeter.apache.org/usermanual/get-started.html#proxy_server
这将用于录制脚本。
现在,运行脚本。这可能无法按预期执行。
在这种情况下,您在 HTTP Request Sampler 中有一个“高级”选项卡,请前往那里并在那里提供您的代理服务器详细信息。
【讨论】:
以上是关于JMeter HTTP 代理服务器未记录的主要内容,如果未能解决你的问题,请参考以下文章