Understand the context

A native application is software written for mobile devices. It is specifically designed to run on a device operating system and machine firmware, and typically needs to be adapted for different devices.

Organizations develop native applications to best match the mobile limitations. Native applications offer better design, and free themselves from the constraints of mobile browsers. Native applications are dedicated client programs which must be downloaded, typically from a store. They are developed to run specifically on one of more mobile operating systems: iOS, Android, Blackberry OS, or Windows Phone. Although operating systems have few consequences on the performance of native applications, they may prove an issue when recording scenarios and replaying tests.

In order to catch the transactions between the mobile device and the Dropbox servers, NeoLoad fakes the real servers from the mobile device. When recording in tunnel mode, the device interacts with the NeoLoad recorder, while NeoLoad replays directly the device requests to the Dropbox servers and forward the queries to the device. The communication between the mobile device and the server is recorded through the NeoLoad Tunnel function which makes it possible to launch the NeoLoad Recorder without using the NeoLoad proxy. On one side, the Tunnel simulates the web server for the mobile device, and on the other side, it processes the requests and responses with the web server. The Recorder catches the transactions to build the scenario. NeoLoad allows the filtering of the recording to skip or include some requests in order to get an accurate scenario.

Dropbox is a secured application where you have to log in to transfer, store and retrieve your data. With a secure connection, NeoLoad has to decipher the traffic flowing between the two entities in order to analyze its content. Each time a communication is sent, NeoLoad decodes the incoming data, analyzes it, and re-ciphers it before sending it out again. This process requires the use of certificates.