Cách sử dụng JMeter để ghi lại các tình huống kiểm tra
Trong hướng dẫn này, ta sẽ dạy bạn cách cài đặt và sử dụng Trình ghi tập lệnh thử nghiệm Apache JMeter HTTP (S) để ghi lại các yêu cầu HTTP. Ghi lại các yêu cầu HTTP là một cách tốt để xây dựng kế hoạch thử nghiệm và có thể hữu ích trong việc tạo các thử nghiệm gần giống với hành vi của user bình thường.Hướng dẫn này giả định bạn có kiến thức cơ bản về Apache JMeter. Nếu bạn chưa quen với JMeter, đây là một hướng dẫn khác có thể giúp bạn bắt đầu: Cách sử dụng Apache JMeter để thực hiện kiểm tra tải trên web server
Yêu cầu
Đây là danh sách các phần mềm mà hướng dẫn này yêu cầu:
- Apache JMeter: Download file binary tại đây
- Java 6 trở lên: Oracle Java có sẵn tại đây
- Mozilla Firefox: Download tại đây
Để tham khảo, khi viết hướng dẫn này, ta đã sử dụng các version phần mềm sau:
- Bản cập nhật Oracle Java 7 60, 64-bit
- JMeter 2.11
- Firefox 30.0
Bắt đầu xây dựng kế hoạch thử nghiệm
Đầu tiên, khởi động JMeter. Sau đó, hãy bắt đầu xây dựng một kế hoạch thử nghiệm. Nếu bạn đã có kế hoạch kiểm tra mà bạn muốn bắt đầu, hãy bỏ qua phần này và chuyển sang thêm Bộ điều khiển ghi vào Group chủ đề của bạn (phần tiếp theo).
Tối thiểu, ta sẽ muốn thêm Group chủ đề và Mặc định yêu cầu HTTP. Hãy bắt đầu bằng cách thêm một Group chủ đề.
Thêm một group chủ đề
Thêm một group chủ đề vào kế hoạch kiểm tra :
- Nhấp chuột phải vào Kế hoạch kiểm tra
- Di chuột qua Thêm>
- Di chuột qua Chủ đề ( User )>
- Nhấp vào Group Chủ đề
Đặt thuộc tính Group chủ đề với các giá trị sau:
- Số stream ( user ) : Đặt giá trị này thành 50
- Thời gian tăng tốc (tính bằng giây) : Đặt giá trị này thành 10 .
- Số vòng lặp : Để bộ này thành 1 .
Thêm mặc định yêu cầu HTTP
Bây giờ, hãy thêm Mặc định Yêu cầu HTTP vào Group Chủ đề :
- Chọn Group chủ đề , sau đó nhấp chuột phải vào nó
- Di chuột qua Thêm>
- Di chuột qua Phần tử cấu hình>
- Nhấp vào Mặc định Yêu cầu HTTP
Trong Mặc định Yêu cầu HTTP, trong phần Server Web, hãy điền vào trường Tên Server hoặc IP với tên hoặc địa chỉ IP của web server bạn muốn kiểm tra.
Thêm trình quản lý cookie HTTP
Nếu web server của bạn sử dụng cookie, bạn có thể thêm hỗ trợ cho cookie bằng cách thêm Trình quản lý cookie HTTP vào Group chủ đề:
- Chọn Group chủ đề , sau đó nhấp chuột phải vào nó
- Di chuột qua Thêm>
- Di chuột qua Phần tử cấu hình>
- Nhấp vào Trình quản lý cookie HTTP
Thêm bộ điều khiển ghi
Bây giờ hãy thêm Bộ điều khiển ghi vào Group chủ đề :
- Chọn Group chủ đề , sau đó nhấp chuột phải vào nó
- Di chuột qua Thêm>
- Di chuột qua Bộ điều khiển logic>
- Nhấp vào Bộ điều khiển ghi
Bộ điều khiển ghi là nơi các trình lấy mẫu Yêu cầu HTTP đã ghi sẽ được tạo. Bước tiếp theo là cài đặt Trình ghi tập lệnh thử nghiệm HTTP (S).
Thêm trình ghi tập lệnh thử nghiệm HTTP (S)
Bây giờ, hãy thêm Trình ghi tập lệnh thử nghiệm HTTP (S) vào WorkBench :
- Chọn WorkBench , sau đó nhấp chuột phải vào nó
- Di chuột qua Thêm>
- Di chuột qua các phần tử không thử nghiệm>
- Nhấp vào Trình ghi tập lệnh thử nghiệm HTTP (S)
Lưu ý: Các mục được thêm vào WorkBench sẽ không được lưu với phần còn lại của kế hoạch thử nghiệm. Nếu bạn muốn lưu WorkBench của bạn , hãy nhấp chuột phải vào WorkBench , sau đó nhấp vào Lưu lựa chọn dưới dạng… và lưu nó vào vị trí mong muốn của bạn. Sau khi nó được lưu, bạn có thể thêm nó vào bất kỳ kế hoạch thử nghiệm nào mà bạn đã mở bằng cách sử dụng mục menu “Hợp nhất” và chọn WorkBench đã lưu của bạn.
Cài đặt cổng
Cổng mặc định mà proxy HTTP (S) Test Script Recorder sẽ chạy là 8080
. Điều này có thể được thay đổi bằng cách thay đổi cài đặt Port
trong Cài đặt chung .
Bao gồm hoặc Loại trừ Mẫu URL (Tùy chọn)
Trong Trình ghi tập lệnh HTTP (S), bạn có thể thêm Mẫu URL, được viết dưới dạng biểu thức chính quy, để bao gồm hoặc loại trừ khi bạn ghi. Điều này có thể hữu ích khi chỉ bao gồm các loại nội dung bạn muốn yêu cầu (ví dụ: * .html, * .php, v.v.) hoặc để loại trừ các loại nội dung bạn không muốn yêu cầu (ví dụ: * .jpg, * .png , * .js, v.v.).
Để thêm Mẫu URL, hãy nhấp vào nút “Thêm” trong phần Mẫu URL để Bao gồm hoặc Mẫu URL để Loại trừ , sau đó nhấp vào trên cùng của vùng màu trắng trong phần. Đến đây bạn có thể nhập một mẫu. Lặp lại quy trình để thêm các mẫu khác.
Ví dụ: Mẫu URL cho các trang web
.*\.html .*\.php .*\.htm
Ví dụ: Mẫu URL cho hình ảnh
.*\.png .*\.jpg .*\.gif
Đây là ảnh chụp màn hình của các Mẫu URL cần Loại trừ để loại trừ hình ảnh:
Thêm các mục vào trình ghi tập lệnh (Tùy chọn)
Việc thêm các mục JMeter vào Trình ghi tập lệnh kiểm tra HTTP (S) sẽ làm cho các yêu cầu đã ghi kế thừa mục đã thêm. Ví dụ: nếu ta thêm một mục Bộ hẹn giờ vào Trình ghi tập lệnh, Bộ hẹn giờ sẽ được thêm vào mỗi Yêu cầu HTTP được ghi lại. Khi kiểm tra được chạy, bộ đếm thời gian sẽ khiến mỗi chuỗi kiểm tra chờ trước khi thực hiện Yêu cầu HTTP.
Hãy thêm Bộ hẹn giờ cố định vào Trình ghi tập lệnh thử nghiệm HTTP (S) , làm ví dụ:
- Chọn Trình ghi tập lệnh thử nghiệm HTTP (S) , sau đó nhấp chuột phải vào nó
- Di chuột qua Thêm>
- Di chuột qua Bộ hẹn giờ>
- Nhấp vào Hẹn giờ không đổi
Bạn có thể cấu hình độ trễ stream thành bất cứ điều gì bạn muốn.
Giả sử bạn muốn mô phỏng một user nhấp vào một trang khác sau mỗi 2 giây. Đặt độ trễ stream thành 2000 ms sẽ thực hiện được điều này bằng cách thêm độ trễ 2 giây vào mỗi Yêu cầu HTTP được ghi lại.
Đây chỉ là một ví dụ về cách bạn có thể thêm các mục vào Trình ghi tập lệnh để giúp tạo kế hoạch thử nghiệm thực hiện các thử nghiệm mà bạn mong muốn.
Bắt đầu thu
Nhấp vào nút “Bắt đầu”, ở cuối cửa sổ Trình ghi tập lệnh, sẽ khởi động server proxy JMeter sẽ được sử dụng để chặn và ghi lại các yêu cầu của trình duyệt. Bấm vào nút Bắt đầu (của đầu ghi) ngay bây giờ.
Lần đầu tiên bạn cố gắng chạy trình ghi, nó sẽ hiển thị lỗi nói rằng nó không thể khởi động vì certificate không tồn tại. Bấm OK, sau đó bấm Bắt đầu lần thứ hai. Bạn sẽ thấy một thông báo cho biết rằng certificate tạm thời có tên ApacheJMeterTemporaryRootCA.crt đã được tạo trong folder bin JMeter. Nhấn OK và tiếp tục.
Lưu ý: Nếu trình duyệt của bạn đã sử dụng proxy, thì bạn cần phải cấu hình JMeter để sử dụng proxy đó trước khi khởi động JMeter, sử dụng các tùy chọn dòng lệnh -H và -P.
Cấu hình Firefox để sử dụng JMeter Proxy
Ta sẽ sử dụng Firefox làm trình duyệt của bạn khi sử dụng Trình ghi tập lệnh thử nghiệm JMeter HTTP (S) bởi vì, không giống như Chrome và một số trình duyệt khác, nó cho phép bạn overrides cấu hình toàn hệ thống cho cài đặt proxy của nó.
Cấu hình Firefox để sử dụng localhost (127.0.0.1) trên cổng 8080 làm proxy cho tất cả lưu lượng truy cập theo các bước sau:
- Mở Firefox
- Chuyển đến menu Tùy chọn
- Nhấp vào tab Nâng cao
- Sau đó, tab Mạng
- Trong phần “Kết nối”, nhấp vào “Cài đặt…”
- Chọn nút radio "Cấu hình proxy thủ công"
- Đặt HTTP Proxy thành “localhost” và Port thành “8080”
- Chọn “Sử dụng server proxy này cho tất cả các giao thức”
- Nhấp vào OK và thoát khỏi menu Tùy chọn
Lưu ý: Khi Firefox được cấu hình để sử dụng Trình ghi tập lệnh của JMeter làm proxy, nó sẽ chỉ hoạt động bình thường nếu Trình ghi tập lệnh đang chạy.
Ghi lại các yêu cầu HTTP
Bây giờ Trình ghi tập lệnh thử nghiệm HTTP (S) của kế hoạch thử nghiệm của ta đang chạy và Firefox được cấu hình để sử dụng nó làm proxy, các yêu cầu HTTP mà Firefox gửi sẽ được ghi lại. Hãy kiểm tra nó ra.
Trong Firefox, truy cập trang chủ của server của bạn (cùng một server mà bạn đã cấu hình trong Mặc định yêu cầu JMeter HTTP):
http://your_domain.com/
Bây giờ sẽ có một hình tam giác nhỏ bên cạnh Bộ điều khiển ghi của bạn. Nhấp vào nó để mở rộng và hiển thị các yêu cầu mà nó đã ghi lại. Bạn sẽ thấy các yêu cầu HTTP đã được ghi lại, tùy thuộc vào Mẫu URL nào bạn đã bao gồm và loại trừ. Hãy duyệt qua trang web để ghi lại nhiều yêu cầu hơn.
Dưới đây là một ví dụ về những gì đã được ghi lại khi truy cập trang chủ của một trang WordPress (không có Mẫu URL nào được đặt):
Như bạn thấy , rất nhiều yêu cầu đã được tạo ra. Bạn có thể tinh chỉnh danh sách các yêu cầu HTTP bằng cách xóa các mục không mong muốn tại đây.
Nếu bạn không thấy bất kỳ mục nào trong Bộ điều khiển ghi, bạn cần xem lại Mẫu URL của bạn trong Trình ghi tập lệnh thử nghiệm HTTP (S) (Gợi ý: Xóa tất cả bao gồm và loại trừ để ghi lại mọi thứ).
Sau khi bạn ghi xong, hãy nhấp vào nút “Dừng” ở cuối cửa sổ Trình ghi tập lệnh thử nghiệm HTTP (S). Lưu ý Firefox sẽ không thể truy cập bất kỳ trang nào nữa (vì nó được cấu hình để sử dụng cổng 8080 làm proxy) –cấu hình nó để sử dụng “Không có proxy” nếu bạn muốn hoạt động bình thường.
Chạy kế hoạch thử nghiệm của bạn
Khi thấy ổn với kế hoạch kiểm tra mà bạn đã ghi lại, hãy lưu nó, sau đó chạy nó. Nó sẽ hoạt động chính xác như một bài kiểm tra được tạo thủ công, vì vậy bạn có thể cấu hình nó, xóa và thêm các mục để làm cho nó trùng với trường hợp kiểm tra mong muốn của bạn chặt chẽ hơn.
Kết luận
Đến đây bạn có thể sử dụng Trình ghi tập lệnh thử nghiệm HTTP (S) để hỗ trợ việc tạo các kế hoạch thử nghiệm của JMeter, bạn sẽ có thời gian dễ dàng hơn khi tạo các kế hoạch thử nghiệm mô phỏng các tình huống thực tế. Vui lòng khám phá các yêu cầu đã ghi trong Bộ điều khiển ghi của bạn để tìm hiểu thêm về các loại yêu cầu được thực hiện khi user duyệt web server của bạn.
Chúc may mắn!
Các tin liên quan