JMeter: Sử dụng Regular Expression với Sessions ID và Tokens – P3
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.
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.
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:
- Hướng dẫn cơ bản để làm việc với Javascript regular expression
- Hướng dẫn sử dụng JMeter test hiệu năng website – Phần 2
- Hướng dẫn sử dụng JMeter test hiệu năng website – Phần 1
Xem thêm Việc làm IT hấp dẫn trên TopDev
- T Tìm hiểu Laptop AI – So sánh Laptop AI với Laptop thường
- M MySQL vs MS SQL Server: Phân biệt hai RDBMS phổ biến nhất
- S SearchGPT là gì? Công cụ tìm kiếm mới có thể đánh bại Google?
- C Cách tích hợp ChatGPT vào Google Search siêu dễ
- V VoiceGPT là gì? Giới thiệu tính năng và cách cài đặt sử dụng Voice GPT
- G GPT-4o Mini – Thông minh hơn và tiết kiệm hơn?
- C ChatGPT-4o là gì? Điểm mới của ChatGPT-4o vs ChatGPT-4
- C Chat GPT 4.0 là gì? Có gì vượt trội so với Chat GPT phiên bản cũ?
- C Cách tự học code web, tìm kiếm công việc dễ dàng và hạnh phúc mỗi ngày
- G Giới thiệu 15 website học và luyện hack hợp pháp