jMeter - Kế hoạch Kiểm tra Dịch vụ Trang web

Trong chương này, chúng ta sẽ học cách tạo Kế hoạch kiểm tra để kiểm tra một WebService. Với mục đích thử nghiệm của chúng tôi, chúng tôi đã tạo một dự án webservice đơn giản và triển khai nó trên máy chủ Tomcat cục bộ.

Tạo dự án dịch vụ trang web

Để tạo một dự án webservice, chúng tôi đã sử dụng Eclipse IDE. Đầu tiên hãy viết Giao diện điểm cuối dịch vụHelloWorld dưới gói com.tutorialspoint.ws. Nội dung của HelloWorld.java như sau:

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);
}

Dịch vụ này có một phương pháp getHelloWorldMessage nhận tham số String.

Tiếp theo, tạo lớp triển khai HelloWorldImpl.java dưới gói 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");
   }
}

Bây giờ chúng ta hãy xuất bản dịch vụ web này cục bộ bằng cách tạo nhà xuất bản Điểm cuối và hiển thị dịch vụ trên máy chủ.

Phương thức xuất bản có hai tham số:

  • Chuỗi URL điểm cuối.

  • Đối tượng triển khai, trong trường hợp này là lớp triển khai HelloWorld, được hiển thị như một Dịch vụ Web ở điểm cuối được xác định bởi URL được đề cập trong tham số ở trên.

Nội dung của HelloWorldPublisher.java như sau:

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());
   }
}

Sửa đổi nội dung web.xml như hình dưới đây -

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

Để triển khai ứng dụng này như một dịch vụ web, chúng tôi sẽ cần một tệp cấu hình khác sun-jaxws.xml. Nội dung của tệp này như sau:

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

Bây giờ tất cả các tệp đã sẵn sàng, cấu trúc thư mục sẽ trông như thể hiện trong ảnh chụp màn hình sau:

  • Bây giờ tạo một tệp WAR của ứng dụng này.

  • Chọn dự án → nhấp chuột phải → Xuất → tệp WAR.

  • Lưu cái này thành hello.war tập tin dưới webapps thư mục của máy chủ Tomcat.

  • Bây giờ khởi động máy chủ Tomcat.

  • Sau khi máy chủ được khởi động, bạn sẽ có thể truy cập dịch vụ web bằng URL - http: // localhost: 8080 / hello / hello

Tạo kế hoạch kiểm tra JMeter

Bây giờ chúng ta hãy tạo một kế hoạch thử nghiệm để kiểm tra dịch vụ web trên.

Đổi tên Kế hoạch Kiểm tra

  • Mở cửa sổ JMeter bằng cách nhấp vào /home/manisha/apache-jmeter2.9/bin/jmeter.sh.

  • Nhấp vào nút Kế hoạch kiểm tra.

  • Đổi tên nút Kế hoạch kiểm tra này thành WebserviceTest.

Thêm nhóm chủ đề

Thêm một Nhóm chủ đề, là trình giữ chỗ cho tất cả các phần tử khác như Bộ lấy mẫu, Bộ điều khiển và Trình nghe.

  • Nhấp chuột phải vào WebserviceTest (Kế hoạch kiểm tra của chúng tôi) → Thêm → Chủ đề (Người dùng) → Nhóm chủ đề. Nhóm chủ đề sẽ được thêm vào trong nút Kế hoạch kiểm tra (WebserviceTest).

  • Tiếp theo, hãy để chúng tôi sửa đổi các thuộc tính mặc định của Nhóm chủ đề để phù hợp với thử nghiệm của chúng tôi. Các thuộc tính sau được thay đổi -

    • Name - người dùng dịch vụ web

    • Number of Threads (Users) - 2

    • Ramp-Up Period - để giá trị mặc định là 0 giây.

    • Loop Count - 2

Thêm bộ lấy mẫu - Yêu cầu SOAP / XML-RPC

Bây giờ chúng ta đã xác định người dùng, đã đến lúc xác định các tác vụ mà họ sẽ thực hiện.

Chúng tôi sẽ thêm phần tử Yêu cầu SOAP / XML-RPC -

  • Nhấp chuột phải vào nút chuột để nhận menu Thêm.

  • Chọn Thêm → Trình lấy mẫu → Yêu cầu SOAP / XML-RPC.

  • Chọn phần tử Yêu cầu SOAP / XML-RPC trong cây

  • Chỉnh sửa các thuộc tính sau như trong hình ảnh bên dưới -

  • Các chi tiết sau được nhập vào phần tử này:

    • Name − SOAP/XML-RPC Request

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

    • Soap/XML-RPC Data - Nhập nội dung bên dưới

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

Thêm người nghe

Yếu tố cuối cùng bạn cần thêm vào Kế hoạch kiểm tra của mình là Người nghe. Phần tử này chịu trách nhiệm lưu trữ tất cả các kết quả của các yêu cầu HTTP của bạn trong một tệp và trình bày mô hình trực quan của dữ liệu.

  • Chọn phần tử người dùng dịch vụ web.

  • Thêm trình nghe Dạng cây kết quả bằng cách chọn Thêm → Trình nghe → Xem Cây kết quả.

Chạy kế hoạch thử nghiệm

Bây giờ lưu kế hoạch thử nghiệm ở trên dưới dạng test_webservice.jmx . Thực hiện kế hoạch kiểm tra này bằng cách sử dụng tùy chọn Run → Start.

Xem đầu ra

Đầu ra sau đây có thể được nhìn thấy trong trình nghe.

Trong hình ảnh cuối cùng, bạn có thể thấy thông báo phản hồi "Xin chào Manisha đến thế giới JAX WS".