vodQA-Chennai-20Jul2013: Mobile App Performance testing using JMeter
Performance Testing With
PERFORMANCE TEST CONSULTANT
SYNECHRON TECHNOLOGIES PRIVATE LTD
What we want to achieve …..
To capture the traffic of the mobile application (hybrid/web)
and create the scripts in JMeter for further
And what are our problems ….
• No availability of recording tools for native/hybrid mobile application
• Some tools might require to root the device e.g. wireshark, tcpdump
• For applications with SSL, there are issues with SSL certificate
handshake for proxy recording
• JMeter has recording capability only from desktop and proxy recorder
can’t be extended as default for mobile platform
• JMeter doesn’t have any option to execute the tests with different
network bandwidths which may be important factor for mobile testing
Address Recording & Scripting
• Configure the ad-hoc network on the laptop or desktop with wireless
• Install fiddler on the machine where ad-hoc network is configured.
• Configure fiddler as proxy i.e. to allow remote computers/devices to
connect to it.
• On the device search for the ad-hoc network configured and connect
• On the device, in network settings configure the proxy (i.e. proxy for
ad-hoc network) i.e. IP address of the machine with ad-hoc network
and port as configured in the fiddler to accept remote connections.
• Access the application on the device, all the traffic would be recorded
in fiddler which is to be utilized to create script in JMeter.
Live demo with either Android or iPhone/ Video Capture (7-8 mins)
Bandwidth Throttling with Fiddler
• Make best use of the proxy server & proxy settings of JMeter
• Configure fiddler to accept remote connections
• Configure Fiddler as proxy to JMeter
• Implement the Bandwidth throttling with Fiddler for different network
speeds or introduce delays
Extending Recording Approach
• The traffic captured is as good as recording done in any other tool
from performance testing perspective
• The traffic captured can be extended to VSTS as web test
• Same traffic can be utilized to create scripts most of the load testing
tools provided they have basic protocol support