【问题标题】:How to record a JNLP/ Java Web Start application with JMeter如何使用 JMeter 记录 JNLP/Java Web Start 应用程序
【发布时间】:2018-09-09 00:08:57
【问题描述】:

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

我使用了 WireShark,发现 jnlp 只生成 TCP 流量。

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

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

问候, 詹姆

【问题讨论】:

  • JNLP 不像 TCP 那样的协议。它实际上只不过是文件的格式。所有流量都通过 HTTP 或 FTP 或您为 JNLP 文件中的 URL 定义的任何内容进行。很难理解为什么你会关心性能。不清楚你在问什么。

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


【解决方案1】:

如果流量是 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

  • keystore 密码通常是“changeit”
  • 为“信任此证书?”输入“是”问题

参考资料:

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

  • 打开 Java 控制面板

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

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

  • 点击高级并勾选“对所有协议使用相同的代理服务器”:

- 点击应用 - 重新启动您的应用程序

参见参考文档:

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

【讨论】:

    猜你喜欢
    • 2010-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 2010-10-11
    相关资源
    最近更新 更多