質問: お世話になります。 JMeterでJavaScriptを使った動的コンテンツ(画像など)の表示をテストする方法を探しています。 具体的には、 ページを表示するときに、JavaScriptが動いてリクエストされている内容によって動的に画像を表示する。 といったものです。 例をあげると、ショッピングサイトで、「検索をするとその検索内容に従って商品の一覧が画像と一緒に表示される」というのがよくあると思うのですが、そういったものです。 色々調べてみたのですが、どうもJMeterでレスポンスを受けたJavaScriptファイルは実行できないようなのですが、(ブラウザではないので、それはそうかという感じですが) そういった場合、上記の例のようなショッピングサイトの表示テストは出来ないということになってしまうのでしょうか。 ちなみに画像のURLは、JQuery.Ajaxを使ってDBから取得してくるという仕組みです。 そもそも、このような仕組みをとっているから、JMeterでテストできない要因になってしまっているのでしょうか。 何か知っている方がいたら、教えていただければと思います。 よろしくお願いいたします。
回答: JMeterは期待している内容をテストするためものではないということはご存知でしょうか。 JMeterはシナリオテスト・パフォーマンス計測・負荷テストをするためのツールです。ブラウザでの操作(具体的にはブラウザが送信するデータ)を登録し同時実行数を設定の上実行することで、複数ユーザがサーバに対してリクエストを送信した場合のリクエストの成否とレスポンスタイムが結果として得られるというツールです。 JMeterそのものの仕組みは、ブラウザが送信するデータをサーバに送信しレスポンスデータを取得するという比較的単純なものです*1。レスポンスデータの値を使用してリクエストの成否を判断させることも可能です。 > > ちなみに画像のURLは、を使ってDBから取得してくるという仕組みです。 > > そもそも、このような仕組みをとっているから、JMeterでテストできない要因になってしまっているのでしょうか。 > > > こちらについてはJMeterが要因ではありません。JQuery.Ajaxで行っているサーバへのリクエストURLやパラメータをJMeterに登録し、レスポンスデータに含まれる画像のURLをリクエストの成否の判定に使用すれば可能です。 *1:JMeterにとってJavaScriptが実行できるか否かどころかブラウザが何であるかも関係はありません。 JMeterへの登録方法と判定方法は下記が参考になると思います。 JMeter ブラウザの動きを記憶させる TECHSCORE JMeter 5.アサーション JMeterを使い倒す JavaScriptの内容をテストするのであれば、やはりJavaScriptに適したテスト方法で取り組むのが良いと思います。いかがでしょうか。