loadIT is a free of charge load testing tool. In order to generate load on the system under test, loadIT executes scripted tests with multiple virtual users. More information can be found on the product website or in the documentation.
To ease the creation of test scripts, loadIT provides a recording feature. Recording tests scripts of web applications accessed via browser is simple. You start the loadIT proxy server on your system, configure your web browser to use this proxy and execute the steps in the web application which you want to have in your load test script.
But what happens if you decide to go mobile and use a mobile App to access your web application? How can you record the communication between an App and the web application with loadIT?
It might be easier as you think! As always, after the problem is understood.
So let’s think again why loadIT can record the communication between a browser and a web application. Right, because by configuring the proxy in the web browser, all traffic is tunneled through the loadIT proxy server which records requests and responses. If we map this to the mobile App, the only thing we have to do is finding a way to tunnel the App’s traffic through the loadIT proxy server. Surprisingly, this can be done by configuring a proxy within your mobile device. 😉
Configure proxy on wireless connection
I used an IPhone 5 in my setup which is connected to the same network than my laptop running the loadIT proxy. Personally, I can recommend using your laptop as hotspot and connect the IPhone to it. Another way is connecting both devices to the same wireless network and assure that they can communicate with each other.
Regardless of which setup you choose, you configure the proxy in Settings -> Wi-Fi -> connection -> HTTP-Proxy. Switch to the ‘manual’ tab and add the IP address of the laptop as server address and define the port which the loadIT proxy listens to. The below picture shows the setup and configuration of the hotspot scenario.
It might be possible that you also configure the proxy for your mobile data connection instead of using the wireless connection. However, you have to figure that out by yourself. 😉
If you’ve done the setup correctly, loadIT will record the HTTP requests and responses while you perform actions within mobile Apps. In order to prove it, I did a small test with the iOS weather App. I wanted to know how the weather is like in El Chaltén (btw, one of the best places to be). Therefore, I had to do the following interactions with the weather App:
Open the weather App ( -> weather for locations is loaded)
Search for El Chalten in ‘Add location’ ( -> El Chaltén is displayed as the only search result)
Select El Chaltén from the search results ( -> weather forecast for El Chaltén is loaded and displayed)
Below are some screenshots of the recorded test case.
You might notice that you cannot record the traffic of some Apps (like App Store) which are using HTTPS. Their communication is not working due to missing certificates. Theapproachonly works with HTTP. Right now, I don’t have a solution for HTTPS recording, since I do not need that. But who knows what will be in the future, you’ll might find another post about recording mobile Apps which are using HTTPS.
P.S. Not tested but the approach should work as well for Android devices.