Your app uses only HTTP(s) requests? Wondering since the proxy software you mention is not suitable for other network behavior.
–
Niels van ReijmersdalMay 14 '14 at 13:30

I mean the Charles proxy is capable of simulating weak/loss network conditions for testing. But I do not know how doing it. If this tool is not suitable, please suggest the right :)
–
Cuong NguyenMay 16 '14 at 4:00

Click the little arrow beside your wireless network to see the details of the network

For the proxy settings at the bottom of the screen, select “Manual” and enter the IP Address you found on step 2 and the default port that Charles Proxy listens to is 8080.

Now your iOS device will be connecting to the internet through your laptop on the port that Charles is monitoring. All your network requests from your iOS device will be viewable in your Charles window

Now you can test your application and see what network calls your app is making, and what responses it is getting back to help you troubleshoot all of those hard-to-resolve network related bugs.

Testing Your App In Various Network Conditions

Set up your proxy as described in the section above.

In Charles, open up the menu “Proxy” -> Throttling Settings and you’ll see the menu.

On the menu, turn on throttling on a global level, for all hosts. Or you can enable it only for select hosts.

Then you can choose throttle preset through the dropdown. For example, you can throttle it to a point where it simulates bandwidth over 3G. Of course, you can also set your customized network by change parameter in the throttle configuration, like round-trip latency. (my favor is setting it to 25000000ms)

Charles proxy can do it, there are a number of other software and hardware solutions that give you control over network bandwidth and other network behavior such as packet loss, latency, etc. You can search for "WAN Simulator" to find some of them. If all you're doing is simulating a low bandwidth connection, like a 56k modem or something then Charles Proxy is probably fine for your needs. If you want to simulate traffic to your site hosted in the US from someone in China, then I would suggest going with one of the more full featured software or hardware solutions that gives you more control.

JMeter is capable of recording mobile application traffic. See Load Testing Mobile Apps. But Made Easy. guide for detailed walkthrough on how to record mobile application requests using JMeter built-in HTTP Proxy Server. Once recorded you will be able to play requests back with multiple virtual user threads.