■ 前提条件
* JMeterがインストールされていること * 環境構築については、以下の関連記事を参照のこと。https://blogs.yahoo.co.jp/dk521123/37280266.html
■ 実行環境
* 実行環境は以下の通り
JMeter実行環境
+ OS : Windows10
Webサービス環境
+ OS : Windows10 + JDK : Java8 + Tomcat : Tomcat8.5
■ テスト手順:Webサービス / SOAP
使用するWebサービス
* 以下の関連記事で構築したWebサービスを使用するhttps://blogs.yahoo.co.jp/dk521123/36139336.html
URL
[[http://localhost:8080/SampleWebService/services/SampleWebService.ws?wsdl]]
概要
* 以下を見ながらやってみるのもいいかも...http://jmeter.apache.org/usermanual/build-ws-test-plan.html
* 以下、大まかな手順。 [1] テンプレートファイルからSOAP Web Service用のテストプランを作成する [2] 設定値をセッティングする [3] テスト実行
[1] SOAP Web Service用テストプランを作成する
[1-1] JMeter を GUIで起動する [1-2] [ファイル]-[Templates]を選択する(※ アイコンからもできる) [1-3] 「Select Template」プルダウンで「Building a SOAP WebService Test Plan」を選択し、 「Create」ボタン押下する 【テンプレート構成】 [TestPlan] + [User Defined Variables] (ユーザー定義変数) ... [2-1]を参照 + [HTTP Request Defaults](HTTPリクエスト初期値設定) ... [2-2]を参照 + [Number of Users](スレッドグループ) ... [2-3]を参照 | + [Soap Request] (HTTPリクエスト) ... [2-4]を参照 | + [HTTP Header Manager] (HTTPヘッダマネージャ) ... [2-5]を参照 | + [Response Assertion] (アサーション) ... レスポンス結果の正当性を設定できる。[2-6]を参照 + [View Results Tree] (結果をツリーで表示) ... 初期は非活性(グレーアウト)[2-7]を参照 + [Aggregate Graph] ... [2-8]を参照 [ワークベンチ]
[2] 設定値をセッティングする
[2-1] [User Defined Variables] を開き、以下を設定する (新規項目#2 #3は、「追加」ボタンで新規入力欄が追加できる)
`# | `名前 | `値 | `Discription | 備考 |
1 | host | localhost | 任意の文字列 | もともとある項目 |
2 | port | 8080 | 任意の文字列 | 新規作成 |
3 | wsdl_path | /SampleWebService/services/SampleWebService.ws?wsdl | 任意の文字列 | 新規作成。※1 |
※1 SSLの場合、「https」から始めればいい
[[https://SampleWebService/services/SampleWebService.ws?wsdl]]
[2-2] [HTTP Request Defaults]を開き、「Basic」タブで以下を設定する
`# | `項目 | `値 | `備考 |
1 | サーバ名またはIP | ${host} | - |
2 | ポート番号 | ${port} | - |
3 | パス | ${wsdl_path} | - |
[2-3] [Number of Users]を開き、以下を設定する
`# | `項目 | `値 | `備考 |
1 | スレッド数 | 任意の正の整数(デフォルト5) | 同時接続数と思っていい |
2 | ループ回数 | 任意の正の整数(デフォルト2) | 無限に行いたければ「無限ループ」にチェック |
[2-4] [Soap Request]を開き、「Basic」タブで以下を設定する
`# | `項目 | `値 | `備考 |
1 | サーバ名またはIP | ${host} | - |
2 | ポート番号 | ${port} | - |
3 | パス | ${wsdl_path} | - |
4 | 「Body Data」タブ | 送信するSOAPデータ(以下の「Body Data(サンプル)」を参照) | - |
<?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>Ken</name>
<age>11</age>
</ns2:sayYourAge>
</S:Body>
</S:Envelope>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:sayYourAge xmlns:ns2="http://webservice.sample.com/">
<name>Ken</name>
<age>11</age>
</ns2:sayYourAge>
</S:Body>
</S:Envelope>
[2-5] [HTTP Header Manager]を開き、以下を設定する
`# | `項目 | `値 | `備考 |
1 | Content-Type | text/xml; charset=utf-8 | ★超重要★ |
2 | SOAPAction | [設定値なし] | - |
★超重要★「Content-Type:text/xml; charset=utf-8」について
[2-6] [Response Assertion]を開き、以下を設定する ※ここで、結果の整合性を確認できる(以下はその一例)
`# | `項目 | `値 | `備考 |
1 | マッチングルール | 含む | - |
2 | テストパターン | Ken's age is 11. | - |
[2-7] [View Results Tree]を右クリックし、「有効」を選択し、「HTML Source Formatted」を選択する
■ 補足
以下の事項は、長くなったので、以下の関連記事に記載する[a] リクエストを追加したい場合 [b] セッション維持させたい場合https://blogs.yahoo.co.jp/dk521123/36910281.html
[z] CSV読み込ませたい場合https://blogs.yahoo.co.jp/dk521123/36912021.html