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