2

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

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

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

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

问候,詹姆

4

1 回答 1

1

If traffic is HTTP(s), as per documentation of UbikLoadPack bundle, You need to follow the instructions of paragraphs:

1/Add JMeter certificate authority to the cacerts file used by Java:

See in documentation "Configuring Application for HTTPS" (Pages 7/8). This will allow your application to work when using JMeter as proxy if traffic is HTTPS

Steps are the following:

  • Start JMeter
  • Use File > Templates... Menu item, then select "Recording" Template and click Create Recording Template

  • Start HTTP(S) Test Script Recorder by clicking on Start Button Start Recording

  • JMeter will generate a Certificate Authority in 2 formats in jmeter/bin folder:

    • ApacheJMeterTemporaryRootCA.crt
    • ApacheJMeterTemporaryRootCA.usr
  • Find cacerts file used by your system, it should be in JAVA_HOME/jre/lib/security/cacerts
  • Run:

keytool -keystore cacerts -importcert -alias jmeter_ca -file <path to jmeter>/bin/ApacheJMeterTemporaryRootCA.crt

  • keystore password is usually "changeit"
  • enter "yes" for "Trust this certificate?" question

References:

2/To set JMeter as proxy of JNLP:

  • Open the Java Control Panel

Java Control Panel

  • Click Network Settings. The Network Settings dialog box opens.

  • Select Use proxy server, enter the proxy server name (localhost), and port number (8888 for JMeter).

Proxy Configuration

  • Click Advanced and check "Use same proxy server for all protocols":

Use same proxy for all protocols - Click Apply - Restart your application again

See reference documentation:

If it’s not HTTP, the plugin does not support it.

于 2018-03-30T05:48:13.043 回答