シナリオテストをするときにこういうことをよくやると聞いたので。
雑調査
- Jmeter が Proxy になる
- Jmeter に食わせる jmx を生成する
詳細調査
Jmeter自身が Proxy になる
https://jmeter.apache.org/usermanual/best-practices.html#proxy_server
なんと Jmeter 自身も Proxy Server として動作するっぽい Client —> Jmeter Server —> App といった構成にすることで、Jmeter で記録できるっぽい
Test Script Recorder
手順
- Recording Controller (記録先の設定) 追加
- Test Script Recorder 追加
- サーバー起動
- アプリの証明書ルートに CA 証明書をインストール
なるほど。まさに MITM を Jmeter がやることで HTTPS も取得できる感じか。
証明書の配置先はめっちゃわかりにくい
sudo find / -type f -name ApacheJMeterTemporaryRootCA.crt
Password:
/usr/local/Cellar/jmeter/5.4.3/libexec/bin/ApacheJMeterTemporaryRootCA.crt
これをブラウザにいれればOKぽい
テスト : 一旦証明書なしのみ。
curl http://google.com -x http://localhost:8888
insecure
curl --insecure https://google.com -x http://localhost:8888
curl -X POST -H "Content-Type: application/json" -d '{"Name":"sensuikan1973", "Age":"100"}' --insecure https://google.com -x http://localhost:8888
curl -X GET -H "Content-Type: application/json" --insecure https://google.com -x http://localhost:8888
確かにこれで記録された
![[Pasted image 20221125115354.png]]
Jmeterに食わせる Jmx 生成
- JMeter test plan generator
- Jmeter proxy
- JMX generator
ざっと検索した感じない。GitHubにもない
汎用的なテストプラン生成 proxy探す
- load test plan generator https://github.com/search?q=test+plan+load ない。汎用シナリオのユースケースが最近はないのかも。
一旦ここまでで打ちとめ、需要があればツール作成も検討する