シナリオテストをするときにこういうことをよくやると聞いたので。

雑調査

  • 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探す

一旦ここまでで打ちとめ、需要があればツール作成も検討する