编程语言
首页 > 编程语言> > 如何使用JMeter记录JNLP / Java Web Start应用程序

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

作者:互联网

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

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

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

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

问候,
海梅

解决方法:

如果流量是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 <path to jmeter>/bin/ApacheJMeterTemporaryRootCA.crt

>密钥库密码通常是“changeit”
>为“信任此证书?”输入“是”题

参考文献:

> https://docs.microsoft.com/en-us/azure/java-add-certificate-ca-store
> https://stackoverflow.com/a/11937940/460802
> https://stackoverflow.com/a/8980460/460802

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

>打开Java控制面板

Java Control Panel

>单击“网络设置”.将打开“网络设置”对话框.
>选择使用代理服务器,输入代理服务器名称(localhost)和端口号(JMeter为8888).

Proxy Configuration

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

Use same proxy for all protocols
– 单击“应用”
– 再次重启您的应用程序

参见参考文档:

> https://docs.oracle.com/javase/7/docs/technotes/guides/jweb/networking/proxie_config.html
> Force java web start to use a proxy like Fiddler without touching code

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

标签:jnlp,java,jmeter,java-web-start,ubikloadpack
来源: https://codeday.me/bug/20191002/1843823.html