Hướng Dẫn Xây Dựng Test Plan Hoàn Chỉnh Kết Hợp Sử Dụng Json Extractor Và CSV Dataset Config.

 Ở các bài viết trước, chúng tôi đã hướng dẫn các bạn tạo test script Web Application bằng cách recording trên JMeter, các bạn có thể xem lại bài viết ở đây.

Tiếp nối chuỗi bài viết về Jmeter, ở bài viết này, chúng tôi sẽ hướng dẫn các bạn cách xây dựng kịch bản test plan hoàn chỉnh kết hợp sử dụng Json extractor và cấu hình CSV dataset config. Sau đó sẽ thực thi kịch bản test plan REST API này. Đối với kịch bản test plan sử dụng SOAP API các bạn làm tương tự nhé.

Kịch bản test plan

Đầu tiên, chúng ta cần xác định các bước trong một kịch bản test plan:
Steps:
1. Access vào trang web https://portal.cif-operator.com/login
2. Nhập username và password
3. Click Login để đăng nhập vào web.
4. Thực hiện tìm kiếm order
5. Export order ở bước 4.

Đối với kịch bản test plan này, chúng ta sẽ thực thi test với 10 Users, và mỗi Users loop 1 lần.

Ở bước 2, 4, 5 chúng tôi sẽ cấu hình CSV dataset config để đọc dữ liệu từ file CSV.

Ở bước 3, chúng tôi sẽ thực hiện login, sau đó sử dung Json extractor để trích xuất giá trị thành một biến (lấy giá trị token) để sử dụng cho những bước kế tiếp.

Bây giờ chúng tôi sẽ hướng dẫn cách xây dựng kịch bản test plan ở trên.

Step 1: Tạo Thread Group

Bước đầu tiên, bạn hãy tạo Thread Group. Click chuột phải vào Test Plan > Add > Threads (Users) > Thread Group.

Sau khi tạo xong bạn sẽ thấy Thread Group ngay bên dưới Test Plan. Nếu ko thấy thì bạn thử nhấn cái Expand arrow bên phải Test Plan để show Thread Group ra. Tiếp theo, set Number of Threads (Users) = 10, Ramp-up period (seconds) = 10 và Loop Count =1

 

Step 2: Tạo HTTP Requests

Bắt đầu tạo HTTP Request đầu tiên ‘Login To New Portal’ bằng cách click chuột phải vào Thread Group > Sampler > HTTP Request.

Sau đó cấu hình các thông số của HTTP Request như bên dưới:
Name: Login To New Portal
Server Name or IP: uat-gke.cif-operator.com
Protocol [http]: https
Method: POST
Path: /authapi/user/login

Để config body data, ở đây chúng tôi sử dụng dạng body data. Click vào Body Data bên cạnh và điền data tương ứng vào ở bên dưới:

{
“userName”: “${userName}”,
“password”: “${password}”
}

Tiếp theo chúng tôi sẽ thiết lập header, bằng cách tạo HTTP Request Header, sau đó click button Add và điền thông tin header vào:
Content-Type: application/json

Ở bước login, chúng tôi sẽ chuẩn bị file CSV (loginToPortal.csv) với username và password cho 10 người dùng đăng nhập vào trang web

Tiếp đó sẽ tạo một CSV Data Set Config (Test Plan > Add > Config Element > CSV Data Set Config)
Điền các giá trị vào trong các fields:
Fieldname: D:/apache-jmeter-3.3/apache-jmeter-3.3/bin/templates/templateCSV/loginToPortal.csv
Variable Names (comma-delimited): userName,password
Delimiter: ,

Để tạo request lấy Json Extractor, bạn làm theo hướng dẫn sau: Add -> Post Processors -> Json Extractor
Sau đó, cài đặt các thông số như sau:
Names of created variables: token
Json Patch expressions: $.accessToken.token
Match No. (0 for Random): 0

Tiếp tục làm như trên để tạo HTTP Request thứ 2 ‘Search And Filter Ticket’. Có thể sử dụng phím tắt Ctrl + Shift + C khi đang chọn Home Page. Hoặc click chuột phải, chọn Duplicate:

– Name: Search And Filter Ticket
– Server Name or IP: uat-gke.cif-operator.com
– Protocol [http]: https
– Method: GET
– Path: /wmsasportalapi/Assurance/Dashboard

Để config body data, chúng tôi sử dụng dạng parameter. Click vào tab Parameters và điền tên biến và giá trị tương ứng:

CustomerLocation.PostCode ${CustomerLocation.PostCode} 
WmsIdExternalOrderUid ${WmsIdExternalOrderUid} 
CreatedDate.From ${CreatedDate.From} 
CreatedDate.To ${CreatedDate.To} 

Vì method GET cần những tham số như externalTicketNo, WmsIdExternalOrderUid, CustomerLocation.PostCode, CreatedDate.From, CreatedDate.To nên chúng tôi sẽ thêm những tham số này vào file CSV ở bước trên.

Điền thêm các giá trị vào trong field:

Variable Names (comma-delimited): externalTicketNo, WmsIdExternalOrderUid, CustomerLocation.PostCode, CreatedDate.From, CreatedDate.To

Tiếp theo chúng tôi sẽ thiết lập header, bằng cách tạo HTTP Request Header, sau đó click button Add và điền thông tin header vào:

Authorization: Bearer ${token}
Content-Type: application/json

Ở đây chúng tôi gọi lại biến token để get token từ request thứ nhất.

Tiếp tục như hai request ở trên, chúng tôi HTTP Request thứ 3 ‘Export data. Có thể sử dụng phím tắt Ctrl + Shift + C khi đang chọn Home Page. Hoặc click chuột phải, chọn Duplicate
– Name: Export data
– Server Name or IP: uat-gke.cif-operator.com
– Protocol [http]: https
– Method: GET
– Path: /wmsasportalapi/Assurance/Export
– Để config body data, chúng tôi sử dụng dạng parameter. Click vào tab Parameters và điền tên biến và giá trị tương ứng:

WmsIdExternalOrderUid ${WmsIdExternalOrderUid} 
CustomerLocation.PostCode ${CustomerLocation.PostCode} 
CreatedDate.From ${CreatedDate.From} 
CreatedDate.To ${CreatedDate.To} 

Tiếp theo chúng tôi sẽ thiết lập header, bằng cách tạo HTTP Request Header, sau đó click button Add và điền thông tin header vào:
Authorization: Bearer ${token}
Content-Type: application/json

 

 

Step 3: Tạo Listeners

Tiếp theo hãy tạo 1 vài Listener để xem kết quả sau khi chạy. Chúng tôi sẽ tạo 3 Listeners là View Result Tree, Aggreate Report và Summary Report

Thread Group → Add → Listener → View Result Tree

Thread Group → Add → Listener → Aggregate Report

Thread Group → Add → Listener → Summary Report

 

Thực thi test plan

Để run toàn bộ test plan, có thể sử dụng phím tắt Ctrl + R hoặc nhấn button run Image ở trên Icon Toolbar.

Trong quá trình chạy và sau khi chạy xong, chọn View Result Tree hoặc Aggregate Report hoặc Summary Report để xem kết quả.

Như vậy chúng tôi đã hướng dẫn các bạn cách xây dựng kịch bản test plan hoàn chỉnh kết hợp sử dụng Json extractor và cấu hình CSV dataset config.

Ở bài tiếp theo chúng tôi sẽ hướng dẫn phân tích report trong Jmeter.

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

Leave a Reply