JMeter: Sử dụng Regular Expression với Sessions ID và Tokens – P3

4672

Bài viết được sự cho phép của BQT Kinh nghiệm lập trình

Chào mọi người, cùng quay lại chuỗi bài viết về cách sử dụng Jmeter nào.
Ở bài viết trước, mình đã giới thiệu tới các bạn các bước chi tiết để thiết kế và thực thi 1 kịch bản test hiệu quả. Các bạn có thể xem lại ở Đây.

  Công cụ performance test Jmeter
  Hướng dẫn sử dụng JMeter test hiệu năng website - Phần 1

Mình xin nhắc lại chuỗi bài viết của mình gồm 4 phần sau:
Phần 1: Giới thiệu và cài đặt
Phần 2: Hướng dẫn xây dựng kịch bản test
Phần 3: Sử dụng Regular Expressions làm việc với Session IDs và Tokens
Phần 4: Mở rộng – Tạo lập Scripts tự động bằng HTTP(S) Test Script Recorder.
Trong bài viết này, chúng ta sẽ đi tìm hiểu cách để sử dụng Tokens và Session IDs cho các request trong kịch bản test hoạt động.

Tại sao lại là Session IDs và Tokens?

Trong 1 số hệ thống phần mềm, ngoài các params mà ta có thể tự định nghĩa trước và đưa vào request từ file *.csv, 1 số request khi thực hiện yêu cầu đòi hỏi thêm tham số Session ID của phiên đăng nhập đó. Tất nhiên ID này thì ta không thể tự định nghĩa trước được và cho dù bằng cách nào đó, bạn tạo ra được chuỗi này, thì nó cũng không còn tính khách quan của việc giả lập 1 người sử dụng bình thường nữa.
Chính vì thế, Jmeter cung cấp phương tiện để ta ghi nhận lại các thông số Session ID và Tokens của từng phiên đăng nhập như 1 biến, để ta sử dụng cho các request trong kịch bản test.

Lấy Token bằng Regular Expression Extractor

Làm theo hướng dẫn như hình bên dưới để tạo 1 Regular Expression Extractor:

Và cài đặt như sau:

Cài đặt tham số như sau:

Selecting the options:
Field to check: Response Header, bởi vì mình sẽ lấy dữ liệu từ Response Header của request trước đó.
Name of created variable: XSRF-TOKEN (Bạn có thể đặt tên tùy ý, phụ thuộc vào logic phần mềm bạn đang test, quan sát ở header trong developer tool – F12).
Regular Expression: Set-Cookie: XSRF-TOKEN=(.*?);
Template: $1$ để biết nhóm biểu thức sẽ lưu, ở đây ta chỉ có 1 nhóm.
Match No: 1. Số lượng dữ liệu biến mình sẽ lưu, ở đây ta lưu duy nhất 1 giá trị.
Default Value: NOT FOUND. Bạn có thể nhập giá trị khác, ở đây mình chọn thông báo Not found cho dễ nhận dạng.

Như vậy, bạn có thể sử dụng giá trị này trong các requests của mình (bodies and headers). Bạn chỉ cần gọi biến bình thường trong Jmeter, bằng cách ${XSRF-TOKEN}.

Extracting Session ID

Chúng ta vừa cài đặt và lấy giá trị token ra sử dụng như 1 biến, tiếp theo sẽ là Session ID. Hoàn toàn tương tự như Tokens. Theo dõi các bước dưới đây nhé.

Tiếp tục thêm 1 Regular Expression Extractor và config như sau:

Sau khi hoàn tất, bạn đã có thể sử dụng giá trị này bằng cách gọi biến bình thường trong Jmeter: ${ci_session}.

Trên đây là hướng dẫn cơ bản để thao tác và sử dụng Regular Expression Extractor trong Jmeter để lấy Session ID và Token cho phiên làm việc của user. Bên cạnh đó, các bạn cũng có thể tìm hiểu thêm về các Extractor khác mà Jmeter cung cấp sẵn trong Post Processors: CSS Selector Extractor, JSON Extractor…

Các bạn có thắc mắc gì, vui lòng để lại bình luận, mình cùng trao đổi giúp đỡ nhau nhé. Phần tiếp theo mình sẽ hướng dẫn các bạn tạo 1 kịch bản test 1 cách tự động bằng Jmeter.

Tham khảo:
https://www.blazemeter.com/blog/using-regular-expressions-to-extract-tokens-and-session-ids-to-variables

https://jmeter.apache.org/usermanual/component_reference.html#Regular_Expression_Extractor

kinhnghiemlaptrinh.com

Bài viết gốc được đăng tải tại kinhnghiemlaptrinh.com

Có thể bạn quan tâm:

Xem thêm Việc làm IT hấp dẫn trên TopDev