Giao diện và cách config API

Hai bài trước chúng ta đã tìm hiểu về Test Performance và cách cài đặt Jmeter. Bài tiếp theo đây mình sẽ đi sâu vào giới thiệu giao diện của Jmeter và cách config API dạng SOAP & REST

giao-dien-jmeter-1

1.Left Pane

Là nơi hiển thị thư mục của bạn theo sơ đồ cây (phân chia theo từng cấp như ông, bố, con..). Tại đây bạn có thể thực hiện các thao tác, thêm, sửa, xóa,…các thành phần của Jmeter.

– Khung bên trái bắt đầu bằng Test Plan (được config mặc định sẵn), nó được coi như container chứa các kịch bản cũng như dữ liệu để kiểm thử. Các thành phần của Test plan phụ thuộc vào từng yêu cầu cụ thể, một số thành phần như: Thread Groups, Configuration Elements, Samplers, Times, Listeners và Assertions (chi tiết mình sẽ đề cập ở bài viết sau).

Lưu ý: Tại một thời điểm chỉ chạy duy nhất được 1 Test Plan

2.Configuration Pane

Đây là nơi thiết lập chi tiết cấu hình của của API và SOAP, cũng như điều khiển các hành vi các thành phần trong Jmeter.

Test Plan định nghĩa các biến người dùng và các thuộc tính của nó, giúp bạn có thể kiểm soát các thuộc tính cũng như hành vi mà bạn muốn thực hiện theo ý mình.

Testplan-Jmeter-2

 

1. Name: hiển thị tên Test Plan của mình, bạn có thể đổi tên theo ý mình

2. User Defined Variables: nơi chứa các cặp tên và giá trị của biến, như ví dụ ở hình mình đang thêm hai biến pass và email với 2 giá trị tương ứng ở cột Value. Có thể thêm biến bằng cách bấm button Add ở phía dưới.

3. Test Plan Properties: có 3 thuộc tính chính để cấu hình một Test Plan

– Run Thread Groups Consecutively:  khi bạn tích vào checkbox này trong trường hợp Test Plan của bạn có nhiều Thread Group thì chúng sẽ được chạy lần lượt, ngược lại nếu không tích chọn thì các Thread Group sẽ chạy song song cùng lúc.

– Run tearDown Thread Groups after shutdown of main threads: tính năng này được sử dụng để báo cáo hoặc xóa các hoạt động trước đó. Ví dụ như bạn muốn log sẽ tự động xóa sau khi chạy xong thì bạn có thể tích chọn checkbox này.

-Functional Test Mode: khi bạn tích vào checkbox này đồng nghĩa các thông tin của sampler request và reponse data sẽ được lưu vào trong các listerner như vậy sẽ giúp chúng ta kiểm tra được kết quả trả về có như mong đợi hay không.

Lưu ý: Thread Group là một thành phần con của Test Plan. Mỗi Thread Group đại diện cho 1 test case

3.Menu Bar

Menu chứa nhiều button giúp chúng ta thực hiện các chức năng khác nhau (mỗi một icon tương ứng với một chức năng).

menu-bar-3

– Icon New: để thêm mới một Test Plan

– Icon Open: mở một Test Plan đã tồn tại

– Icon Save: lưu lại một Test Plan rồi chọn đường dẫn muốn lưu lại

– Start: bắt đầu chạy một Script

– Stop: dừng test đang chạy

– Shutdown: icon này cũng sẽ dừng script nhưng nó sẽ không dừng đột ngôt như Stop mà nó vẫn cho phép các luồng đang chạy chưa hoàn thành tiếp tục chạy xong rồi sau đó mới dừng lại

– Clean: xóa hết log ở 1 Listener đang trỏ chuột vào

– Clean All: xóa hết toàn bộ log ở toàn bộ Test Plan đang bật

– Elapsed time of current running test: hiển thị thời gian run test

– Show Number of Errors in log: khi click vào icon này, phần log của ứng dụng sẽ hiển thị ở dưới dùng của sửa số đang thiết lập

– Running thread/total number of threads: hiển thị số lượng thread đang thực hiện tại thời điểm hiện tại trên tổng số bao nhiêu thread đã thiết lập từ trước.

Hiện tại Web Service (API) thường có 2 dạng: SOAP và REST. Vậy câu hỏi đặt ra SOAP là gì? REST là gì?

SOAP là cách mà Web Service sử dụng để truyền tải dữ liệu. SOAP là giao thức sử dụng XML để định nghĩa dữ li
ệu dạng thuần văn bản, thông qua HTTP.

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

