文章目錄
在 Mac 上安裝 JMeter
之前只在 Windows 安裝過 JMeter,沒有 Mac 上的 JMeter 使用經驗,趁著最近專案需要順手紀錄一下遇到的問題
關於 JMeter
Apache JMeter 是一個 Apache 專案,目的是用來作 load test 工具,可以提供於分析和測量各種服務的性能,主要目標是 Web application。 JMeter 也可以用來進行 JDBC數據庫連接,FTP,LDAP,WebService,JMS,HTTP,一般 TCP 連線和 OSnative processes 的單元測試工具。
基本環境說明
- macOS Mojave 10.14.6
- Java SE 11.0.1 / openJDK 12.0.2
- Java SE 8 (1.8.0_192)
- JMeter 5.1.1
基本安裝流程
兩個方法各有好壞,擇一即可
手動安裝
- 下載並解壓 Apache JMeter
- 執行
apache-jmeter-5.1.1/bin/jmeter.sh
使用 homebrew
brew install jmeter
會自動加入環境變數,不用指定執行路徑
順利啟動
遇到的問題
我個人比較懶,理所當然挑的是使用 homebrew 來安裝,不過使用時卻遇到無法從 View Results Tree 中看到 http request 的 Response data (畫面會 hang 住),但手動安裝的環境中並沒有遇到相同問題
錯誤訊息
Uncaught Exception java.lang.ClassCastException: class javax.swing.text.AbstractDocument$DefaultDocumentEventUndoableWrapper cannot be cast to class javax.swing.text.AbstractDocument$DefaultDocumentEvent (javax.swing.text.AbstractDocument$DefaultDocumentEventUndoableWrapper and javax.swing.text.AbstractDocument$DefaultDocumentEvent are in module java.desktop of loader 'bootstrap'). See log file for details. Uncaught Exception java.lang.ClassCastException: class javax.swing.text.DefaultStyledDocument cannot be cast to class jsyntaxpane.SyntaxDocument (javax.swing.text.DefaultStyledDocument is in module java.desktop of loader 'bootstrap'; jsyntaxpane.SyntaxDocument is in unnamed module of loader org.apache.jmeter.DynamicClassLoader @2eee9593). See log file for details.
錯誤截圖
解決方式
將 JDK or JRE 降版至 1.8 (有 網友 說 JMeter 不支援 JAVA 9,但我覺得應該只是誤會,我直接下載就可以用,個人不負責猜測只是 homebrew 包的版本不支援而已)
列出可用 java 版本
/usr/libexec/java_home -V
設定 java 版本
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0_192)
心得
這次在 Mac 上使用 JMeter 可謂是踩雷不斷呀,目前先紀錄無法看到 GUI 無法正確呈現資訊的狀況,接著會持續紀錄這次使用 Mac 版 JMeter 遇到的點點滴滴,供日後使用參考
參考資訊
文章作者 Yowko Tsai
上次更新 2021-11-02
授權合約
本部落格 (Yowko's Notes) 所有的文章內容(包含圖片),任何轉載行為,必須通知並獲本部落格作者 (Yowko Tsai) 的同意始得轉載,且轉載皆須註明出處與作者。
Yowko's Notes 由 Yowko Tsai 製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款 釋出。