JMeter:如何记录HTTPS流量?

时间:2008-11-18 17:43:15

标签: performance https automation jmeter load-testing

我正在使用Apache JMeter 2.3,它现在支持Proxy Server元素下的“尝试HTTPS欺骗”。

我在几台不同的服务器上试过这个,并没有成功。 有没有人能够使用此设置从HTTPS源成功录制?

或者除非成功录制,否则任何人都可以共享一个解决方案吗?如果可用,我只是在服务器级别关闭了HTTPS,但这并不总是可行的。想法?

8 个答案:

答案 0 :(得分:4)

虽然JMeter代理已具备记录HTTPS请求的能力,但最近创建了一个创建JMeter脚本的Chrome扩展程序: https://chrome.google.com/webstore/detail/blazemeter-the-load-testi/mbopgmdnpcbohhpnfglgohlbhfongabi?hl=en

它使用BlazeMeter作为中间人(云服务中的商业JMeter),但您可以永久使用他们的免费服务,并仍然使用该插件记录JMX脚本并将其本地下载到您自己的机器,即使您从未使用过任何付费计划。

答案 1 :(得分:4)

  1. HTTP(S) Test Script Recorder的JMeter 3.0默认端口开始8888

  2. 配置录制的最简单方法是使用JMeter Templates功能。从JMeter的主菜单中选择:

    File -> Templates -> Recording -> Create
    
  3. Recording Template

    1. 别忘了启动录音机:

      • 在JMeter< 4.0,展开" Workbench",如果> = 4.0,忽略此步骤
      • 选择" HTTP(S)测试脚本记录器"
      • 点击"开始"按钮
    2. Start Recorder

      1. 您会看到有关Root CA Certificate的消息。单击“确定”:
      2. Ok for message

        • 没关系,它通知您JMeter已经创建了一个根证书颁发机构,您需要在浏览器中导入该权限以便能够正确记录HTTPS流量。

          Start proxy

          1. 要在Firefox中导入此根CA证书(它位于jmeter / bin文件夹中),例如:

        Step 1

        Step 2

        Step 3

        Step 4

        Step 5

        1. 配置浏览器以将JMeter用作代理:
        2. Configure JMeter as proxy in Browser

          现在好了。

          • 您可以导航到您的应用程序,采样器将在" Recording Controller"这是"线程组"元件

答案 2 :(得分:2)

我的工作是:

  1. 使用我的网络服务器的IP地址(即http://2.2.2.2/login.html
  2. 访问我的网站
  3. 启动录音机并运行我的测试用例
  4. 停止录制
  5. 使用HTTP请求采样器替换所有IP地址值(即用yoursite.com替换2.2.2.2)
  6. 在HTTP请求采样器中将协议设置为https
  7. 如果您有多个页面,最简单的方法是创建HTTP请求默认值项目,并在那里设置您的域名和协议。

    仅供参考,我正在使用截至2010-05-24的最新稳定版本:Jmeter 2.3.4 r785646。

答案 3 :(得分:2)

最新版本的Jmeter(2.4)现在支持HTTPS录制。飘柔!

更多细节: http://wiki.apache.org/jmeter/JMeterFAQ#Can_JMeter_record_HTTPS_requests_using_the_recording_proxy.3F

答案 4 :(得分:0)

有没有其他方法来录制HTTPS而不是Bad boy和Https欺骗?

是 - 使用每晚构建的JMeter,例如:版本r922204。

答案 5 :(得分:0)

截至今天,Https录制已在新版Jmeter 2.9中成功运行。我不得不导入代理证书并使用Firefox来实现这一点。

请参阅此链接以获取更多信息 Https recording using Jmeter

答案 6 :(得分:-1)

是的,我使用过“尝试HTTPS欺骗”。事情很简单:

  1. 启用HTTPS欺骗(当然)。
  2. 确保浏览器向Jmeter发送Http请求,以便Jmeter可以记录它,然后将加密的请求发送回服务器。因此,浏览器中的URL应以http://开头(而不是https://)。详情可在my blog中找到。
  3. 如果它适合您,请告诉我。

答案 7 :(得分:-2)

我正在使用Webscarab记录https和ajax对话。 它工作正常。我使用Jmeter的导出功能扩展了Webscarab。 Bugzilla 48898。