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.
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!!!
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!!!