我正在尝试使用Jmeter来测试我公司的网站。我使用的是Jmeter 2.9和Firefox,它工作正常。但是,网站的某些部分必须使用Chrome进行测试,因此我进行了切换。出于某种原因,Jmeter 2.9没有记录与我公司网站的互动,所以我决定升级到2.11。
我创建了一个HTTP(S)测试脚本记录器并更改了Chrome的代理设置以适应。当我尝试启动代理服务器时,出现此错误:
Could not create script recording proxy-see log for details: Command:'keytool -genkeypair -alias: root_ca: -dname "CN=_DO_NOT_INSTALL unless this is your certificate (JMeter root CA), OU=Username: <MY_USERNAME>, C=US" -keyalg RSA -keystore proxyserer.jks -storepass {redacted) -keypass {redacted) -validity 7 -ext bc:c' failed, code:1
Illegal option: -ext
Try keytool -help
我尝试用谷歌搜索Illegal option: -ext
但没有任何结果。我在命令行中键入keytool -help
(我在Ubuntu上)并且没有找到任何看起来有帮助的东西。
我可以使用你得到的任何帮助。
答案 0 :(得分:5)
启动录像机并生成证书时,我刚刚遇到此错误。问题是Jmeter使用Java 6 keytool而不是Java 7.我通过编辑启动脚本(jmeter.sh)并在$ PATH的开头添加java 7安装路径来解决它。
答案 1 :(得分:1)
当我从2.9升级到2.11时,我遇到了同样的错误 确保使用JMeter启动脚本启动JMeter(适用于Mac / Unix的.sh和适用于Windows的.bat)。这对我有用(2.9我可以点击.jar文件但它在2.11上不起作用 - 至少在mac上)。
如果这不起作用,您是否对Java版本进行了任何更改?
答案 2 :(得分:1)
有同样的错误,因为我this post解决了这个问题 引用作者 - 将其粘贴到您的... \ apache-jmeter-2.13 \ bin \ user.properties
proxy.cert.alias =任何
答案 3 :(得分:-1)
硬(但更正确)方式 - 使用HTTP Header Manager设置User-Agent
标头,在服务器端使用该标头来标识客户端的浏览器。
即。 Firefox 25的User-Agent将是
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0
Chrome用户代理
Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36
另一种选择是使用Google Chrome plugin,它允许直接从Google Chrome浏览器录制JMeter脚本,而无需担心代理和SSL证书。它还会记录当前Chrome浏览器的正确用户代理以及其他浏览器派生的标头,例如Accept-Language。