Khi kiểm tra API trong Apidog, thường cần phải trích xuất các giá trị cụ thể từ dữ liệu phản hồi của API để xử lý và sử dụng thêm (thường là để thực hiện các yêu cầu bổ sung). Thông thường, dữ liệu phản hồi của API có định dạng JSON hoặc XML. JSON là định dạng phổ biến nhất và được ưa chuộng vì nó ngắn gọn, dễ đọc và dễ phân tích. Do đó, bài viết này sẽ tập trung vào các kỹ thuật phân tích dữ liệu JSON.
Các phần chính của phản hồi thường cần xử lý là tiêu đề phản hồi và nội dung phản hồi. Apidog cung cấp các công cụ tích hợp sẵn để trích xuất cả tiêu đề phản hồi và nội dung phản hồi để phân tích. Trong bài viết này, chúng ta sẽ khám phá các kỹ thuật để trích xuất dữ liệu phản hồi của API trong Apidog.
Trích xuất Tiêu đề Phản hồi trong Apidog
Tất cả các phản hồi HTTP đều chứa tiêu đề cung cấp siêu dữ liệu về phản hồi. Các tiêu đề phản hồi được hiển thị theo định dạng danh sách cùng với các giá trị của chúng. Bạn có thể cuộn qua danh sách để kiểm tra chúng.
Thường thì, bạn có thể muốn trích xuất một giá trị tiêu đề cụ thể để xác thực. Ví dụ, để kiểm tra một API xác thực, bạn có thể muốn khẳng định rằng nó trả về một mã thông báo hợp lệ trong phản hồi.
Apidog sẽ tự động tạo một biến để lưu trữ giá trị của tiêu đề đó. Sau đó, bạn có thể tham chiếu biến này trong các bước kiểm tra tiếp theo để xác thực giá trị. Điều này cung cấp một cách thuận tiện để lấy các tiêu đề phản hồi để xác minh.
Ví dụ về các tiêu đề phản hồi từ một API:
Để trích xuất toàn bộ giá trị của tiêu đề với khóa "Session-Token", bạn chỉ cần nhập tên khóa vào phần "Hành động Post" cho API.
Tuy nhiên, nếu bạn chỉ muốn trích xuất một phần của giá trị tiêu đề Session-Token, chẳng hạn như chỉ giá trị msToken? Trong trường hợp này, bạn sẽ cần sử dụng một kịch bản với biểu thức chính quy để thực hiện việc trích xuất.
Để trích xuất giá trị Token từ Session-Token, kịch bản cần thiết sẽ là:
pm.response.headers.toJSON()[2]['value'].toString().match(/msToken=([^;\s"]+)/)[1]
Trong kịch bản này, chúng ta đầu tiên lấy toàn bộ giá trị tiêu đề Session-Token bằng cách sử dụng pm.response.headers. Sau đó, chúng ta sử dụng một biểu thức chính quy để trích xuất chỉ giá trị msToken từ Session-Token. Điều này sẽ trả về một mảng, vì vậy chúng ta sẽ chỉ mục vào mảng để lấy giá trị thực tế.
Trích xuất Nội dung Thân Phản hồi
Ngoài các tiêu đề, thân phản hồi chứa tải trọng được trả về bởi API. Để phân tích nội dung phản hồi, trước tiên bạn cần trích xuất hoặc phân tích nó.
Nếu phản hồi là dữ liệu JSON, Apidog có thể tự động chuyển đổi nó thành các biến JSON có cấu trúc. Để kích hoạt điều này:
- Trong phần "Bộ xử lý Sau" cho API, chọn "Trích xuất Biến".
2. Điền biểu thức JSONPath và các tùy chọn khác.
3. Sau khi thiết lập, gửi yêu cầu. Apidog sẽ trích xuất các giá trị trường tương ứng từ dữ liệu phản hồi dựa trên biểu thức JSONPath mà bạn cung cấp. Các giá trị được trích xuất sẽ được tự động lưu trữ trong các biến "Môi trường/Toàn cầu/Tạm thời".
Apidog sẽ phân tích JSON và tạo các biến cho dữ liệu mà bạn có thể tham chiếu trong các bước kiểm tra sau.
Đối với nội dung không phải JSON như XML hoặc văn bản thuần túy, bạn có thể cần trích xuất các phần cụ thể bằng cách sử dụng các biểu thức chính quy. Apidog hỗ trợ xây dựng trực quan các mẫu regex để tìm và trích xuất các chuỗi con hoặc giá trị trong phản hồi.
Tóm tắt
Có khả năng trích xuất dữ liệu phản hồi là rất quan trọng đối với việc kiểm tra API hiệu quả. Apidog cung cấp các công cụ tích hợp linh hoạt để trích xuất cả tiêu đề và nội dung thân phản hồi. Việc tự động trích xuất JSON xử lý các trường hợp sử dụng phổ biến trong khi regex cho bạn toàn quyền kiểm soát cho các phản hồi phức tạp.
Hãy đưa các kỹ thuật trích xuất dữ liệu này vào thực tế trong các bài kiểm tra API của bạn để đơn giản hóa việc xác thực và cải thiện vùng phủ sóng. Apidog cho phép bạn biến dữ liệu phản hồi thành các biến có thể hành động để khẳng định các chi tiết quan trọng và thúc đẩy các bước kiểm tra tiếp theo. Các bài kiểm tra mạnh mẽ hơn dẫn đến các API chất lượng cao hơn và trải nghiệm người dùng tốt hơn.