Hướng Dẫn Lấy Token Bằng Json Extractor

Ở bài viết trước, chúng tôi đã giới thiệu các bạn các bước chi tiết để cấu hình CSV data config cho một kịch bản test hiệu quả. Các bạn có thể xem lại bài viết ở đây.

Trong bài viết này, chúng tôi sẽ hướng dẫn cách để lấy Tokens, Session IDs cho các request trong kịch bản test plan.

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.

Cách lấy token bằng Json Extractor.

Có nhiều cách lấy token, chúng ta sử dụng Regular Expression Extractor hoặc Json Extractor.

Trước tiên, chúng tôi sẽ sử dụng một kịch bản test plan đơn giản, cụ thể là:

Scenario: Thực hiện đăng nhập vào 1 trang web và thực hiện tìm kiếm đơn hàng.

Steps:
1. Access vào trang web https://portal.cif-operator.com/login
2. Tìm kiếm 1 đơn hàng (lấy token trong response ở step 1)
3. Click Login button

Ở kịch bản test plan này, chúng tôi sẽ thực hiện login, sử dung Json extractor để trích xuất giá trị thành một biến (lấy giá trị token) để sử dụng cho request kế tiếp.

Chúng tôi sẽ giả định Các bước trong test plan (Login,…) trong test plan đã thực hiện xong. Bạn có thể tham khảo lại tại đây.
Để tạo được Json Extractor, bạn làm theo hướng dẫn sau: Add -> Post Processors -> Json Extractor

Sau đó, cài đặt các thông số như sau:
– Names of created variables: token
– Json Patch expressions: $.accessToken.token
– Match No. (0 for Random): 0

Để lấy giá trị token từ response chính xác, bạn có thể tham khảo link bên dưới
http://jsonpath.herokuapp.com/

Như vậy, chúng ta có thể sử dụng giá trị này trong các requests của mình (body và headers). Bạn chỉ cần gọi biến bình thường trong Jmeter, bằng cách gọi token

Trên đây là hướng dẫn cơ bản để thao tác và sử dụng Json Extractor trong Jmeter để lấy 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, Regular Expression Extractor…

Phần tiếp theo mình sẽ hướng dẫn các bạn tạo một kịch bản test hoàn thiện bằng Jmeter.

Nguồn: https://octoperf.com/blog/2017/03/09/how-to-extract-data-from-json-response-using-jmeter/

Leave a Reply