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」という応答メッセージを見ることができます。