jMeter-Webサービステスト計画

この章では、Webサービスをテストするためのテスト計画を作成する方法を学習します。テストの目的で、単純なWebサービスプロジェクトを作成し、Tomcatサーバーにローカルにデプロイしました。

Webサービスプロジェクトを作成する

Webサービスプロジェクトを作成するために、EclipseIDEを使用しました。最初にサービスエンドポイントインターフェイスを作成しますHelloWorld パッケージの下 com.tutorialspoint.ws。HelloWorld.javaの内容は次のとおりです-

package com.tutorialspoint.ws;

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

//Service Endpoint Interface
@WebService
@SOAPBinding(style = Style.RPC)

public interface HelloWorld {
   @WebMethod String getHelloWorldMessage(String string);
}

このサービスには方法があります getHelloWorldMessage Stringパラメータを取ります。

次に、実装クラスを作成します HelloWorldImpl.java パッケージの下 com.tutorialspoint.ws

package com.tutorialspoint.ws;

import javax.jws.WebService;

@WebService(endpointInterface="com.tutorialspoint.ws.HelloWorld")
public class HelloWorldImpl  implements HelloWorld  {
   @Override
   public String getHelloWorldMessage(String myName) {
      return("Hello "+myName+" to JAX WS world");
   }
}

エンドポイントパブリッシャーを作成してこのWebサービスをローカルに公開し、サーバー上でサービスを公開しましょう。

公開メソッドは2つのパラメーターを取ります-

  • エンドポイントURL文字列。

  • 実装者オブジェクト、この場合はHelloWorld実装クラス。これは、上記のパラメーターで指定されたURLで識別されるエンドポイントでWebサービスとして公開されます。

HelloWorldPublisher.javaの内容は次のとおりです-

package com.tutorialspoint.endpoint;

import javax.xml.ws.Endpoint;
import com.tutorialspoint.ws.HelloWorldImpl;

public class HelloWorldPublisher {
   public static void main(String[] args) {
      Endpoint.publish("http://localhost:9000/ws/hello", new HelloWorldImpl());
   }
}

以下に示すようにweb.xmlの内容を変更します-

<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, 
   Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">

<web-app>
   <listener>
      <listener-class>
         com.sun.xml.ws.transport.http.servlet.WSServletContextListener
      </listener-class>
   </listener>
	
   <servlet>
      <servlet-name>hello</servlet-name>
      <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
   </servlet>
	
   <servlet-mapping>
      <servlet-name>hello</servlet-name>
      <url-pattern>/hello</url-pattern>
   </servlet-mapping>
	
   <session-config>
      <session-timeout>120</session-timeout>
   </session-config>
	
</web-app>

このアプリケーションをWebサービスとしてデプロイするには、別の構成ファイルが必要になります sun-jaxws.xml。このファイルの内容は次のとおりです-

<?xml version = "1.0" encoding = "UTF-8"?>
<endpoints
   xmlns = "http://java.sun.com/xml/ns/jax-ws/ri/runtime"
   version = "2.0">
   
   <endpoint name = "HelloWorld" 
      implementation = "com.tutorialspoint.ws.HelloWorldImpl" 
      url-pattern = "/hello"/>
</endpoints>

すべてのファイルの準備ができたので、ディレクトリ構造は次のスクリーンショットに示すようになります-

  • 次に、このアプリケーションのWARファイルを作成します。

  • プロジェクトを選択→右クリック→エクスポート→WARファイル。

  • これを名前を付けて保存 hello.war 下のファイル webapps Tomcatサーバーのフォルダー。

  • 次に、Tomcatサーバーを起動します。

  • サーバーが起動すると、次のURLでWebサービスにアクセスできるようになります-http:// localhost:8080 / hello / hello

JMeterテスト計画を作成する

次に、上記のWebサービスをテストするためのテスト計画を作成しましょう。

テスト計画の名前を変更する

  • /home/manisha/apache-jmeter2.9/bin/jmeter.shをクリックして、JMeterウィンドウを開きます。

  • [テスト計画]ノードをクリックします。

  • このテスト計画ノードの名前をWebserviceTestに変更します。

スレッドグループの追加

サンプラー、コントローラー、リスナーなどの他のすべての要素のプレースホルダーであるスレッドグループを1つ追加します。

  • WebserviceTest(テスト計画)→追加→スレッド(ユーザー)→スレッドグループを右クリックします。スレッドグループは、テスト計画(WebserviceTest)ノードの下に追加されます。

  • 次に、テストに合わせてスレッドグループのデフォルトプロパティを変更しましょう。以下のプロパティが変更されました-

    • Name −Webサービスユーザー

    • Number of Threads (Users) − 2

    • Ramp-Up Period −デフォルト値の0秒のままにします。

    • Loop Count − 2

サンプラーの追加-SOAP / XML-RPCリクエスト

ユーザーを定義したので、次に、ユーザーが実行するタスクを定義します。

SOAP / XML-RPCリクエスト要素を追加します-

  • マウスボタンを右クリックして、[追加]メニューを表示します。

  • 「追加」→「サンプラー」→「SOAP / XML-RPC要求」を選択します。

  • ツリーでSOAP / XML-RPCリクエスト要素を選択します

  • 下の画像のように次のプロパティを編集します-

  • この要素には次の詳細が入力されます-

    • Name − SOAP/XML-RPC Request

    • URL − http:// localhost:8080 / hello / hello?wsdl

    • Soap/XML-RPC Data −以下の内容を入力してください

<soapenv:Envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" 
   xmlns:web = "http://ws.tutorialspoint.com/">
   <soapenv:Header/>
	
   <soapenv:Body>
      <web:getHelloWorldMessage>
         <arg0>Manisha</arg0>
      </web:getHelloWorldMessage>
   </soapenv:Body>
   
</soapenv:Envelope>

リスナーを追加

テスト計画に追加する必要がある最後の要素はリスナーです。この要素は、HTTPリクエストのすべての結果をファイルに保存し、データの視覚的なモデルを提示する役割を果たします。

  • Webサービスのユーザー要素を選択します。

  • 「追加」→「リスナー」→「結果ツリーの表示」を選択して、「結果ツリーの表示」リスナーを追加します。

テスト計画を実行する

次に、上記のテスト計画をtest_webservice.jmxとして保存します。[実行]→[開始]オプションを使用して、このテスト計画を実行します。

出力を表示する

次の出力がリスナーに表示されます。

最後の画像では、「Hello Manisha to JAXWSworld」という応答メッセージを見ることができます。