Cú pháp JSON.stringify(), .parse(): Chuyển Đổi Dữ Liệu
Trong hành trình khám phá các tính năng hay của POSTMAN, chúng ta đã có cơ hội tìm hiểu và áp dụng thành công những kiến thức quan trọng từ bài viết “Cú Pháp pm.environment.set(), get(): Trao Đổi Dữ Liệu Giữa Các API”, để tích hợp dữ liệu nguyên thủy, như chuỗi (String), số nguyên (Integer), và giá trị logic (Boolean) vào môi trường (Environment), đồng thời trích xuất chúng từ Environment để sử dụng linh hoạt ở các Tabs Pre-request Script và Tests trong POSTMAN. Để bổ sung kiến thức, trong bài viết lần này, Test Mentor sẽ tiếp tục giới thiệu 2 cú pháp quan trọng khác, đó là JSON.stringify() và JSON.parse(). Hai cú pháp này sẽ hỗ trợ chuyển đổi một đối tượng JavaScript sang chuỗi JSON và ngược lại, để có thể hiển thị đầy đủ các thuộc tính của đối tượng trên cửa sổ Environment của POSTMAN. Cùng Test Mentor tìm hiểu 2 cú pháp này nhé!
Xem bài trước: Cú pháp pm.environment.unset(), .clear(): Dọn Dẹp Biến Sau Kiểm Thử
Nội Dung Bài Viết
Vấn đề về hiển thị dữ liệu kiểu Object trong Environment
Vấn đề 1: Hiển thị text [object Object] khi lưu trữ dữ liệu kiểu Object vào Environment
Khi đưa dữ liệu kiểu Object vào Environment, Collections, hoặc Global trong POSTMAN, chúng ta mong đợi giá trị lưu ở Tab Current Value sẽ hiển thị giống những gì được định nghĩa. Nhưng, thay vào đó, chúng lại hiển thị thành text [object Object].
→ Tại sao Environment lại hiển thị text [object Object] và làm thế nào để chúng có thể hiển thị đúng như giá trị được định nghĩa?
Vấn đề 2: Truy xuất dữ liệu dạng chuỗi JSON từ Environment
Sau khi chuyển đổi dữ liệu từ kiểu Object sang chuỗi JSON rồi lưu vào Environment, trường hợp truy xuất dữ liệu đó từ Environment bằng cú pháp pm.environment.get(), chúng ta sẽ nhận được một chuỗi JSON.
→ Vậy, làm thế nào để có thể chuyển đổi dữ liệu lưu trong Environment từ chuỗi JSON sang một đối tượng JavaScript?
Tham khảo thêm khóa học API Testing từ cơ bản đến nâng cao của Test Mentor:
JSON là gì?
Định nghĩa
JSON (viết tắt của JavaScript Object Notation) là một định dạng dữ liệu được thiết kế dựa trên văn bản, với dung lượng lưu trữ nhẹ và cấu trúc đơn giản, giúp cả con người và máy tính đều có thể đọc và ghi dữ liệu một cách dễ dàng. Nhờ vào những đặc tính này, JSON đã trở thành một định dạng được sử dụng phổ biến trong việc trao đổi dữ liệu hiện nay.
Để dễ hiểu hơn, hãy tưởng tượng bạn và đồng nghiệp làm việc chung, nhưng bạn không biết tiếng Ấn và đồng nghiệp không hiểu tiếng Việt. Để có thể hợp tác, bạn cần sử dụng ngôn ngữ chung mà cả hai đều biết, và đó chính là tiếng Anh. Tương tự, khi hai hệ thống muốn trao đổi dữ liệu, một hệ thống sử dụng ngôn ngữ lập trình Javascript, trong khi hệ thống kia sử dụng ngôn ngữ lập trình Java; dữ liệu ở hai hệ thống được định nghĩa theo các cách khác nhau. Để hai hệ thống có thể đọc dữ liệu của nhau, chúng cần tuân thủ cùng một bộ quy tắc chung khi truyền tải dữ liệu. Đây là vai trò quan trọng của JSON trong việc giúp chuyển đổi dữ liệu về cùng một định dạng để thuận lợi trong quá trình trao đổi thông tin.
Sự khác nhau giữa chuỗi JSON và đối tượng JavaScript
1. Chuỗi JSON
- Dữ liệu được bao bọc bởi cặp dấu nháy kép.
- Giá trị của mỗi khóa (key) phải được đặt trong cặp dấu nháy kép.
- Ví dụ:
“{“Email”:”apitesting@testmentor.com”,”Password”:”123456″}“ |
2. Đối tượng JavaScript
- Dữ liệu được bao bọc bởi cặp dấu ngoặc nhọn.
- Giá trị của mỗi khóa (key) có thể được đặt trong cặp dấu nháy kép hoặc không.
- Ví dụ:
{
Email : "apitesting@testmentor.com",
Password : "123456"
}
Hoặc
{
"Email" : "apitesting@testmentor.com",
"Password" : "123456"
}
Giới thiệu về hai cú pháp JSON.stringify() và JSON.parse()
Trong POSTMAN, các cửa sổ chứa danh sách Biến chỉ hỗ trợ hiển thị các dữ liệu nguyên thủy như String, Integer, Boolean hoặc dữ liệu có định dạng là chuỗi JSON. Vì vậy, nếu muốn dữ liệu kiểu Object có thể hiển thị đầy đủ các thuộc tính như đã định nghĩa, chúng ta cần chuyển đổi chúng thành chuỗi JSON trước khi thêm vào Environment.
Cú pháp JSON.stringify()
JSON.stringify() là một hàm trong JavaScript được sử dụng để chuyển một đối tượng JavaScript thành một chuỗi JSON. Chúng ta sẽ sử dụng cú pháp này để chuyển đổi dữ liệu được định nghĩa ở các Tabs Pre-request Script và Tests từ một đối tượng JavaScript sang chuỗi JSON trước khi lưu chúng vào Environment.
Cú pháp JSON.parse()
JSON.parse() là một hàm trong JavaScript được sử dụng để chuyển đổi một chuỗi JSON thành một đối tượng JavaScript. Khi viết test script với POSTMAN, JSON.parse() thường được sử dụng để chuyển đổi dữ liệu lưu trữ trong Environment từ định dạng chuỗi JSON sang đối tượng JavaScript trước khi sử dụng chúng ở các Tabs Pre-request Script và Tests.
Thực hành với Sample Script!!!
Cài đặt môi trường kiểm thử local
Trước khi thực hành, hãy đảm bảo bạn đã cài đặt thành công môi trường kiểm thử local với ứng dụng Juice Shop. Tham khảo hướng dẫn cài đặt tại bài Blog “Hướng dẫn cài đặt môi trường kiểm thử local“.
Sample Script & Video
Đầu tiên, hãy tải Sample Script được đính kèm phía dưới. Sau đó, truy cập video “Cú pháp JSON.stringify(), .parse(): Chuyển Đổi Dữ Liệu” được đăng tải trên kênh YouTube chính thức của Test Mentor để xem hướng dẫn chi tiết nhé!
Các cú pháp sử dụng trong test script
- Cú pháp gọi Biến: {{variable name}}
- In thông tin ở cửa sổ Console: console.log()
- Đưa Biến vào Environment: pm.environment.set()
- Truy xuất Biến từ Environment: pm.environment.get()
Kết luận
Vậy là chúng ta đã bổ sung thêm 2 công cụ quan trọng là JSON.stringify() và JSON.parse() vào bộ sưu tập các công cụ hữu ích của POSTMAN. Từ việc tìm hiểu các cú pháp cơ bản như pm.environment.set(), get() đến việc khám phá các công cụ nâng cao như JSON.stringify(), .parse(), chúng ta đã bước chân vào một thế giới đa dạng của Kiểm thử tự động API bằng POSTMAN. Mỗi thách thức chính là một cơ hội mới để làm giàu kiến thức và kỹ năng của chúng ta trong lĩnh vực này.
Hãy tiếp tục khám phá hành trình này với Test Mentor thông qua các bài viết hữu ích trong danh mục API Testing nhé!
Đặc biệt, nếu bạn nâng cao kiến thức về Kiểm thử API và mong muốn nhận được hướng dẫn trực tiếp, bạn có thể tham khảo Khóa học kiểm thử API tại Test Mentor.
Xem bài tiếp theo: Kiểm Thử JSON Schema
Hoàng Hà
Leave a Comment