Учебники

jMeter — план тестирования веб-сервиса

В этой главе мы узнаем, как создать план тестирования для тестирования WebService. Для нашего теста мы создали простой проект веб-сервиса и развернули его на сервере Tomcat локально.

Создать проект веб-сервиса

Для создания проекта веб-сервиса мы использовали Eclipse IDE. Сначала напишите интерфейс конечной точки службы 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");
   }
}

Давайте теперь опубликуем этот веб-сервис локально, создав издателя Endpoint и выставив сервис на сервере.

Метод публикации принимает два параметра —

  • Строка URL конечной точки.

  • Объект реализатора, в данном случае класс реализации HelloWorld, который предоставляется в качестве веб-службы в конечной точке, идентифицируемой URL-адресом, указанным в приведенном выше параметре.

Строка URL конечной точки.

Объект реализатора, в данном случае класс реализации HelloWorld, который предоставляется в качестве веб-службы в конечной точке, идентифицируемой URL-адресом, указанным в приведенном выше параметре.

Содержимое 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>

Чтобы развернуть это приложение как веб-сервис , нам понадобится другой файл конфигурации 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>

Теперь, когда все файлы готовы, структура каталогов будет выглядеть так, как показано на следующем снимке экрана —

Структура WebService Dir

  • Теперь создайте WAR-файл этого приложения.

  • Выберите проект → щелкните правой кнопкой мыши → Экспорт → WAR-файл.

  • Сохраните его как файл hello.war в папке webapps сервера Tomcat.

  • Теперь запустите сервер Tomcat.

  • После запуска сервера вы сможете получить доступ к веб-сервису с помощью URL — http: // localhost: 8080 / hello / hello

Теперь создайте WAR-файл этого приложения.

Выберите проект → щелкните правой кнопкой мыши → Экспорт → WAR-файл.

Сохраните его как файл hello.war в папке webapps сервера Tomcat.

Теперь запустите сервер Tomcat.

После запуска сервера вы сможете получить доступ к веб-сервису с помощью URL — http: // localhost: 8080 / hello / hello

Создать план тестирования JMeter

Теперь давайте создадим план тестирования для тестирования вышеуказанного веб-сервиса.

Переименовать план тестирования

  • Откройте окно JMeter, нажав /home/manisha/apache-jmeter2.9/bin/jmeter.sh.

  • Щелкните по узлу «План тестирования».

  • Переименуйте этот узел плана тестирования в WebserviceTest.

Откройте окно JMeter, нажав /home/manisha/apache-jmeter2.9/bin/jmeter.sh.

Щелкните по узлу «План тестирования».

Переименуйте этот узел плана тестирования в WebserviceTest.

План тестирования WS

Добавить группу тем

Добавьте одну группу потоков, которая является заполнителем для всех других элементов, таких как Samplers, Controllers и Listeners.

  • Щелкните правой кнопкой мыши по WebserviceTest (наш план тестирования) → Добавить → Темы (пользователи) → Группа потоков. Группа потоков будет добавлена ​​в узел плана тестирования (WebserviceTest).

  • Далее, давайте изменим свойства группы потоков по умолчанию, чтобы они соответствовали нашему тестированию. Следующие свойства изменены —

    • Имя — пользователь веб-сервиса

    • Количество потоков (пользователей) — 2

    • Ramp-Up Period — оставьте значение по умолчанию 0 секунд.

    • Количество циклов — 2

Щелкните правой кнопкой мыши по WebserviceTest (наш план тестирования) → Добавить → Темы (пользователи) → Группа потоков. Группа потоков будет добавлена ​​в узел плана тестирования (WebserviceTest).

Далее, давайте изменим свойства группы потоков по умолчанию, чтобы они соответствовали нашему тестированию. Следующие свойства изменены —

Имя — пользователь веб-сервиса

Количество потоков (пользователей) — 2

Ramp-Up Period — оставьте значение по умолчанию 0 секунд.

Количество циклов — 2

Тестовые пользователи WS

Добавить сэмплер — запрос SOAP / XML-RPC

Теперь, когда мы определили пользователей, пришло время определить задачи, которые они будут выполнять.

Мы добавим элемент SOAP / XML-RPC Request —

  • Щелкните правой кнопкой мыши, чтобы открыть меню «Добавить».

  • Выберите Добавить → Выборка → SOAP / XML-RPC Запрос.

  • Выберите элемент SOAP / XML-RPC Request в дереве

  • Отредактируйте следующие свойства как на изображении ниже —

  • Следующие детали вводятся в этот элемент —

    • Имя — SOAP / XML-RPC-запрос

    • URL — http: // localhost: 8080 / hello / hello? Wsdl

    • Данные Soap / XML-RPC — введите содержимое ниже

Щелкните правой кнопкой мыши, чтобы открыть меню «Добавить».

Выберите Добавить → Выборка → SOAP / XML-RPC Запрос.

Выберите элемент SOAP / XML-RPC Request в дереве

Отредактируйте следующие свойства как на изображении ниже —

Следующие детали вводятся в этот элемент —

Имя — SOAP / XML-RPC-запрос

URL — http: // localhost: 8080 / hello / hello? Wsdl

Данные Soap / XML-RPC — введите содержимое ниже

<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>

WS Test запрос

Добавить слушателя

Последний элемент, который вам нужно добавить в свой план тестирования, — это слушатель. Этот элемент отвечает за хранение всех результатов ваших HTTP-запросов в файле и представление визуальной модели данных.

  • Выберите пользовательский элемент веб-сервиса.

  • Добавьте прослушиватель Просмотр дерева результатов, выбрав Добавить → Прослушиватель → Просмотр дерева результатов.

Выберите пользовательский элемент веб-сервиса.

Добавьте прослушиватель Просмотр дерева результатов, выбрав Добавить → Прослушиватель → Просмотр дерева результатов.

WS Test запрос

Запустите план тестирования

Теперь сохраните приведенный выше план тестирования как test_webservice.jmx . Выполните этот план тестирования, используя Run → Start.

Посмотреть вывод

Следующий вывод можно увидеть в слушателе.

WS Образец Результат

WS Result Request

Данные отклика WS

На последнем изображении вы можете увидеть ответное сообщение «Hello Manisha to JAX WS world».