JMeterでハマッた話
JMeterでショボい理由で無駄にハマッたので自戒をこめて書く。
普段はWindows上からJMeter使ってたのだけど
テスト対象の都合でLinuxから実施したかったので
Windows上でテスト計画を作成し動作確認後、
保存したJMXファイルをLinux上にもっていって実行する。
vagrant@jmeter:~/work$ /usr/local/apache-jmeter/bin/jmeter -n -t postdata.jmx Creating summariser <summary> Created the tree successfully using postdata.jmx Error in NonGUIDriver java.lang.RuntimeException: Could not find the TestPlan class!
エラーメッセージでググるも決定打は見つからず半日浪費・・・。
結論から言うと親要素が無い不完全なJMXファイルを作成していたから。
回避するには、別名を付けてテスト計画を保存したい場合には、
・ファイルメニューの「テスト計画に名前を付けて保存」を使う。
・テスト計画を選択した状態で「別名で保存...」ボタンを押す。
どうしてハマッたか一応説明言い訳。
JMeterのGUIの左上の画像。
初期状態では「テスト計画」と「ワークベンチ」が並んでいて、
「テスト計画」の下に画像のようにツリー上にコンポーネントを配置します。
そして出来たら実行したり保存したりします。
画像を見るとおり保存ボタンぽいのが2つあって、
左が「テスト計画を保存」、右が「別名で保存...」です。
一番最初や動作確認がとれるまでは「テスト計画を保存」を利用して、
ちょっと条件を変えたので別名で保存したい時に「別名で保存...」を使いそうですね。
しかしココに実は罠が合って、「別名で保存...」は私が思っているのと違ったという話。
ボタンと同じコマンドはファイルメニューからも実行できて、見ると、
新たに「テスト計画に名前を付けて保存」が見つかりました。
では、「別名で保存...」は何を保存するのか。
答えは英語表記にしてみるとわかりました。
「Save Selection As...」
選択したものを別名で保存する、なので
最初の画像のように子要素を選択した状態で「別名で保存...」すると
部分的な保存になってしまうというオチでした。