您的位置:首页 > 理论基础 > 计算机网络

Recording HTTP traffic on iOS devices with HP LoadRunner

2016-05-16 15:14 459 查看

Recording HTTP traffic on iOS devices with HP LoadRunner

from:http://h30499.www3.hp.com/t5/HP-LoadRunner-and-Performance/Recording-HTTP-traffic-on-iOS-devices-with-HP-LoadRunner/ba-p/6582844#.VUgq1F2Uf9z

(This post was written by Gennady Gorenshtein from the LoadRunner R&D Team)

iOS devices such as iPhones and iPads have become a valuable part of the IT infrastructure, and accordingly, there is a need to validate the performance of these devices as they run applications. LoadRunner, as the leading performance load testing tool in the market, is the perfect choice for this validation. To get started, LoadRunner needs to obtain the HTTP activity performed by the device. Because LoadRunner’s network traffic recording mechanism doesn’t run on iOS, we have a way of getting at the HTTP activity. This post describes some of the solutions that LoadRunner offers to solve this problem.

LoadRunner Proxy Recorder

Starting from version 11.52, LoadRunner includes a new component called Proxy Recorder. This component is responsible for recording the HTTP activity that takes place on the remote host. In short, the remote host simply sees LoadRunner’s Proxy Recorder as a regular HTTP proxy and routes all the HTTP network activity through it. LoadRunner then captures the remote host’s HTTP traffic and creates a script for the load testing.

Since any iOS device can be seen as remote network host, we can use LoadRunner’s Proxy Recorder to capture the device’s HTTP activity.

Configuring VuGen

First, set the recording mode to ‘Remote Application via LoadRunner Proxy’ mode in VuGen’s Start Recording dialog:



The proxy mechanism will be launched when you press the “Start Recording” button. You then need to configure the settings for the device—which may use a wireless connection or a cellular connection. The settings for each connection type are slightly different.

Configuring the device’s proxy settings for a wireless connection

Configure the proxy settings on the device by going into the device’s Wi-Fi settings and configuring the network to use a manual HTTP proxy. Set the IP and port to the values in the dialog above (10.0.0.11 and 8888 in the example here):



From now on, LoadRunner will record any HTTP network activity on the device.

As an alternative to using an actual iOS device, LoadRunner can record from the iOS emulator on OS X, using the same settings: LoadRunner Proxy Recording should be started on the Vugen machine, and the emulator’s proxy should be configured to point to Vugen’s IP and proxy port. You can check out this post for more information about proxy recording in LoadRunner for mobile applications.

Configuring the device’s proxy settings for a cellular connection

To record a cellular network connection, create a special APN (Access Point Name) profile and load it onto the device. You can use the iPhone Configuration Utility, available for Windows and OS X, to create the APN. This screenshot shows how to create a profile on OS X:



Proxy server and Port settings should point to the LoadRunner Proxy IP and port.

To load the profile onto the device, it can be loaded through the iPhone Configuration utility, downloaded as a file, or emailed as an attachment.

If you need to record SSL traffic, you need to obtain and install the LoadRunner Proxy SSL CA certificate on the device. To obtain the certificate, point your device’s browser to http://lr_proxy_ip:80/proxyroot.cer (note that it is usually a good idea to install the certificate before recording in any case, even if you don’t know for sure that you’re going to use SSL communication, as SSL sessions often start implicitly). After that, save the downloaded certificate and install it on the device:



Wireshark recording

Wireshark is a free and open-source packet analyzer. It is used for network troubleshooting, analysis, software and communications protocol development, and education. In promiscuous mode, Wireshark is capable of capturing all traffic that passes through the network interface, regardless whether the traffic is intended for this interface or not. Wi-Fi network activity (called also WLAN) passes through all participating network adapters. In other words, promiscuous mode captures network traffic between all devices connected to the same WLAN.

LoadRunner is capable of analyzing of Wireshark capture files and creating LoadRunner scripts from the capture files. You can configure it as follows:

Configure your device to run in a wireless network with Wireshark installed on some of the computers on the network.

Start Wireshark, choose the wireless interface, and check the ‘Capture packets in promiscuous mode’ checkbox:



Start the Wireshark capture process, generate some HTTP activity on your device, and save the captured activity to a file.

You then import the file into LoadRunner and create the script by running VuGen’s Recording Wizard, and selecting ‘Analyze Traffic’:



Filter the traffic based on the device’s IP and create the script:



Server side recording

If the HTTP traffic from the iOS device is directed to a single server, and the user has the sufficient permissions on the server, you can record that traffic on the server itself.

To record traffic on a remote server, you need to manually install the mobile sniffer agent onto your server by copying the relevant folder from \mobileRemoteAgent\ to a location of your choice on your server. The following table lists the supported operating systems and their corresponding file directories:



Once you have copied the folder, you initiate the sniffer from the command line. For example, if you are recording in a Windows environment, the command line string might look something like this:

mongoose-2.11.exe -e errorLog.txt -r "C:\Program Files\HP\LoadRunner\mobileRemoteAgent\win32" -c ".cgi" -p 80


Common command arguments and their descriptions:



Once the sniffer agent is installed, you manually start the agent, then select ‘Record and Analyze Traffic’ from the Recording Wizard.



Configure the sniffer agent’s location:



Generate some HTTP activity on your device, and LoadRunner will generate a script from the activity recorded using the sniffer.

Feel free to leave a comment in the box below.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios loadrunner 惠普