Để có thể test được các service này thông thường bạn sẽ phải tạo ra các ứng dụng client như console app, desktop app hay mobile app và viết code để kết nối và sử dụng trực tiếp các service này. Điều này dẫn đến việc không test được trước các service nếu nó được viết bởi các lập trình viên khác vì vậy trong bài viết này tôi sẽ hướng dẫn các bạn cách thức test service sử dụng Fiddler. Đây là một tool của Telerik dùng để ghi lại các dữ liệu vào ra giữa máy tính của bạn và internet. Bên cạnh việc xem được các dữ liệu này, bạn còn có thể thay đổi các thông tin vào ra ra giữa máy tính một cách rất dễ dàng. Fiddler hỗ trợ rất nhiều loại browser khác nhau từ Internet Explorer, Google Chrome cho đến Safari, Firefox, Opera…
Để sử dụng Fiddler đầu tiên bạn cần download tại đường dẫn sau: http://www.telerik.com/fiddler
Sau khi cài đặt bạn có thể chạy và bắt các request/response vào ra giữa máy tính ngay.
Trong bài này chúng ta sẽ dùng Fiddler để test các Web API Service đã được tạo ở trong bài trước.
Hãy bắt đầu với loại service đơn giản nhất là GET dữ liệu.
GET dữ liệu bằng Fiddler
Với các GET service thì ngoài cách test sử dụng browser như bài trước thì chúng ta cũng có thể sử dụng Fiddler. VD nếu muốn test api trả về danh sách khách hàng chúng ta chỉ cần mở solution, chạy ứng dụng lên rồi từ browser navigate đến đường dẫnhttp://localhost:33753/api/Customers.
Sau đó ta quay lại Fiddler sẽ thấy 1 request đã được capture. Doucle-click request này chúng ta sẽ xem được chi tiết thông tin Request cũng như Response dạng JSON như hình dưới:

Chúng ta vừa test api trả về danh sách khách hàng, tiếp theo ta sẽ test api trả về một Customer từ Fiddler qua hai bước dưới đây:
- Bước 1: Click vào tab Composer sau đó nhập vào URIhttp://localhost:33753/api/Customers/ALFKI
- Bước 2: Click Execute như hình dưới:
Chúng ta sẽ thu được kết quả như sau:

POST dữ liệu bằng Fiddler
Đến đây chúng ta đã biết cách test GET service sử dụng browser hoặc Fiddler, tiếp theo chúng ta sẽ test các POST service. Để test các service này thì browser không thực hiện được nếu chúng ta không sử dụng Add-on nhưng với Fiddler thì cách thực hiện tương đối đơn giản qua các bước như dưới đây:
- Bước 1: Mở tab Composer, mặc định Fiddler chọn HTTP verb là GET ta cần đổi nó sang POST.
- Bước 2: Nhập URI vào thanh address địa chỉ của api service POST
- Bước 3: Chỉ ra content-type cho request là JSON: Content-type: application/json
- Bước 4: Nhập object json PUT lên vào Request Body như sau: {“CustomerID”:”TTung”, “CompanyName”:”Tung Nguyen”,”City”:”Ha Noi”}
- Bước 5: Click Execute để thực hiện thêm Customer này. Muốn test xem dữ liệu đã được POST lên server chưa, ta đổi verb về GET và URI thànhhttp://localhost:33753/api/Customers/TTung để lấy về Customer vừa mới thêm ta sẽ thấy kết quả trả về như hình dưới chứng tỏ là Customer đã được POST lên service thành công.
PUT dữ liệu bằng Fiddler
Chúng ta đã thêm xong dữ liệu bằng POST lên Fiddler các bước để cập nhật dữ liệu bằng PUT service cũng được thực hiện tương tự như sau:
- Bước 1: Đổi verb từ POST sang PUT
- Bước 2: Nhập URI của api service PUT là: http://localhost:33753/api/Customers/TTung
- Bước 3: Nhập object json PUT lên vào Request Body như sau:{“CustomerID”:”TTung”, “CompanyName”:”Tung Nguyen New”,”City”:”Bac Giang”}
- Bước 4: Click Execute để thực hiện sửa Customer và test dữ liệu xem đã cập nhật trên server hay chưa:
Delete dữ liệu bằng Fiddler
Để test các delete service đơn giản chúng ta chỉ cần thực hiện các bước sau:
- Bước 1: Nhập URI Delete service
- Bước 2: Đổi verb sang DELETE
- Bước 3: Nhập content-type: application/json
- Bước 4: Execute request
Đến đây nếu ta GET lại Customer vừa xóa chúng ta sẽ nhận được response 404 NotFound như hình dưới chứng tỏ là Customer đã bị xóa khỏi database.

Kết luận
Trong bài viết này tôi đã hướng dẫn các bạn cách test các web service bằng tool Fiddler. Đây là một tool rất mạnh của Telerik giúp cho chúng ta có thể test nhanh được các web service, cụ thể trong bài này là ASP.NET Web API service có hoạt động chính xác như ta mong muốn hay không. Bằng cách sử dụng Fiddler chúng ta không còn cần thiết phải xây dựng các app để test các REST service nữa mà chúng ta hoàn toàn có thể test các service này ngay trước khi xây dựng client app như desktop hoặc mobile app.
Nếu bạn có bất kì câu hỏi hay kinh nghiệm nào hãy chia sẻ bằng comment bên dưới bài viết và đừng quên chia sẻ cho bạn bè nếu thấy hữu ích.
Theo tungnt.net
Theo tungnt.net