Còn REST là một kiểu cấu trúc cung cấp API thông qua internet để xử lý các hoạt động CRUD trên dữ liệu. REST không giống như SOAP thay vì sử dụng XML để tạo request thì REST dựa vào một URL đơn giản. Dưới đây chúng ta cùng nhau đi tìm hiểu cách config SOAP và REST.

Config API dạng SOAP

Chúng ta sẽ thực hành với 1 API cụ thể được lấy từ trang web sau http://www.dneonline.com/calculator.asmx?op=Add với các thông tin:

config-SOAP-4

Bước 1: Add Thread Group

Đầu tiên cần add 1 Thread Group, chọn Test Plan rồi chọn chuột phải, chọn Add rồi chọn tiếp Threads (Users) và Thread Group.

Buoc1-Add Thread Group-5

Bước 2: Add HTTP Request Sampler

Sau khi đã add Thread Group, chọn Thread Group và chuột phải, chọn Add, chọn Sampler sau đó chọn HTTP Request, đây là nơi chứa body của API SOAP.

Buoc2-Add HTTP Request Sampler-6

Bước 3: Add HTTP Header Manager

Sau khi đã add HTTP Request, tiếp tục add Header của API bằng cách chuột phải vào HTTP Request chọn Add, tiếp tục chọn Config Element và cuối cùng chọn HTTP Header Manager.

 

Bước 4: Add View Results Tree Listener

Đây là bước cuối cùng để kiểm tra kết quả sau khi config và chạy API, bạn thêm Listener ( View Result Tree) bằng cách chọn Thread Group, chuột phải chọn Add, chọn Listener và click vào View Results Tree. Như vậy khung của script đã được thiết lập xong.

Buoc4-Add View Results Tree Listener-7

Bước 5: Thiết lập body của API SOAP

Với yêu cầu đề bài đưa ra, chúng ta sẽ có các thông tin tương ứng để thiết lập Jmeter như sau:

– Protocal là HTTP

– Server Name or Host: www.dneonline.com

– Method: Post

– Path: /calculator.asmx?op=Add

Buoc5-thiet-lap-body-cua-API-8-SOAP

Tiếp theo chúng ta config body data, ở đây đề bài đang để dạng Body data, copy và paste vào Jmeter (như hình dưới đây). Ở đây API thực hiện tính tổng của 2 số nguyên, điền lần lượt 2 số nguyên là 10 và 20.

Buoc5-9

Bước 6: Thiết lập Header

Click vào HTTP Header Manager để tiến hành config header với các thông tin điền lần lượt như sau. Sau đó chúng ta click button run(button hình tam giác màu xanh lá cây trên menu bar) để chạy.

buoc6-Thiet-lap-Header-10

Bước 7: Kiểm tra kết quả

Sau khi chạy xong, bạn cần kiểm tra kết quả ở View Results Tree, như bài trước mình có hướng dẫn các bạn cần chú ý verify status code và check data trả về. Ở đây status code 200 vậy là kết quả của chúng ta đã đúng

buoc7-kiem-tra-ket-qua-11

Ngoài ra  bạn có thể xem kết quả ở tab Request và tab Response data.

Config API dạng REST

Chúng ta có một trang web giả lập API dạng REST và chúng ta có thể lấy thông tin từ đây để thực hành https://reqres.in/ .

Bước 1: Các bạn thực hiện như 4 bước đầu của Config dạng SOAP (Add Thread Group, HTTP request sampler, HTTP Header Manager và View
Results Tree Listener).

Bước 2: Thiết lập body của API REST. Ở đây mình sẽ thực hiện config API POST REGISTER-SUCCESSFUL với thông tin API như sau

– Method : POST

– Request: thông tin cần điền

– Response: thông tin kết quả mong muốn

– Protocol: HTTPS

– Server Name/IP domain: reqres.in

– Path: /api/register

REST-12

rest-13

Tiếp theo chúng ta config body data, ở đây body data thuộc dạng Body Data nên chúng ta click để add data dạng này bằng cách, trong HTTP Request click tab Body Data và insert data như hình dưới đây

rest-14

Cuối cùng bạn thiết lập Header như hình dưới đây và chạy thử

rest-15

Sau khi chạy xong, bạn click vào View Results Tree để xem kết quả

rest-16

– Tab Request: nơi hiển thị thông tin của request đã gửi lên server (request header và request data)

– Tab Response data nơi chứa thông tin server trả về

Như vậy chúng ta đã cùng nhau đi tìm hiểu cách config API cả 2 dạng. Chúc các bạn học tập tốt và luôn ủng hộ ITMS Coaching các bạn nhé!

Xem Thêm:

Install Jmeter chỉ với hai bước

Recording trên Jmeter

Tiện ích của Jmeter

Leave a Reply

Your email address will not be published. Required fields are marked *