JMeter
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
[[JMeter - Apache JMeter>http://jakarta.apache.org/jmeter...
#contents
**ダウンロード [#yc0a4fcb]
[[The Jakarta Site - JMeter Downloads>http://jakarta.apac...
**やってみる [#sab3fc53]
実際にやってみます。
シナリオとしては
-http://localhost:8080/stressTest/index.do でログイン画面...
-http://localhost:8080/stressTest/login.do でログインアク...
-http://localhost:8080/stressTest/logout.doでログアウトア...
-ログアウトアクションでは、トークンチェックしている
なんてモノをやってみようと思います。ログインアクションは...
userid=hoge
password=fuga
だったらOKとロジックがくんであります。またトークンチェ...
/stressTest/logout.do?org.apache.struts.taglib.html.TOKEN
=166176d36f24bb9a0c77df7f368d...
というリクエストごとに異なる値が載っているというモノです...
&color(red){絶対に他者のサイトにストレスをかけないでくだ...
では実際にストレステストのシナリオを作っていこうと思いま...
***全体の設定 [#g43446a6]
テスト計画で右クリックして
追加 > スレッドグループ
で追加します。
#ref(01.png)
下記のスレッドグループ設定では、
-スレッド数
-何秒かけて起動するか((10秒と設定したら、上のスレッドを10...
-ループ回数(上の設定を何回ループするか)
などを設定します。たとえば
-スレッド数 5
-Ramp-Up期間 10秒
-ループ回数 1
とした場合、10秒で5スレッドを起動するので、2秒に1回(初回...
#ref(02threadGroup.png)
***接続先の指定 [#n9577943]
次に接続先のサーバを指定します。テスト計画で右クリックして
追加 > 設定エレメント > HTTPリクエスト初期値設定
で追加します。
#ref(03Init.png)
ここでは接続先のサーバ名やプロトコルなどを一括で指定する...
#ref(04Init.png)
***各クエリの追加 [#h0b5d90d]
次に各画面ごとのクエリを追加していきます。クエリは スレッ...
追加 > サンプラー > HTTPリクエスト
で追加します。
#ref(05sampler.png)
サンプラーの画面では
-パス(URLのコンテキスト以下)
-GETかPOSTか
-クエリのパラメタ
などを指定します。たとえば下の例だとリクエストパスを /str...
#ref(06sampler.png)
別のサンプラも作ってみます。ログイン画面表示後の次のアク...
#ref(07parameter.png)
ここまでで一度実行してみます。JMeterのメニューから
実行 > 開始
でストレステストが開始されます。サーバのログなどを見ると...
***計測結果をみてみる [#v36eef60]
先ほどサーバに負荷をかけしましたが、レスポンスタイムやス...
追加 > リスナー > 結果を表で表示 or 統計レポート
でリスナーを追加します。
#ref(08rep.png)
これらのリスナーはいわゆるレポート機能で「結果を表で表示...
-結果を表で表示
#ref(09table.png)
-統計レポート
#ref(10stat.png)
***戻り電文をアサーションする [#e429ae02]
次は戻り電文のアサーションをしてみたいと思います。アサー...
使い方ですが、アサーションしたいアクション(サンプラ)で右...
追加 > アサーション > アサーション
で追加します。
#ref(11assertion.png)
アサーションの画面ではどのようなアサーションを行うかを指...
#ref(12assertion.png)
これでテスト実行しましょう。アサーションの結果は先のリス...
#ref(13ok.png)
アサーションOK。の場合。
#ref(14ng.png)
アサーションNG。の場合。
***トークンなど、前画面の値をリクエストにセットする [#gc4...
続いてログアウトのサンプラを追加したいと思いますが、先の...
org.apache.struts.taglib.html.TOKEN=hogehoge
を取り、ここに前画面つまりログインアクションの戻りhtml内の
<a href="/stressTest/logout.do?org.apache.struts.taglib....
=7704e3e689f49ec91f539f083da60de2">ログアウト<...
の値を設定する必要があります。ようするに「直前のサンプラ...
ログアウトアクションのサンプラを作成したあと、正しくログ...
#ref(15assertion.png)
もちろんこのままだとトークンがパラメタに載らないため、[[...
さて前画面の値をリクエストにセットするには「HTMLリンクパ...
追加 > 前処理 > HTMLリンクパーサ
とします。
#ref(16htmlLinkParser.png)
ログアウトアクションにHTMLリンクパーサが追加されました。...
org.apache.struts.taglib.html.TOKEN=.*
をパラメタに追加します。
#ref(17parserParam.png)
また、トークンはJ2EEセッションがつながっている必要がある...
追加 > 設定エレメント > HTTP クッキーマネージャ
でOKです。
#ref(18Cookie.png)
これでリクエストすると、、、、確かに前画面のhtmlリンクか...
**ユーザ定義の変数をつかう [#e4f59b7b]
**戻り電文の任意の値を次のリクエストにセットする [#lf5719...
先ほどは、前画面の戻りhtmlのなかの特定のリンクタグからパ...
**ID/PASSなど、可変な値をリストファイルからセットする [#q...
**オペレーションを自動記録する [#xb011c59]
今まで手動でサンプラー(リクエスト)を作ってきましたが、実...
***プロキシサーバの追加 [#i1cd78f4]
ワークベンチで右クリックして、
追加 > Non Test エレメント > HTTP プロキシサーバ
でプロキシサーバを追加します。
**XML-RPCのようなkey=value形式でないクエリを送信する [#lb...
**関連リンク [#u0c0b76c]
-[[JMeter - Apache JMeter>http://jakarta.apache.org/jmete...
-[[JMeter(高機能/フリーなテストツール)第1回:JMeterの基本...
-[[JMeter(高機能/フリーなテストツール)第01回:JMeterの基...
-[[JMeter-TECHSCORE->http://www.techscore.com/tech/Apache...
-[[[jmeter] - marsのメモ>http://d.hatena.ne.jp/masanobuim...
-[[テスト・スクリプト改善のヒント - ITアーキテクト [IT Ar...
-[[Apache-JMeter.pdf (application/pdf オブジェクト)>http:...
----
この記事は
#vote(おもしろかった[77],そうでもない[7])
- はじめまして。JMETERのXML-RPCのようなkey=Value形式でな...
- コメントありがとうございます。書かなきゃと思って、追い...
- 御世話になっております。Jmeterで負荷テストをおこなおう...
- Another year <a href=" http://www.blogdojorgearagao.com...
- What's the last date I can post this to to arrive in t...
- How much is a Second Class stamp? <a href=" http://docu...
- Insert your card <a href=" http://www.mens-app.es/anabo...
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
終了行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
[[JMeter - Apache JMeter>http://jakarta.apache.org/jmeter...
#contents
**ダウンロード [#yc0a4fcb]
[[The Jakarta Site - JMeter Downloads>http://jakarta.apac...
**やってみる [#sab3fc53]
実際にやってみます。
シナリオとしては
-http://localhost:8080/stressTest/index.do でログイン画面...
-http://localhost:8080/stressTest/login.do でログインアク...
-http://localhost:8080/stressTest/logout.doでログアウトア...
-ログアウトアクションでは、トークンチェックしている
なんてモノをやってみようと思います。ログインアクションは...
userid=hoge
password=fuga
だったらOKとロジックがくんであります。またトークンチェ...
/stressTest/logout.do?org.apache.struts.taglib.html.TOKEN
=166176d36f24bb9a0c77df7f368d...
というリクエストごとに異なる値が載っているというモノです...
&color(red){絶対に他者のサイトにストレスをかけないでくだ...
では実際にストレステストのシナリオを作っていこうと思いま...
***全体の設定 [#g43446a6]
テスト計画で右クリックして
追加 > スレッドグループ
で追加します。
#ref(01.png)
下記のスレッドグループ設定では、
-スレッド数
-何秒かけて起動するか((10秒と設定したら、上のスレッドを10...
-ループ回数(上の設定を何回ループするか)
などを設定します。たとえば
-スレッド数 5
-Ramp-Up期間 10秒
-ループ回数 1
とした場合、10秒で5スレッドを起動するので、2秒に1回(初回...
#ref(02threadGroup.png)
***接続先の指定 [#n9577943]
次に接続先のサーバを指定します。テスト計画で右クリックして
追加 > 設定エレメント > HTTPリクエスト初期値設定
で追加します。
#ref(03Init.png)
ここでは接続先のサーバ名やプロトコルなどを一括で指定する...
#ref(04Init.png)
***各クエリの追加 [#h0b5d90d]
次に各画面ごとのクエリを追加していきます。クエリは スレッ...
追加 > サンプラー > HTTPリクエスト
で追加します。
#ref(05sampler.png)
サンプラーの画面では
-パス(URLのコンテキスト以下)
-GETかPOSTか
-クエリのパラメタ
などを指定します。たとえば下の例だとリクエストパスを /str...
#ref(06sampler.png)
別のサンプラも作ってみます。ログイン画面表示後の次のアク...
#ref(07parameter.png)
ここまでで一度実行してみます。JMeterのメニューから
実行 > 開始
でストレステストが開始されます。サーバのログなどを見ると...
***計測結果をみてみる [#v36eef60]
先ほどサーバに負荷をかけしましたが、レスポンスタイムやス...
追加 > リスナー > 結果を表で表示 or 統計レポート
でリスナーを追加します。
#ref(08rep.png)
これらのリスナーはいわゆるレポート機能で「結果を表で表示...
-結果を表で表示
#ref(09table.png)
-統計レポート
#ref(10stat.png)
***戻り電文をアサーションする [#e429ae02]
次は戻り電文のアサーションをしてみたいと思います。アサー...
使い方ですが、アサーションしたいアクション(サンプラ)で右...
追加 > アサーション > アサーション
で追加します。
#ref(11assertion.png)
アサーションの画面ではどのようなアサーションを行うかを指...
#ref(12assertion.png)
これでテスト実行しましょう。アサーションの結果は先のリス...
#ref(13ok.png)
アサーションOK。の場合。
#ref(14ng.png)
アサーションNG。の場合。
***トークンなど、前画面の値をリクエストにセットする [#gc4...
続いてログアウトのサンプラを追加したいと思いますが、先の...
org.apache.struts.taglib.html.TOKEN=hogehoge
を取り、ここに前画面つまりログインアクションの戻りhtml内の
<a href="/stressTest/logout.do?org.apache.struts.taglib....
=7704e3e689f49ec91f539f083da60de2">ログアウト<...
の値を設定する必要があります。ようするに「直前のサンプラ...
ログアウトアクションのサンプラを作成したあと、正しくログ...
#ref(15assertion.png)
もちろんこのままだとトークンがパラメタに載らないため、[[...
さて前画面の値をリクエストにセットするには「HTMLリンクパ...
追加 > 前処理 > HTMLリンクパーサ
とします。
#ref(16htmlLinkParser.png)
ログアウトアクションにHTMLリンクパーサが追加されました。...
org.apache.struts.taglib.html.TOKEN=.*
をパラメタに追加します。
#ref(17parserParam.png)
また、トークンはJ2EEセッションがつながっている必要がある...
追加 > 設定エレメント > HTTP クッキーマネージャ
でOKです。
#ref(18Cookie.png)
これでリクエストすると、、、、確かに前画面のhtmlリンクか...
**ユーザ定義の変数をつかう [#e4f59b7b]
**戻り電文の任意の値を次のリクエストにセットする [#lf5719...
先ほどは、前画面の戻りhtmlのなかの特定のリンクタグからパ...
**ID/PASSなど、可変な値をリストファイルからセットする [#q...
**オペレーションを自動記録する [#xb011c59]
今まで手動でサンプラー(リクエスト)を作ってきましたが、実...
***プロキシサーバの追加 [#i1cd78f4]
ワークベンチで右クリックして、
追加 > Non Test エレメント > HTTP プロキシサーバ
でプロキシサーバを追加します。
**XML-RPCのようなkey=value形式でないクエリを送信する [#lb...
**関連リンク [#u0c0b76c]
-[[JMeter - Apache JMeter>http://jakarta.apache.org/jmete...
-[[JMeter(高機能/フリーなテストツール)第1回:JMeterの基本...
-[[JMeter(高機能/フリーなテストツール)第01回:JMeterの基...
-[[JMeter-TECHSCORE->http://www.techscore.com/tech/Apache...
-[[[jmeter] - marsのメモ>http://d.hatena.ne.jp/masanobuim...
-[[テスト・スクリプト改善のヒント - ITアーキテクト [IT Ar...
-[[Apache-JMeter.pdf (application/pdf オブジェクト)>http:...
----
この記事は
#vote(おもしろかった[77],そうでもない[7])
- はじめまして。JMETERのXML-RPCのようなkey=Value形式でな...
- コメントありがとうございます。書かなきゃと思って、追い...
- 御世話になっております。Jmeterで負荷テストをおこなおう...
- Another year <a href=" http://www.blogdojorgearagao.com...
- What's the last date I can post this to to arrive in t...
- How much is a Second Class stamp? <a href=" http://docu...
- Insert your card <a href=" http://www.mens-app.es/anabo...
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
ページ名: