如何使用JMeter记录JNLP / Java Web Start应用程序

我需要为JNLP可访问的应用程序进行性能测试。

我使用WireShark看到jnlp只生成TCP流量。

我阅读了与jnlp perf测试相关的所有post,我尝试使用Apache JMeter + UbikLoadPack Java Serialization插件,但jmeter不捕获流量。

它是我唯一的选择捕获TCP流量并使用它吗?

此致,Jaime

如果流量是HTTP(s),根据UbikLoadPack软件包的文档,您需要按照段落的说明操作:

1 /将JMeter证书颁发机构添加到Java使用的cacerts文件中:

请参阅文档“ 配置HTTPS的应用程序 ”(第7/8页)。 如果流量是HTTPS,这将允许您的应用程序在使用JMeter作为代理时工作

步骤如下:

  • 启动JMeter
  • 使用文件>模板…菜单项,然后选择“录制”模板并单击“创建” 录制模板

  • 单击“开始”按钮启动HTTP(S)测试脚本记录器 开始录制

  • JMeter将在jmeter / bin文件夹中生成2种格式的证书颁发机构:

    • ApacheJMeterTemporaryRootCA.crt
    • ApacheJMeterTemporaryRootCA.usr
  • 查找系统使用的cacerts文件,它应该在JAVA_HOME / jre / lib / security / cacerts中
  • 跑:

keytool -keystore cacerts -importcert -alias jmeter_ca -file /bin/ApacheJMeterTemporaryRootCA.crt

  • 密钥库密码通常是“changeit”
  • 输入“yes”表示“信任此证书?” 题

参考文献:

2 /将JMeter设置为JNLP的代理:

  • 打开Java控制面板

Java控制面板

  • 单击网络设置。 将打开“网络设置”对话框。

  • 选择使用代理服务器,输入代理服务器名称(localhost)和端口号(JMeter为8888)。

代理配置

  • 单击“高级”并选中“为所有协议使用相同的代理服务器”:

对所有协议使用相同的代理 – 单击“应用” – 再次重新启动应用程序

参见参考文档:

如果它不是HTTP,则插件不支持它。