3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

富士通ソーシアルサイエンスラボラトリAdvent Calendar 2019

Day 25

たのしくラクしよう、そのためのJMeter

Last updated at Posted at 2019-12-24

#Webアプリ/テストは面倒?
テストにつきもののエビデンス。いちいち「どんな操作したのか」を記録しなければいけない。そのために画面ショットを取るのを繰り返す。面倒くさくない?

しかもエビデンス画像を、エクセルとかに貼り付けて保存する。ファイルサイズが馬鹿にならない。だいたいそんな毎度の操作していたら、作業時間が通常操作の数倍もかかってしまう。あー、めんどくさい。

しかも途中でプログラム修正したら、もういちど同じ手順でやり直し?
だれか責任者呼べー!

#JMeterの強み(VS人手)
ブラウザ操作を記録し、再現するツール、JMeter。通常は「負荷テストツール」だと思われているが、繰り返し操作の回避だけでなく、JMeterの実行定義体が操作内容の証左になる。こんな便利なもの、使わない手はない!

Ver5になってデザインがカッコよくなった(以前はWindows3.1風・・・)

#手順の記録(保存)はカンタン! 
JMeterの操作記録について、便利機能のキモは「Proxy」。つまり、

[パソコンのブラウザ] → [Proxy] → [アプリの動くサーバ]

と同じ経路で、JMeterがニセProxyになって操作の結果を保存してしまう。
・・・つまり、HTML的には、SubmitしてHTTP通信でサーバ問い合わせる内容を保存し再現する、ということ。
ニセプロキシの追加方法は・・・
image.png
とやると、追加される。
image.png
ブラウザ側の設定も、コレでOK。

あとはJMeterの[>開始]をクリックして、ブラウザ操作するだけ。

注意として、クライアントサイドのスクリプトについては「知らんがな」であること。
逆に言えば、動作記録する際に、まごまごして入力エリアの値をなんども直したり、ラジオボタンの選択をなんども行き来しても、最終的に、Submit()したときの状態で覚えてくれるから、キニシナイ

#カスタマイズのポイント
再現時間もこまかく指定可能。素で再現すれば、待ち時間ゼロで、あっという間に全操作を実行しちゃう。
操作の間にSleep(定数タイマ)を入れれば、人間ぽく、Submitして、画面が戻って、それから数秒後に次の画面でSubmitして、ということが設定可能。

もちろん繰り返しループの機能もあります。

もっと柔軟に使いたい?
たとえば記録した時の操作が、name="skatou" だったとして、Proxy機能で記録して、再現したら、いつでもname="skatou"のまま。動的に変えたくならない?

そんなときは、こんな便利機能があって・・・
image.png
このnameの値を、任意に入力できちゃう。

さらにさらに!、これは変数化することもできて、
image.png

で、この変数、CSV入力ができる!これぞJMeterの真骨頂!
image.png

#使いたくなった?
とりあえずインストールし、Proxy設定し、ブラウザ操作してシナリオを記録。
その定義内容をみるだけでも、お昼の退屈な時間がパラダイスに!?

あ、そういや、JMeterの動作記録として、jmeter.logを出力するので、それがエビデンスとして使えますが、JMeterを2つ以上起動すると、出力の担保がアヤシイことだけは、記しておきます。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?