无法在Fiddler中捕获JMeter流量

19

我创建了一个 JMeter recording。但是当我开始测试时,在 Fiddler 中看不到任何请求。我将 Fiddler 中的端口号更改为 8080,与我在 JMeter 中使用的相同。

步骤:

  1. 创建线程组
  2. 向线程组添加 HTTP 请求并输入 URL
  3. 向线程组添加 Recording Controller
  4. 添加 HTTP(S) Test Script Recorder
  5. 将 Firefox 设置为本地代理并设置为 8080 端口
  6. 录制测试
  7. 然后启动 Fiddler 并开始测试

我不确定 JMeter 是否真正成功运行该测试。然而,当我运行测试时,它显示用户数量为10,并且没有错误。我是否漏掉了什么?

3个回答

22

首先,将 Fiddler 的端口改回原来的 8888

接下来,将 JMeter 的代理设置更改为指向端口 8888 上的 127.0.0.1 作为其代理设置。

然后,运行您的测试。


谢谢。它适用于HTTP请求取样器。但是,在针对Web服务的SOAP/XML测试取样器中,没有提供代理设置的选项。我无法在通过JMeter测试我的Web服务时在Fiddler中捕获流量。 - Nagesh Chopra
JMeter允许您指定代理https://dev59.com/wWQn5IYBdhLWcg3wpYj0,您还可以通常为Java VM本身设置代理设置。 - EricLaw
3
谢谢Eric。但是我通过在SOAP/XML采样器下添加“HTTP请求默认值”配置元素,并在“HTTP请求默认值”配置元素中指定代理设置(IP:127.0.0.1,端口:8888),使其工作正常。现在当测试Web服务时,Fiddler也能够捕获JMeter的流量。 - Nagesh Chopra
我可以确认这适用于HTTPS请求。获取身份验证令牌的请求也可以正常查看。“查看结果树”与 Fiddler 对齐。 - Mário Meyrelles

6

要通过 Fiddler 记录 JMeter 流量,请按照以下设置进行 重要提示

  • 我使用的是 JMeter 5.0 版本
  • 请确认您的 Fiddler 监听端口设置为 8888

UI 模式

  1. 创建线程组 --> HTTP 请求
  2. 进入高级选项,填写 "服务器名称或 IP:" = 127.0.0.1 ,"端口号:" = 8888
  3. enter image description here

非 UI 模式

  1. 在命令中添加 -H 127.0.0.1 作为代理主机
  2. -P 8888 作为代理端口
  3. 例如: C:\jmeter5.0\bin>jmeter -n -t C:\example.jmx -l C:\scriptresults.jtl -H 127.0.0.1 -P 8888

4
我不建议使用Fiddler,因为JMeter现在有自己的录制器了。
要记录一系列请求,您需要按照以下步骤进行操作:
  1. 打开JMeter
  2. 右键单击“测试计划”,在“添加”菜单下导航到“线程(用户)”,然后选择“线程组”
  3. 现在,在“线程组”上右键单击,在“添加”菜单下导航到“登录控制器”,然后选择“记录控制器”
  4. 现在再次右键单击“测试计划”,在“添加”菜单下导航到“非测试元素”,然后单击“HTTP(S)测试脚本录制器”
  5. 现在,不要做任何更改,在右侧区域中点击开始按钮,然后转到您的浏览器。
  6. 现在配置您的浏览器以使用代理 主机:localhost 端口:8888(如果您已在JMeter中更改,则可以更改此值,但请确保它们都具有相同的值)
  7. 现在像平常一样浏览互联网。
以上过程将使您能够无需麻烦地记录流量。 请记住,这仅适用于没有HTTPS的网站。
如果您感到困惑,可以参考此视频:https://youtu.be/zXHs5Ts6JBc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接