I’ve been using Charles Debugging Proxy for almost 8 years to help with debugging server side issues. It is a great tool that makes testing easier in many ways:

  • Seeing server requests & responses
  • Mapping a local file to replace the response from the server for testing purposes
  • Testing file sizes of web or app assets
  • Checking server response durations
  • Simulate slower connection speeds

Lately I’ve been using Charles during iPhone and Android app testing. It makes it so much easier for me to determine if a bug is app related or server related. The benefit of this is that I can reduce the turnaround time for a fix since I can provide a better description of the issue and assign it to the correct team member.

A friend, John Blanco, turned me onto Genymotion recently. It is by far my favorite Android emulator. When combining Charles and Genymotion together it has greatly simplified my testing efforts for an Android app that I’ve been testing. I can drag a .apk file onto Genymotion and run it quickly with ease. There are a few tricks to get Charles to play nice with Genymotion:
In your Genymotion Android emulator…

  1. Settings -> Wifi -> Press and hold your active network
  2. Select “Modify Network”
  3. Select “Show Advanced Options”
  4. Select “Proxy Settings -> Manual”
  5. Set your Proxy to: (Genymotion’s special code for the local workstation)
  6. Set your Port to: 8888
  7. Press Save