Recording HTTP traffic on iOS devices with HP LoadRunner
来源:互联网 发布:聊聊语音聊天网mac 编辑:程序博客网 时间:2024/06/14 16:30
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.
- Recording HTTP traffic on iOS devices with HP LoadRunner
- Recording HTTP traffic on iOS devices with HP LoadRunner
- Recording and Performance testing Android applications with HP Loadrunner VuGen
- Record network traffic on Android or IOS with Charlies' Proxy or WireShark
- loadrunner start recording
- Serializing data on mobile devices with protobuf on C#
- [备忘]loadrunner Recording option 设置
- loadrunner Vuser发生器 recording Options
- File-Sharing Support on iOS Devices (iOS 4 only)
- DFS Search with Path Recording
- Loadrunner之VuGen录制选项Recording Options
- 关于vpn-on-demand-for-ios-devices的几篇文章
- HP-Mercury LoadRunner 介绍
- HP LoadRunner post 数据
- 测试软件HP LoadRunner
- HP LoadRunner 11.00 尝鲜
- HP LoadRunner 11安装
- HP LoadRunner 基础
- UVA 11983-Weird Advertisement-k次以上覆盖矩形面积(线段树+扫描线)
- Autolayout之 关于+requiresConstraintBasedLayout方法作用
- 【leetcode】172. Factorial Trailing Zeroes
- LeetCode 40 Combination Sum II
- Robot Framework自动化测试框架(三):Android自动化
- Recording HTTP traffic on iOS devices with HP LoadRunner
- 如何将pdf转换成word格式可编辑的格式
- android原生与js的交互。
- IOS5中的addChildViewController
- OC语言笔记(二):OC字符串操作
- EM(Expectation-Maximization)算法的浅显理解
- C++的XML编程经验――LIBXML2库使用指南
- [疯狂Java]NIO.2:WatchService、WatchKey(监控文件变化)
- Android从按下开机键到启动发生了什么