Ở bài này mình sẽ giới thiệu các bạn các bước để tạo một Web Test Plan đơn giản.
1. Thiết lập số lượng người dùng
Bước đầu tiên của việc tạo Web Test Plan là bạn phải thêm mới một Thread Group. Để tạo một Thread Group trong JMeter, bạn có thể làm theo các bước sau:
- Nhấn chuột phải vào khu vực bảng điều khiển bên trái và chọn Add → Threads (Users) → Thread Group.
- Đặt tên cho Thread Group và nhập các thông số cấu hình như số lượng người dùng đồng thời, thời gian chờ giữa các yêu cầu, thời gian chờ kết nối và thời gian chờ phản hồi.
Thread Group cũng cho phép bạn tùy chỉnh một số thông số cấu hình như:
- Ramp-Up Period: Thời gian để các người dùng khác nhau bắt đầu yêu cầu. Ví dụ: Nếu Ramp-Up Period là 10 giây và số lượng người dùng đồng thời là 10, mỗi yêu cầu sẽ được gửi mỗi giây.
- Loop Count: Số lần lặp lại các yêu cầu trong Thread Group. Ví dụ: Nếu Loop Count là 5, các yêu cầu sẽ được gửi 5 lần.
- Scheduler Configuration: Cho phép bạn thiết lập thời gian bắt đầu và kết thúc cho Thread Group.
2. Thiết lập các thông tin mặc định về link test.
HTTP Request Defaults là một thành phần trong JMeter cho phép bạn thiết lập các thông số cấu hình mặc định cho các yêu cầu HTTP được sử dụng trong Thread Group hoặc một thành phần con khác. Khi sử dụng HTTP Request Defaults, bạn không cần phải thiết lập lại các thông số cấu hình cho từng yêu cầu HTTP riêng lẻ, mà chỉ cần thiết lập một lần trong HTTP Request Defaults và các yêu cầu HTTP sẽ thừa kế các thông số này.
Để thêm HTTP Request Defaults bạn cần: Nhấn chuột phải vào khu vực bảng điều khiển bên trái và chọn Add → Config Elements → HTTP Request Defaults
Các thông số cấu hình mặc định mà HTTP Request Defaults hỗ trợ bao gồm:
- Server Name or IP: Tên máy chủ hoặc địa chỉ IP của máy chủ mà yêu cầu HTTP sẽ được gửi đến.
- Port Number: Cổng mà yêu cầu HTTP sẽ được gửi đến trên máy chủ.
- Protocol: Giao thức sử dụng trong yêu cầu HTTP, ví dụ như HTTP hoặc HTTPS.
- Path: Đường dẫn tới tài nguyên trên máy chủ mà yêu cầu HTTP sẽ được gửi đến.
- Content-Encoding: Định dạng mã hóa được sử dụng cho nội dung yêu cầu HTTP.
- Method: Phương thức HTTP được sử dụng trong yêu cầu, ví dụ như GET, POST, PUT, DELETE, vv.
- Use KeepAlive: Cho phép kết nối giữa máy khách và máy chủ được duy trì sau khi yêu cầu được gửi và phản hồi được nhận.
- Follow Redirects: Cho phép tự động chuyển hướng yêu cầu HTTP khi nhận được phản hồi chuyển hướng từ máy chủ.
- Use multipart/form-data for POST: Cho phép gửi yêu cầu HTTP bằng phương thức POST và dữ liệu được mã hóa dưới dạng multipart/form-data.
Khi sử dụng HTTP Request Defaults, bạn có thể thiết lập các giá trị mặc định cho tất cả các yêu cầu HTTP trong Thread Group hoặc cho một nhóm yêu cầu HTTP trong một thành phần con khác. Với HTTP Request Defaults, bạn có thể tiết kiệm thời gian và tăng tính thống nhất trong các kịch bản thử nghiệm của mình.
3. Thêm Cookie Support
Khi bạn gửi yêu cầu HTTP đến một trang web, trình duyệt sẽ tự động lưu trữ cookie, điều này cho phép bạn duy trì trạng thái đăng nhập hoặc các thông tin khác giữa các yêu cầu khác nhau. trong JMeter thì bạn quản lý cookie bằng element: HTTP Cookie Manager, nó cho phép thực hiện việc ghi nhận và quản lý cookie cho các HTTP request trong kịch bản thử nghiệm của bạn.
Để thêm HTTP Cookie Manager bạn cần: Nhấn chuột phải vào khu vực bảng điều khiển bên trái và chọn Add → Config Elements → HTTP Cookie Manager
HTTP Cookie Manager có thể được thêm vào Thread Group hoặc một thành phần con khác. Khi sử dụng HTTP Cookie Manager, bạn có thể:
- Lưu cookie: HTTP Cookie Manager sẽ lưu trữ các cookie trên đĩa cứng của bạn, để bạn có thể sử dụng lại chúng trong các lần thử nghiệm sau. Cookie được lưu trữ theo định dạng của trình duyệt và có thể được chia sẻ giữa các luồng (thread) trong Thread Group.
- Gửi cookie: HTTP Cookie Manager sẽ tự động gửi cookie trong các yêu cầu HTTP. Điều này giúp duy trì trạng thái đăng nhập và giữa các yêu cầu HTTP khác nhau trong cùng một kịch bản thử nghiệm.
- Xóa cookie: HTTP Cookie Manager cho phép bạn xóa cookie theo yêu cầu. Bạn có thể chỉ định một số cookie cụ thể hoặc xóa tất cả các cookie.
Ngoài ra, HTTP Cookie Manager còn hỗ trợ các chế độ xử lý cookie khác nhau:
- Standard: Đây là chế độ mặc định, trong đó JMeter tự động lưu và gửi cookie.
- Compatibility: Chế độ này giống như chế độ Standard, nhưng nó sử dụng cách tiếp cận tương thích với các trình duyệt cũ hơn.
- Netscape: Chế độ này đọc cookie từ một tệp cookie Netscape định dạng chuẩn.
HTTP Cookie Manager là một trong những thành phần quan trọng trong JMeter, giúp bạn duy trì trạng thái giữa các yêu cầu HTTP và tăng tính thống nhất trong kịch bản thử nghiệm của mình.
4. Thêm HTTP Request
Trong một kịch bản kiểm thử thì rõ ràng chúng ta cần truy cập cụ thể đến một đường dẫn nào đó, ở Jmeter để truy cập đến địa chỉ web thì bạn cần dùng HTTP Request. Để thêm HTTP Request: Nhấn chuột phải vào Thread Group > Add → Sampler → HTTP Request
HTTP Request là một trong những thành phần cốt lõi của JMeter, cho phép bạn gửi các yêu cầu HTTP đến một trang web hoặc ứng dụng web để kiểm tra tải và đánh giá hiệu suất của nó. Trong thành phần HTTP Request, bạn có thể thiết lập các thuộc tính sau:
- Protocol: HTTP hoặc HTTPS.
- Server Name or IP: Tên máy chủ hoặc địa chỉ IP của trang web mà bạn muốn gửi yêu cầu HTTP đến.
- Port Number: Cổng mà trang web đang lắng nghe để xử lý yêu cầu HTTP. Mặc định là 80 cho HTTP và 443 cho HTTPS.
- Method: Phương thức HTTP mà bạn muốn sử dụng cho yêu cầu của mình, ví dụ như GET, POST, PUT, DELETE, vv.
- Path: Đường dẫn của tài nguyên trên trang web mà bạn muốn truy cập. Ví dụ: /login.php.
- Parameter: Các tham số truyền trong yêu cầu HTTP, ví dụ: username, password.
- Content Encoding: Các mã hóa nội dung (ví dụ như gzip) được sử dụng trong yêu cầu HTTP.
- Body Data: Dữ liệu truyền trong yêu cầu HTTP, ví dụ như tên đăng nhập và mật khẩu.
- Files Upload: Các tệp tin cần upload lên server.
- HTTP Header Manager: Thiết lập các trường tiêu đề HTTP để gửi cùng với yêu cầu HTTP.
- Assertions: Thiết lập các điều kiện để xác định xem yêu cầu HTTP có thành công hay không.
- Response Timeouts: Thiết lập thời gian chờ để nhận phản hồi từ máy chủ trước khi yêu cầu bị hủy.
Trong thành phần HTTP Request, bạn cũng có thể sử dụng các biến JMeter để thực hiện kiểm tra tải động. Điều này cho phép bạn thay đổi các giá trị của các tham số và tiêu đề trong yêu cầu HTTP một cách động, ví dụ như sử dụng biến để thay đổi tên đăng nhập hoặc mật khẩu giữa các yêu cầu.
5. Xem kết quả chạy và báo cáo
Sau khi hoàn thành các bước trên thì trước khi chạy chúng ta cần xem là sau khi chạy xong thì có những request nào lỗi, request nào pass, kết quả báo cáo như thế nào thì:
Đối với việc xem kết quả từng Request: Nhấn chuột phải vào Thread Group > Add → Listener→ View Results Tree
Đối với việc xem báo thì: Nhấn chuột phải vào Thread Group > Add → Listener→ Summary Report
Như vậy là chúng ta đã tạo được một Web Test Plan đơn giản. Và giờ bạn chỉ cần khởi chạy và xem kết quả.
Student feedback
Reviews