JMeter - HTTPS 代理记录器 - 找不到密钥工具应用程序并且未提供密钥库

JMeter - HTTPS proxy recorder - Cannot find keytool application and no keystore was provided

我在使用 JMeter 5.1.1 记录场景时遇到这个错误。单击开始按钮时,弹出消息提示错误并在日志中进一步检查,收到错误“无法初始化密钥存储”

为了解决这个问题,我在 system.properties 文件中提供了以下设置,但它不起作用

keytool.directory=C:\Program Files\RedHat\java-1.8.0-openjdk-1.8.0.242-3\bin

此外,在 Jmeter.bat 文件中设置 Java_Home 和路径也没有帮助

SET JAVA_HOME=C:\Program Files\RedHat\java-1.8.0-openjdk-1.8.0.242-3 SET PATH=%PATH%;%JAVA_HOME%\bin

2020-10-05 21:08:45,453 ERROR o.a.j.p.h.p.ProxyControl: Could not initialise key store
java.io.IOException: Cannot find keytool application and no keystore was provided**
    at org.apache.jmeter.protocol.http.proxy.ProxyControl.initKeyStore(ProxyControl.java:1494) ~[ApacheJMeter_http.jar:5.1.1 r1855137]
    at org.apache.jmeter.protocol.http.proxy.ProxyControl.startProxy(ProxyControl.java:540) [ApacheJMeter_http.jar:5.1.1 r1855137]
    at org.apache.jmeter.protocol.http.proxy.gui.ProxyControlGui.startProxy(ProxyControlGui.java:592) [ApacheJMeter_http.jar:5.1.1 r1855137]

Using spaces JDK location is not the best idea 但是,如果这是您无法控制的事情,您可以用引号将 JDK 位置括起来,例如:

SET JAVA_HOME="C:\Program Files\RedHat\java-1.8.0-openjdk-1.8.0.242-3 SET"

更多信息:Using Spaces in File Names

还有一种记录 JMeter 测试的替代方法:JMeter Chrome Extension,在这种情况下,您不必担心代理、证书、密钥库等问题。

我使用的是 apache 5.1,升级到最新版本 5.3 解决了我的问题。