Hướng Dẫn Cấu Hình SOAP API Trong Jmeter

Ở bài viết trước, chúng tôi đã hướng dẫn cách để lấy Tokens, Session IDs cho các request trong kịch bản test plan. Bạn có thể xem lại tại đây.

Trong bài viết này, chúng tôi sẽ hướng dẫn cách cấu hình SOAP API (web services) trên Jmeter.

Trước khi bắt đầu vào việc config 1 API dạng SOAP chúng ta hãy cùng tìm hiểu xem nó là gì và hoạt động như thế nào?

SOAP là gì?

SOAP (viết tắt từ tiếng Anh Simple Object Access Protocol) là một giao thức do W3C định nghĩa [1]. SOAP áp dụng XML để xác định dữ liệu dạng văn bản (plain text) qua HTTP và SMTP. Web Service dùng SOAP trong quá trình truyền tải dữ liệu. SOAP không phụ thuộc ngôn ngữ lập trình hay bất cứ nền tảng nào vì nó dùng XML.

Một thông điệp SOAP được chia thành hai phần là header và body. Phần header chỉ ra địa chỉ Web Service, Host, Content-Type, Content-Length tương tự như một thông điệp HTTP.

Cấu hình SOAP API trên Jmeter

Chúng ta sẽ sử dụng 1 API dạng SOAP được lấy từ trang http://www.dneonline.com/calculator.asmx?op=Subtract với các thông tin như sau:

SOAP request

SOAP response

Step 1: Add Thread Group
Để bắt đầu 1 Test Plan việc đầu tiên là phải add 1 Thread Group: Click chuột phải vào Test Plan -> Add -> Threads (Users) -> Thread Group

Step 2: Add HTTP Request Sampler
Sau khi đã có Thread Group, chúng ta tiếp tục chuột phải vào Thread Group -> Add -> Sampler -> HTTP Request. HTTP Request chính là nơi chứa body của API SOAP.

Step 3: Add HTTP Header Manager
Sau khi đã add HTTP Request chúng ta tiếp tục add Header của API. Chuột phải vào HTTP Request -> Add -> Config Element -> HTTP Header Manager

Step 4: Add View Results Tree Listener
Để kiểm tra kết quả sau khi config và chạy API, chúng ta add thêm 1 Listener có tên là View Results Tree. Các bạn chuột phải vào Thread Group -> Add -> Listener -> View Results Tree.

Chúng ta đã thiết lập được xong “khung sườn” trước khi bắt tay vào thiết lập 1 API như bên dưới:

Step 5: Thiết lập body của API SOAP
Để thiết lập các thông tin của body API SOAP, chúng ta mở xem lại thông tin của request, click vào HTTP Request. URL của API SOAP đã đưa ra ở đầu bài là http://www.dneonline.com/calculator.asmx?op=Subtract, tương ứng với thông tin này chúng ta sẽ thiết lập ở JMeter như sau:

– Protocol ở đường dẫn là “HTTP”
– Server Name or IP là domain của URL “www.dneonline.com”
– Method đầu bài đưa ra là POST, chúng ta có thể nhìn thấy ở đây
– POST /calculator.asmx HTTP/1.1
– Path của URL là “/calculator.asmx?op=Subtract”

Tiếp theo chúng ta config body data, mặc định của JMeter đang để dạng Parameters, chúng ta click vào tab Body Data bên cạnh sau đó copy và paste body data của link đã đưa ra:

Đây là API thực hiện phép tính chia 2 số nguyên với nhau, vì vậy chúng ta sẽ thực hiện điền vào 2 số nguyên ở trong cặp và , ở đây tôi điền lần lượt 2 số là 10 và 25.

Step 6: Thiết lập Header
Sau khi đã hoàn thành bước thiết lập Body, chúng ta click vào HTTP Header Manager để config Header. Dựa vào yêu cầu của hệ thống đã đưa ra ban đầu, click button Add và thực hiện lần lượt điền các thông tin của Header như sau:

Host: www.dneonline.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: http://tempuri.org/Subtract

Step 7: Chạy thử API
Như vậy là chúng ta đã hoàn thành việc config API SOAP, để bắt đầu chạy API trên JMeter, chúng ta click vào button Run có biểu tượng màu xanh như hình dưới, sau đó click vào View Results Tree để xem kết quả.

Ở màn hình View Results Tree, click vào HTTP Request, mặc định sẽ hiển thị tab Sampler result thông tin của request sau khi chạy.

Click vào tab tiếp theo là Request sẽ là nơi hiển thị thông tin của request đã gửi lên server, bao gồm Request Body và Request Header là thông tin về Body và Header đã thực hiện gửi.

Click vào tab tiếp theo là Response data, nơi chứa thông tin mà server thực hiện response về các thông tin mà bạn vừa gửi bao gồm Response Body và Response Header. Ở bước 5, chúng ta đã thực hiện điền 2 số nguyên là 10 và 25 và chạy API thực hiện phép tính chia 2 số, kiểm tra giá trị trả về đúng

Như vậy chúng ta đã hoàn thành việc thực hiện config 1 API có dạng SOAP ở trên JMeter và chạy thành công.

 Nguồn: https://jmeter.apache.org/usermanual/build-ws-test-plan.html