API và test api bằng Postman

  1. TÌM HIỂU VỀ API. 
  2.  API là gì, Vì sao phải test API? 
  •  Nói đơn giản, API là cái cầu nối giữa client và server, Client ở đây có thể là điện thoại, máy tính truy cập trình duyệt vào website.  Tương tự server back-end là một thứ chúng ta không thể nhìn thấy mà chúng ta hiểu nó là một nơi lưu trữ, tính toán xử lý các vấn đề của hệ thống. Để 2 thằng này có thể nói chuyện được với nhau chúng phải nói cùng 1 ngôn ngữ. Ngôn ngữ ấy chính là API.
  • Trong quá trình triển khai dự án, phần server và client làm độc lập với nhau nên có nhiều chỗ client chưa làm xong, mình không thể chờ client làm xong để test được dữ liệu mà test API bằng công cụ khác luôn –> Lúc này việc test hoàn toàn không phụ thuộc gì vào client. Kể cả khi client làm xong rồi, nếu mình test trên client mà thấy lỗi liên quan đến logic và dữ liệu thì cũng cần test thêm cả API để biết chính xác là server sai hay client sai –> fix lỗi sẽ nhanh hơn. Khi làm hệ thống web services, dự án của mình chỉ viết API cho bên khác dùng, mình sẽ không có client để test giống như các dự án khác –> phải test API hoàn toàn.
  1. Cấu trúc của 1 API

Nói đơn giản ở đây thì 1 api sẽ có 2 phần chính là request và response:

  • 1 request sẽ có  4 phần:

● URL là 1 cái địa chỉ duy nhất cho 1 thứ (dùng danh từ), có thể là web page, image, hoặc video. API mở rộng cái ý tưởng gốc của URL cho những thứ khác.

 ● Method: là cái hành động client muốn tác động lên “resources”, và nó thường là động từ. Có 4 loại Method hay được dùng: GET, POST, PUT, DELETE

● Header: nơi chứa các thông tin cần thiết của 1 request nhưng end-users không biết có sự tồn tại của nó

● Body: nơi chứa thông tin mà client sẽ điền.

  • Response sẽ có 3 phần: 

●Status code là những con số có 3 chữ số và có duy nhất 1 ý nghĩa. Chắc các bạn cũng không còn lạ lẫm với những Error “404 Not Found” hoặc “503 Service Unavailable”. Full list có ở đây. 

● Header và Body tương đối giống với request.

 II. Giới thiệu chung về Postman

1. Ưu, nhược điểm của Postman

Postman là 1 công cụ để test API của cty Postdot Technologies được bắt đầu phát triển từ năm 2012.

Ưu điểm: – Dễ sử dụng, hỗ trợ cả chạy bằng UI và non-UI. – Hỗ trợ viết code cho assert tự động bằng Javascript. – Hỗ trợ cả RESTful services và SOAP services. – Có chức năng tạo API document. 

Nhược điểm: – Những bản tính phí mới hỗ trợ những tính năng advance: Làm việc theo team, support trực tiếp…

2. Cách tạo Request

Khi làm việc với API, chúng ta chỉ làm việc với 2 dạng API chính là GET và POST. 

 GET: Yêu cầu server đưa lại resource: Hãy tưởng tượng ra cái cảnh vào fb, tay vuốt new feeds. 

 POST: Yêu cầu server cho tạo ra 1 resource mới. Ví dụ: đăng ký 1 chuyến đi ở GrabBike. 

Và một request gồm có 4 thành phần: 

1. URL 

2. Method 

3. Headers 

4. Body

Khi vào dự án thật, những thông tin trên thì bạn lấy ở đâu, ở ông developer nhé. Muốn test được API thì phải có API documents. Cái này tùy công ty sẽ có chuẩn và mẫu riêng, nhưng mà nhìn chung thì phải cung cấp đủ các thông tin sau: Tên API, mục đích sử dụng, Method, URL, Params, Sample Request, Sample Response.

  •  Tạo request GET

1. URL: https://postman-echo.com/get

2. Method: GET 

3. Headers: Không cần điền gì cả 

4. Body: Phương thức GET không có body, các bạn phải điền tham số vào Params:

foo1=bar1

foo2=bar2

Sau khi điền đầy đủ thông tin thì ấn SEND để gửi request và chờ response trả về.

Thông tin trả về sẽ có mấy điểm cần quan tâm: 

1. Định dạng dữ liệu trả về: thông thường là json và nên để chế độ Pretty để cho dễ nhìn.

 2. Nội dung dữ liệu: Đây là phần bạn phải kiểm tra. – Bạn so sánh với cái Sample Response ở API docs để xem cấu trúc trả về đã đúng hay chưa. – Value của từng key đã đúng chưa, so sánh với nội dung trong DB. (không có DB là không làm được API testing đâu). 

3. Trạng thái của API (status) và thời gian trả về. Xin được lưu ý, thời gian chạy API bằng Postman luôn ngắn hơn thời gian test trên giao diện Mobile vì nhiều lý do: đường truyền internet ở máy tính ổn định hơn wifi, và sau khi nhận response thì Mobile phải chạy code khởi tạo giao diện để hiển thị.

  •  Tạo request POST.

Tương tự như phần trên, chỉ khác là điền tham số vào trong body.

Và phần response cũng như vậy

Nếu các bạn chưa được tham gia dự án để có docs API và muốn thử nghiệm test các API thật.

https://www.postman.com/postman/workspace/published-postman-templates/request/631643-083e46e7-53ea-87b1-8104-f8917ce58a17

3 Test Response

Test response là tính năng đặc biệt quan trọng với những người test API. Làm sao có thể suốt ngày run từng cái request rồi check từng kết quả trả về một cách thủ công được, phải có cách gì nhanh hơn chứ. Phần này cung cấp 2 tính năng cực hay giúp người test đẩy nhanh được tốc độ test API. 

1. Check tự động kết quả trả về của từng field với 1, 2 dòng code, rất dễ, không cần biết code cũng làm được. 

2. Lưu giá trị của Response thành biến trong Environment để tiếp tục truyền vào param của API tiếp theo.

Postman cung cấp một khung làm việc để ta có thể làm việc, chỉ hỗ trợ ngôn ngữ Javascript thuần, không hỗ trợ jquery hay các thứ khác nhé. 

→ Nếu muốn biết chắc code mình chạy đúng, hãy viết trước ở ngoài nhé. Phần ở bên phải là tập hợp những cú pháp Postman cung cấp sẵn cho người dùng, khỏi cần phải nghĩ. Ok vào bài toán cụ thể nhé.

Bài toán 1: kiểm biến foo1 và foo2 có được trả về?

Bước 1 : Chạy thử API 1 lần để lấy được cấu trúc Response của API.

Bước 2 : Viết Test

Bước 3: Sau khi viết xong Test thì các bạn run Request lại rồi ngó xem phần Test của mình có đúng không.

Trên đây là 1 bài toán rất đơn giản để kiểm tra dữ liệu có chứa trong response.  

Vì lý do đêm đã về khuya nên bài của mình xin tạm dừng tại đây, hẹn mọi người ở số sau. Ở bài sau chúng ta sẽ nói về Enviroment, Collection và cách sử dụng response của request 1 để test request 2, request 3 …. Trong postman

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *