Each and every mobile app development company has to often face the situation that requires dozens of tests for a freshly-installed build or involves multiple cross-checks to ensure that migration from an older version to a newer one has not resulted in possible data loss. To do this QA guys have to over and over again reinstall one and the same build after each test. Sure thing all this takes a good deal of time and invites a reasonable question: ‘Might there be any option to save all those efforts?’ There should be and I guess many. However, in this article we will share our current experience which has already helped us to manage our time in a much better way.

Actually, like many in the industry to distribute builds we use a widely-known Fabric.io. It’s a pretty convenient service that allows you to install test versions of the application onto your devices. But in order to reinstall a build, you have to download it anew. Yet again it’s time-consuming and creates some additional load on your wi-fi channel. What do we do? We store the build downloaded from Fabric locally on a laptop or a desktop computer, and install it through Terminal onto a test device connected to the computer.

Requirements

To download iOS and Android app builds from Fabric.io for subsequent installation via Terminal, we will need the following:

Charles Proxy (or similar, such as Fiddler, Burp Suite). By the way, Charles has a free 30-day trial period. Any Internet browser. ‘Beta’ app installed on a test mobile device. Internet connection. ADB tools or Android Studio to install apk builds. ideviceinstaller or Xcode to install ipa builds.

☝️ Further steps described shall be interpreted as taken under macOS. At the same time the steps to be taken under Windows would be much the same.

Configuring Charles to Intercept HTTPS Traffic From Your Devices

To start with, let’s first launch Charles on the computer. I prefer to use the ‘Sequence’ query representation.

Then we should specify the proxy on your devices.

iOS:

1. Settings >Wi-Fi >Your_Network >HTTP PROXY >Manual

2. Specify the IP address of the computer which is used to run Charles and specify port 8888.

3. Open Safari and go to https://chls.pro/ssl to confirm the installation of the proposed certificate.

4. If the iOS version on your iOS device is 10.3 or higher, open Settings and go to General > About > Certificate Trust Settings, find the Charles Proxy certificate, switch the toggle to “On” to trust the installed certificate.

Android:

1. In the Wi-Fi settings, register the proxy manually, specifying the IP of your computer and port 8888.

2. Open Chrome and go to https://chls.pro/ssl

3. Agree to install the certificate or install the downloaded certificate manually through Settings >Security >Credential Storage >Install from device storage.

Charles:

Enable SSL Proxying for the host from which the builds are downloaded:

Option 1: