Chỉnh sửa request/response bằng Fiddler qua ví dụ cụ thể

Wednesday, October 04, 2017
Edit this post


Fiddler là một công cụ miễn phí và mạnh mẽ cho phép người dùng có thể xem, chỉnh sửa và thao tác với hầu như mọi HTTP requests/reponses trên máy tính. Sử dụng thành thạnh Fiddler cũng là một kỹ năng giúp tiết kiệm thời gian kiểm thử/phát triển phần mềm.

1. REQUEST

Scenario:
- Tester ở Việt Nam cần test một ứng dụng play video, tuy nhiên ứng dụng này chỉ cho phép play nếu user đang ở Mỹ tính theo tọa độ chứ không tính theo IP.
- Ứng dụng ghi lại tọa độ địa lý của user và gửi lên server, từ đó mới xác định có cho phép user play video hay không.

Requirement:
- Bắt request do ứng dụng tạo ra, sửa tọa độ từ Việt Nam sang Mỹ trước khi gửi lên server.
- Request URL (GET) có dạng như sau: /right/authorization/content/v1?contentid=B002622486U3&latlong=xxx%2C-xxx&proximity=O&network=Wired&reserveCTicket=False HTTP/1.1 trong đó latlong là giá trị cần sửa đổi.

Solution:
- Sử dụng chức năng Customize Rules của Fiddler, viết thêm script để tự động modify request trước khi gửi đi như hình bên dưới. Thêm đoạn script được khoanh đỏ vào method OnBeforeRequest(). Ý nghĩa của đoạn code mời các bạn tự đoc hiểu nhé. Chỉ đơn giản là xác định các mẫu URL cần sửa đổi bằng method uriContains(), split thành nhiều section dựa vào ký tự '&', sau đó thay section có chứa "latlong" bằng tọa độ mong muốn.


Sau đó khi các bạn chạy lại ứng dụng sẽ thấy các request có dạng mong muốn sẽ được sửa thành tọa độ đã hard code ở bên trên.


2. RESPONSE

Scenario:
- Tester cần test một màn hình của ứng dụng. Data của màn hình này được lấy từ API service (một team/công ty khác làm) trả về dưới dạng JSON. Tuy vậy, do sự chập chờn của API service nên data trả về lúc có lúc không hoặc thậm chí không có.

Requirement:
- Luôn có data trả về cho màn hình này để test các chức năng như lọc/sắp xếp dữ liệu...

Solution:
- Sử dụng chức năng AutoResponder của Fiddler.
- Nhìn hình bên dưới hẳn các bạn đã có thể hình dung được cách sử dụng: vào tab AutoResponder, chọn "Add Rule" để thêm vào quy tắc mới. Trong hình tôi quy định các request có URL chứa "/dvr/cloud/playlist/" sẽ luôn trả về JSON data từ một tập tin local trên ổ cứng. Nhờ đó sẽ đảm bảo luôn có dữ liệu cho request dạng này.


Chúc các bạn thành công!!!

.
Xin vui lòng chờ đợi
Dữ liệu bài viết đang được tải về

BÌNH LUẬN

Cảm ơn bạn đã đọc bài viết của Cuộc Sống Tối Giản. Đây là một blog cá nhân, được lập ra nhằm mục đích lưu trữ và chia sẻ mọi thứ hay ho theo chủ quan của chủ sở hữu. Có lẽ vì vậy mà bạn sẽ thấy blog này hơi (rất) tạp nham. Mọi chủ đề đều có thể được tìm thấy ở đây, từ tâm sự cá nhân, kinh nghiệm sống, phim ảnh, âm nhạc, lập trình... Phần lớn các bài đăng trong blog này đều được tự viết, trừ các bài có tag "Sponsored" là được tài trợ, quảng cáo, hoặc sưu tầm. Để ủng hộ blog, bạn có thể share những bài viết hay tới bạn bè, người thân, hoặc có thể follow Kênh YouTube của chúng tôi. Nếu cần liên hệ giải đáp thắc mắc hoặc đặt quảng cáo, vui lòng gửi mail theo địa chỉ songtoigianvn@gmail.com. Một lần nữa xin được cảm ơn rất nhiều!!!
© Copyright by CUỘC SỐNG TỐI GIẢN
Loading...