Get in touch
or send us a question?
CONTACT

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

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…