Các thành phần trong JMeter
Bài viết này sẽ giới thiệu về các thành phần của JMeter và cấu hình các thành phần đó.
JMeter gồm những thành phần nào?
Các thành phần của JMeter được gọi là Elements. Mỗi Element được thiết kế cho một mục đích cụ thể.
Hình dưới đây đưa ra một số Elements tiêu biểu trong JMeter.
Trong bài viết này, chúng ta sẽ nghiên cứu về các Elements quan trọng cần phải biết để có thể kiểm thử bằng JMeter, đó là các Elements sau:
Bài viết này được đăng tại [free tuts .net]
- Thread Group
- Samplers
- Listeners
- Configuration
Thread Group
Thread Groups là tập hợp các threads. Mỗi thread đại diện cho một người dùng sử dụng ứng dụng. Về cơ bản, mỗi Thread mô phỏng một yêu cầu của người dùng thực đến máy chủ.
Bộ điều khiển Thread Group cho phép đặt số lượng Thread.
Ví dụ: Nếu đặt số lượng Thread là 100, JMeter sẽ tạo và mô phỏng 100 yêu cầu người dùng tới máy chủ đang được kiểm thử
Samplers
JMeter hỗ trợ kiểm thử các giao thức HTTP, FTP, JDBC và nhiều giao thức khác.
Chúng ta đã biết rằng các Thread Groups mô phỏng yêu cầu của người dùng (user request) đến máy chủ. Nhưng làm thế nào để một Thread Group biết được loại Request nào (HTTP, FTP…) mà nó cần phải thực hiện?
Câu trả lời là Samplers (Mẫu thử).
User request có thể là FTP Request, HTTP Request, JDBC Request...
FTP request
Hãy tưởng tượng bạn muốn kiểm thử hiệu năng một máy chủ FTP. Bạn có thể sử dụng FTP Request sampler trong JMeter để thực hiện. Bộ điều khiển này cho phép gửi FTP Request "download file" hoặc "upload file" lên FTP server.
Ví dụ: Nếu bạn muốn tải xuống tệp "Test.txt" từ máy chủ FTP đang được kiểm thử, bạn cần cấu hình một vài thông số trong JMeter như hình bên dưới:
JMeter sẽ gửi FTP request đến máy chủ FTP ftp.example.com, sau đó tải xuống tệp Test.txt từ máy chủ đó.
HTTP request
Sampler này cho phép gửi HTTP / HTTPS request tới web server.
Hãy xem ví dụ bên dưới. JMeter gửi một HTTP request tới trang web của Google và truy xuất các tệp HTML hoặc hình ảnh từ trang web này:
JDBC request:
Sampler này cho phép thực hiện Kiểm thử Hiệu năng Cơ sở dữ liệu. Nó gửi một JDBC request (một truy vấn SQL) tới một cơ sở dữ liệu.
Ví dụ, một máy chủ cơ sở dữ liệu có một trường test_result được lưu trữ trong bảng test_tbl. Bạn muốn truy vấn dữ liệu này từ máy chủ cơ sở dữ liệu; bạn có thể cấu hình JMeter để gửi một truy vấn SQL đến máy chủ này để lấy dữ liệu.
BSF Sampler
Cho phép ghi một sampler bằng cách sử dụng ngôn ngữ kịch bản BSF.
Đây là một ví dụ về BSF Sampler trong JMeter:
Access Log Sampler
Sampler này cho phép đọc access log (nhật ký truy cập) và tạo các HTTP request. Log có thể là hình ảnh, Html, CSS ...
SMTP Sampler
Nếu muốn kiểm tra mail server, bạn có thể sử dụng SMTP sampler. Sampler này được sử dụng để gửi email bằng giao thức SMTP.
Listeners
Listeners hiển thị kết quả sau khi thực hiện kiểm thử. Có thể hiển thị kết quả ở nhiều dạng như tree, bảng, biểu đồ hoặc file log.
Graph Result Listener hiển thị thời gian phản hồi của máy chủ trên Biểu đồ:
View Result Tree hiển thị kết quả của yêu cầu người dùng ở định dạng HTML cơ bản:
Table Result hiển thị tóm lược kết quả kiểm thử ở định dạng bảng:
Log hiển thị bản tóm tắt kết quả kiểm thử trong file text:
Configuration Elements
Thiết lập các giá trị mặc định và các biến để sử dụng sau này bởi các samplers.
Hình dưới đây cho thấy một số configuration elements thường được dùng trong JMeter:
CSV Data Set Config
Giả sử bạn muốn kiểm thử trang web cho 100 người dùng đăng nhập bằng thông tin đăng nhập khác nhau. Bạn không cần ghi lại kịch bản 100 lần! Bạn có thể tham số hóa script để nhập thông tin đăng nhập khác nhau. Thông tin đăng nhập này (Tên người dùng, mật khẩu) có thể được lưu trữ trong file text. JMeter có một phần tử cho phép đọc các tham số khác nhau từ file text. Đó là " CSV Data Set Config ", được sử dụng để đọc các dòng từ một file và chia chúng thành các biến.
Một ví dụ về CSV data. Đây là file text chứa username và password để đăng nhập trang web:
HTTP Cookie Manager
Bạn đã sử dụng các trình duyệt (Firefox, IE ... ) để duyệt trang www.google.com.
Bạn đăng nhập với username và password.
Username và password sẽ được lưu trữ trong máy tính dưới dạng cookie.
Lần tới, khi bạn truy cập www.google.com, bạn không cần phải đăng nhập lại username và password vì trình duyệt sẽ sử dụng cookie làm dữ liệu người dùng để đăng nhập.
HTTP cookie manager cũng có tính năng giống như trình duyệt web. Nếu bạn có HTTP Request và phản hồi chứa cookie, Cookie Manager sẽ tự động lưu trữ cookie và sẽ sử dụng cookie đó cho tất cả các yêu cầu trong tương lai đối với trang web đó.
HTTP request default
Phần tử này cho phép đặt các giá trị mặc định mà bộ điều khiển HTTP Request sử dụng.
Ví dụ,
Bạn đang gửi 100 HTTP Request tới máy chủ google.com.
Bạn sẽ phải nhập tên máy chủ theo cách thủ công là google.com cho tất cả 100 yêu cầu này.
Thay vào đó, bạn có thể thêm một HTTP Request mặc định với trường "Server Name or IP" là google.com. Không cần phải gõ 100 lần.
Login Config Element
Login Config Element cho phép thêm hoặc ghi đè username và password trong các samplers.
Ví dụ, muốn mô phỏng một người dùng đăng nhập vào trang web www.facebook.com với username và password. Bạn có thể sử dụng Login Config Element để thêm username và password vào yêu cầu của người dùng.
Phân biệt “Login Config Element” với CSV Data Config:
Login Config Element | CSV Data Config |
Được sử dụng để mô phỏng một người dùng đăng nhập | Được sử dụng để mô phỏng nhiều người dùng đăng nhập |
Chỉ phù hợp với tham số đăng nhập (tên người dùng và mật khẩu) | Thích hợp cho số lượng lớn các tham số |