44
43

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 5 years have passed since last update.

Test ToolAdvent Calendar 2015

Day 9

便利すぎる負荷試験テストツールGatlingの使い方~ブラウザ操作記憶編~

Last updated at Posted at 2015-12-08

前回の便利すぎる負荷試験テストツールGatlingの使い方~自力ソース編~に続き、今回はブラウザで操作した内容をそのままソースに落としてテストする方法です。

これを使えば自分でソース書かないでも、ブラウザ操作がそのままソースになるのでテスト作る時にも楽ですね!!

まずはRecoderと呼ばれるGUIを呼び出しましょう

#Gatlingのインスールされたディレクトリに移動
sh bin/recorder.sh

上記のコマンド叩くとこんな画面が立ち上がります。
スクリーンショット 2015-12-07 20.02.38.png

ブラウザ操作を記憶するにはプロキシ設定が必要なので、macのプロキシ設定画面を開きます。

wifiアイコンのとこから "ネットワーク"環境設定を開く>詳細>プロキシタブ

ここで、Webプロキシ(HTTP)にチェックを入れてWebプロキシサーバに
localhost:8000
を入力しましょう

スクリーンショット 2015-12-07 20.08.42.png

これで準備はOKです!
この後は

Recoder GUIのStart!ボタン押した後の操作が記憶されるので、まずは余計なタブとか全部閉じましょう。

その上でブラウザのシークレットモードでやったほうが確実です。

今回は以下のgatlingのテスト用に用意されているサイトを使ってみたいと思います。
http://computer-database.gatling.io/computers

まずStartボタン押してから上記のサイトにアクセス

スクリーンショット 2015-12-07 20.22.30.png

次は「ASUS」とFilterのテキストボックスに入れてFilter by nameボタンをクリックしましょう。

今回はここでrecoderGUIのSTOPボタンを押すと今までのコードがソース化されます。

ソースは以下の場所に出来てるはず。
GATLING_HOME/user-files/simulations/RecordedSimulation.scala

中身ができてますね

import scala.concurrent.duration._

import io.gatling.core.Predef._
import io.gatling.http.Predef._
import io.gatling.jdbc.Predef._

class RecordedSimulation extends Simulation {

	val httpProtocol = http
		.baseURL("http://computer-database.gatling.io")
		.inferHtmlResources()

	val headers_0 = Map("Upgrade-Insecure-Requests" -> "1")

    val uri1 = "http://computer-database.gatling.io"

	val scn = scenario("RecordedSimulation")
		.exec(http("request_0")
			.get("/")
			.headers(headers_0))
		.pause(8)
		.exec(http("request_1")
			.get("/computers?f=ASUS")
			.headers(headers_0))
		.pause(2)
		.exec(http("request_2")
			.get("/computers/20607")
			.headers(headers_0))

	setUp(scn.inject(atOnceUsers(1))).protocols(httpProtocol)
}

実行方法は

sh bin/gatling.sh

とすると、先ほど記録したRecodedSimulationが選択肢に出てきます

Choose a simulation number:
     [0] RecordedSimulation
     [1] computerdatabase.BasicSimulation
     [2] computerdatabase.advanced.AdvancedSimulationStep01
     [3] computerdatabase.advanced.AdvancedSimulationStep02
     [4] computerdatabase.advanced.AdvancedSimulationStep03
     [5] computerdatabase.advanced.AdvancedSimulationStep04
     [6] computerdatabase.advanced.AdvancedSimulationStep05

なので、0を選択して実行すると先ほど記憶した操作が実行されました!!

APIのテストや、WEB画面のテストもこれ使えばすぐテスト行えますね!!

次回は戻り値のチェックなど行ってみたいと思います。

##続き
便利すぎる負荷試験テストツールGatlingの使い方~戻り値チェック編~

44
43
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
44
43

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?