Thứ ba, 01/07/2014 | 00:00 GMT+7

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:

Để 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 :

  1. Nhấp chuột phải vào Kế hoạch kiểm tra
  2. Di chuột qua Thêm>
  3. Di chuột qua Chủ đề ( User )>
  4. 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 .

Thuộc tính  group  chủ đề

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ủ đề :

  1. Chọn Group chủ đề , sau đó nhấp chuột phải vào nó
  2. Di chuột qua Thêm>
  3. Di chuột qua Phần tử cấu hình>
  4. 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.

Yêu cầu HTTP mặc định

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ủ đề:

  1. Chọn Group chủ đề , sau đó nhấp chuột phải vào nó
  2. Di chuột qua Thêm>
  3. Di chuột qua Phần tử cấu hình>
  4. 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ủ đề :

  1. Chọn Group chủ đề , sau đó nhấp chuột phải vào nó
  2. Di chuột qua Thêm>
  3. Di chuột qua Bộ điều khiển logic>
  4. 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 :

  1. Chọn WorkBench , sau đó nhấp chuột phải vào nó
  2. Di chuột qua Thêm>
  3. Di chuột qua các phần tử không thử nghiệm>
  4. 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:

Các mẫu URL để 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ụ:

  1. Chọn Trình ghi tập lệnh thử nghiệm HTTP (S) , sau đó nhấp chuột phải vào nó
  2. Di chuột qua Thêm>
  3. Di chuột qua Bộ hẹn giờ>
  4. 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.

Hẹn giờ liên tục

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.

Giấy chứng nhận tạm thời đã được tạo

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:

  1. Mở Firefox
  2. Chuyển đến menu Tùy chọn
  3. Nhấp vào tab Nâng cao
  4. Sau đó, tab Mạng
  5. Trong phần “Kết nối”, nhấp vào “Cài đặt…”
  6. Chọn nút radio "Cấu hình proxy thủ công"
  7. Đặt HTTP Proxy thành “localhost” và Port thành “8080”
  8. Chọn “Sử dụng server proxy này cho tất cả các giao thức”
  9. 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):

Yêu cầu HTTP được ghi lại

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!


Tags:

Các tin liên quan