■ はじめに
https://blogs.yahoo.co.jp/dk521123/36908158.htmlhttps://blogs.yahoo.co.jp/dk521123/36910281.html
の続き。 例えば、1万ユーザで別々のアカウントでログインした場合のテストをしたいってなったら物凄い面倒くさい。 しかし、1万ユーザおよびそのパスワードを例えば、CSVファイルで記載して そのデータを入力データとした場合、手間が大分軽減できる。 => そんな訳で、そんなことを行う。
■ 手順
前提
[1] 以下の関連記事の手順を行っていることhttps://blogs.yahoo.co.jp/dk521123/36908158.html
[2] 読み込ませたいCSVファイルを用意しておく (ここでは「C:\temp\soapInput.csv」にあり、 ファイルの内容は、以下の「soapInput.csv(CSVファイル・サンプル)」の通り)soapInput.csv(CSVファイル・サンプル)
Mike,23 Tom,43 Smith,32 Kevin,21 Amy,15
構成・設定前
[TestPlan] + [User Defined Variables] (ユーザー定義変数) + [HTTP Request Defaults](HTTPリクエスト初期値設定) + [Number of Users](スレッドグループ) | + [Soap Request] (HTTPリクエスト) | + [HTTP Header Manager] (HTTPヘッダマネージャ) | + [Response Assertion] (アサーション) ... レスポンス結果の正当性を設定できる + [View Results Tree] (結果をツリーで表示) + [Aggregate Graph] [ワークベンチ]
設定・手順
[1] [Soap Request]を右クリックし、[追加]-[設定エレメント]-[CSV Data Set Config]を選択を選択 [2] [CSV Data Set Config]を開き、以下の「CSV Data Set Configに関する説明および設定例」を参考に、 設定値を埋めていく [3] [Soap Request]を開き、[Basic]-[Body Data]のSOAPデータを 以下の「Body Data(サンプル)」を参考に設定する [4] [Number of Users]を開き、ループ回数などを設定する(ここでは、「ループ回数:5」) => 後は、[実行]-[開始]を選択し、テスト開始するだけ
構成・一部抜粋(CSV読み込み)
+ [Number of Users](スレッドグループ) + [Soap Request] (HTTPリクエスト) + [HTTP Header Manager] (HTTPヘッダマネージャ) + [Response Assertion] (アサーション) + [CSV Data Set Config] ... ★新規追加する★ CSVファイル読み込むための設定画面。
CSV Data Set Configに関する説明および設定例
`# | `項目 | `説明 | `設定例 | 備考 |
01 | 名前 | ツリーに表示される名前 | CSV Data Set Config | - |
02 | コメント | コメント文 | (なし) | - |
03 | Filename | 読み込むCSVファイルパス | C:\temp\soapInput.csv | - |
04 | File encoding | CSVファイルのエンコード | (なし) | - |
05 | Variable Names | JMeterで使用するCSVから得た変数名 | name,age | ★ここがキモ★ |
06 | Delimiter | 区切り文字 | , | タブの場合は\t |
07 | Allow quoted data? | ダブルクォートを含むか | False | - |
08 | Recycle on EOF? | Trueにすると、ファイルの終了に達したら先頭行から取り直す | True | - |
09 | Stop thread on OEF? | Trueにすると、ファイルの終了に達したら終了 | False | - |
10 | Sharing mode | どの範囲でCSVファイルを | Current thread | - |
Body Data(サンプル)
Webサービスの引数を、${name}、${age}に置き換え、CSVファイルから取得した値を設定する<?xml version="1.0" standalone="no"?> <S:Envelope xmlns:S="">http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:sayYourAge xmlns:ns2="">http://webservice.sample.com/"> <name>${name}</name> <age>${age}</age> </ns2:sayYourAge> </S:Body> </S:Envelope>
レスポンス
ループ1回目<!--?xml version='1.0' encoding='UTF-8'?--> <html> <head></head> <body> <s:envelope xmlns:s="">http://schemas.xmlsoap.org/soap/envelope/"> <s:body> <ns2:sayyourageresponse xmlns:ns2="">http://webservice.sample.com/"> <return> [1] Mike's age is 23. </return> </ns2:sayyourageresponse> </s:body> </s:envelope> </body> </html>ループ5回目
<!--?xml version='1.0' encoding='UTF-8'?--> <html> <head></head> <body> <s:envelope xmlns:s="">http://schemas.xmlsoap.org/soap/envelope/"> <s:body> <ns2:sayyourageresponse xmlns:ns2="">http://webservice.sample.com/"> <return> [5] Amy's age is 15. </return> </ns2:sayyourageresponse> </s:body> </s:envelope> </body> </html>
参考文献
http://mislead.jp/1979.htmlhttp://sy5.sakura.ne.jp/jmeter/ref/configurationelements/csvdatasetconfig.html