如何解决JMeter脚本录制报错问题?
JMeter录制脚本时证书生成失败的解决办法
问题描述
点击JMeter的Start按钮启动脚本录制时,弹出错误:
Could not create script recorder - see log for details: >> keytool error: java.lang.RuntimeException: java.io.IOException: DNSName components must consist of letters, digits, and hyphens << Command failed, code: 1
仅尝试录制opencart.abstracta.us网页加载过程,已设置Windows代理为localhost:8080,问题未解决。
错误原因
该错误是JMeter自动生成代理证书时,你的主机名包含了字母、数字、连字符以外的非法字符(如下划线、中文等),导致keytool工具无法生成符合DNS规范的证书。
解决步骤
方法1:修改主机名(推荐)
- 右键「此电脑」→「属性」→「更改设置」→「更改」
- 将主机名修改为仅包含字母、数字、连字符的名称,完成后重启电脑
- 重新启动JMeter尝试录制
方法2:手动生成代理证书
- 打开命令提示符,进入JMeter的bin目录(示例路径:
cd C:\apache-jmeter-5.6.2\bin) - 执行以下命令生成证书:
keytool -genkeypair -alias jmeter -keyalg RSA -validity 730 -keystore jmeter.jks -storepass changeit -keypass changeit -dname "CN=localhost, OU=JMeter, O=Apache, L=Unknown, ST=Unknown, C=US"
- 打开JMeter的「HTTP(S) Test Script Recorder」,点击「Browse」选择生成的
jmeter.jks文件,密码填写changeit,再启动录制
方法3:使用JMeter录制模板
- 打开JMeter→「文件」→「模板」→选择「Recording」模板
- 按照模板提示完成配置后启动录制,该方式会自动处理证书相关配置,可规避主机名问题
内容的提问来源于stack exchange,提问作者manymanymore
相关产品推荐
相关产品推荐

