2014-02-17 186 views
4

我想用Jmeter來測試我公司的網站。我使用的是Jmeter 2.9和Firefox,並且工作正常。但是,網站的某些部分必須使用Chrome進行測試,因此我切換了。由於某些原因,Jmeter 2.9不記錄與我公司網站的交互,所以我決定升級到2.11。Jmeter代理服務器錯誤「非法選項:-ext」

我創建了一個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上)並沒有收回任何看起來有用的東西。

我可以使用你得到的任何幫助。

回答

1

我有,當我從2.9升級到2.11
確保您使用JMeter的啓動腳本(.SH適用於Mac/Unix和蝙蝠適用於Windows)開始JMeter的這個確切的同樣的錯誤。這對我來說很有效(我用2.9可以點擊.jar文件,但它在2.11上不起作用 - 至少在Mac上)。

如果這不起作用,您是否對Java版本做了任何更改?

+0

試圖執行JMeter的。 sh什麼都不做。我用'top'進行了雙重檢查,並且它也不會在後臺打開任何進程。我還沒有對Java進行過任何更改。 – DementedDr

+0

注意(對於像我這樣的noobs)使用jmeter.sh啓動腳本在控制檯類型'sh jmeter.sh'(假設你在jmeter bin目錄中)啓動jmeter。通過這種方式,開始錄製時,事情順利進行,並且我沒有從keytool獲得非法選項-ext錯誤。我以前編輯啓動腳本來添加這些java變量:http://stackoverflow.com/questions/26409355/error-starting-proxy-server-in-apache-jmeter – Danny

-1

硬(但更正確)的方式 - 使用HTTP Header Manager來設置User-Agent標題,它在服務器端用於標識客戶端的瀏覽器。

I.e.用戶代理爲Firefox 25將

Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0 

的User-Agent爲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允許記錄直接從谷歌Chrome瀏覽器的一個JMeter的腳本,而無需擔心代理是和SSL證書。它還會記錄當前Chrome瀏覽器的正確用戶代理以及其他瀏覽器派生的標頭,如Accept-Language。

+0

這與錯誤消息有什麼關係? –

+0

我沒有嘗試設置User -Agent標頭,但我正在嘗試插件。它正在工作,但不如Jmeter那樣。 – DementedDr

+0

我即將添加「Chrome」用戶代理到**現有的**腳本,而不是重新錄製所有內容,而用「Firefox」代替所需的站點部分。它應該更快,更容易 –

5

我剛開始記錄並生成證書時遇到了這個錯誤。問題原來是因爲Jmeter使用的是Java 6 keytool而不是Java 7.我通過編輯啓動腳本(jmeter.sh)並在$ PATH開頭添加了java 7安裝路徑來解決此問題。

+0

這解決了我的問題!謝謝。 –

1

了同樣的錯誤,我this post解決引用筆者的問題 - 粘貼到您的... \ Apache的JMeter的2.13 \ BIN \ user.properties

proxy.cert.alias=anything

+0

重新啓動JMeter後爲我工作。 –