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

时间:2018-03-29 22:50:40

标签: java jmeter java-web-start jnlp ubikloadpack

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

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

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

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

此致 Jaime

1 个答案:

答案 0 :(得分:1)

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

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

请参阅文档" 配置HTTPS应用程序" (第7/8页)。如果流量为HTTPS

,这将允许您的应用程序在使用JMeter作为代理时工作

步骤如下:

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

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

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

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

keytool -keystore cacerts -importcert -alias jmeter_ca -file< jmeter的路径> /bin/ApacheJMeterTemporaryRootCA.crt

  • 密钥库密码通常是" changeit"
  • 输入"是" for"信任这个证书?"问题

参考文献:

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

  • 打开Java控制面板

Java Control Panel

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

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

Proxy Configuration

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

Use same proxy for all protocols - 单击“应用” - 再次重启您的申请

参见参考文档:

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