如何使用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
>使用文件>模板…菜单项,然后选择“录制”模板并单击“创建”
>单击“开始”按钮启动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 <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控制面板
>单击“网络设置”.将打开“网络设置”对话框.
>选择使用代理服务器,输入代理服务器名称(localhost)和端口号(JMeter为8888).
>单击“高级”并选中“为所有协议使用相同的代理服务器”:
参见参考文档:
> 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