Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

So my question is somewhat simple. I want to test 2 things

  • Error logging
  • Server error page

For the web platform it's somewhat easy to do using fiddler or Charles (I'm sure there are plenty other tools for that).

My question is if there is an easy way for me to do the same for mobile platforms. Is there something special I can do on emulators? If so which?

Thank you for the replies


Edit:

Lyndon pointed me to a blog . To summarize the post it is this:

1.You will need Charles or Fiddler. Charles works pretty nicely on a mac (but costs money), Fiddler is free.
2. Devices under test have to be on same WiFi
3. On the mobile device specify the proxy server to be the machine with Charles or Fiddler

and voila you now have the same functionality.

share|improve this question
up vote 4 down vote accepted

I would recommend staying with your web solution, and modifying for mobile. There are plenty of tutorials on how to capture mobile traffic through fiddler on the net.

Eric Lawrence wrote a blog post about how to do this last december.

Depending on your company, this may require additional effort dealing with infrastructure departments to ensure that you have a wifi network that you can connect to that will give access to any non-production servers that you may be trying to test.

share|improve this answer
    
Awesome that would work. I will be trying it with Charles (which is same as Fiddler pretty much but works on Apple for those that want to do this on a mac – StanM Aug 14 '13 at 15:46

Here's a video some co-workers did on charles. They go over using breakpoints to simulate network issues among a few other features.

EDIT OK, here it is laid out.

Step-by-step guide

  1. Download and Install Charles
  2. Make sure device and computer are on same wifi
  3. Open Charles
  4. Go to Settings - Recording Settings - Include tab to filter irrevant data
  5. Enter Host for your project

    For example, metrics.myapp.com could record only analytics (omniture) calls for an app api.myapp.com could record api calls for an app *.myapp.com could record both plus some additional transactions

Configure Proxy settings on your device For iOS:

  1. Go to the Settings app, tap Wi-Fi, find the network you are connected to and then tap the blue disclosure arrow to configure the network. Scroll down to the HTTP Proxy setting, tap Manual.

  2. Enter the IP address of your computer running Charles in the Server field, and the port Charles is running on in the Port field (default: 8888).

  3. Leave Authentication set to Off.

Note: You can use Charles with iOS simulator by going to to Help > SSL Proxying > Install Charles Root Certificate in iOS Simulators

For Android: [Note: Each Android phone is slightly different. These steps should work for most Android devices]

  1. Go to Settings.
  2. Select “Wireless & Networks”.
  3. Make sure WiFi is turned on and you are connected to your network.
  4. Select WiFi settings using a long press (touch and hold).
  5. Select “Modify network”.
  6. Select “Show Advanced Options”.
  7. Under Proxy Settings, select “Manual”.
  8. For the Proxy Hostname (Server) field, enter your network IP address.
  9. For the Proxy Port field, enter the port number listed in Charles.
  10. Tap Save Note: You can use Charles with an Android emulator by adding an additional emulator command line option: "-http-proxy http://[Your computers IP address]:8888"
    For example, "emulator -avd [name of android virtual device] -http-proxy http://10.0.0.46:8888"

With Charles open and record button pressed, launch app. You should see data recorded on Charles.

SSL Setup

  1. Go to http://charlesproxy.com/getssl and install certificate on device.
  2. After certificate is installation is successful, On host(running Charles) go to Charles --> Proxy --> SSL Proxy Settings
  3. Make sure 'Enable SSL Proxying' is checked
  4. Add host names for SSL proxy.
  5. With Charles open and record button pressed, launch app. You should see required data recorded on Charles.

Breakpoint (Edit api request or response This is where you could make a false server response):

  1. To modify API Request or Response, click on the 'Enable Breakpoints' button.
  2. Find the api Path you want to modify. (The api call in Charles)
  3. Right click and select 'Breakpoints'.
  4. Refresh the page or Kill and relaunch the app on your device. When the app makes a request or receives a response at breakpoint, you will be presented with option to modify.
  5. Edit your request / response.

*) You can enable or disable individual breakpoints and corresponding request/response by going to Proxy - Breakpoints Settings. *) Double click on the location to enable / disable particular request or response.

Click Execute. Note the changes taking effect on the app. Don't forget to turn breakpoints off after finishing tests.

share|improve this answer
1  
Could you add a short description of what the video shows - enough to give the OP an answer if the video is ever taken down. – Kate Paulk Feb 23 at 12:53

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.