61
Introduction About Neoload:  NeoLoad is a load and performance software solution designed for web and mobile applications to simulate user activity and monitor infrastructure behavior.  NeoLoad is designed, developed and marketed by Neotys, a company  based in Gémenos, France. It is written in java and available in English and French. The operating system used are Microsoft Windows,Linux,Solaris.  NeoLoad allows you to conduct load tests more quickly, efficiently and frequently. It can deploy any of any technologies you may use such as Flex, Silverlight, GWT, Ajax Push, Web Socket and Google SPDY. History:  Neotys was founded in 2005 by a group of  software developers and IT  project managers who recognized demand for a new  software solution to test the performance of web applications  prior to launch. Since then  Neotys has delivered software solutions to more than 800 clients in 60 countries, with exports accounting for more than 75% of the company's annual turnover. Early in 2007, Neotys received the "Young Innovating Enterprise" award, issued by the Ministry of Research and supported by OSEO Anvar, the French national organization promoting research.  Neotys supports its continued development by expanding its business around the world. In November 2009, the first prize Créa13 given by the General Council of Bouches-du-Rhône,  in partnership with Eurocopter, was awarded to  Neotys.  Neotys won the "Tool Challenge" award at the Vienna  Software Quality Days 2010 ("Best Quality Tool Award 2010" for NeoLoad application).

Documentation Neoload

Embed Size (px)

DESCRIPTION

Neo Load Documentation

Citation preview

Introduction About Neoload:NeoLoad is a load and performance software solution designed for web and mobile applications to simulate user activity and monitor infrastructure behavior.NeoLoad is designed, developed and marketed byNeotys, a company based inGmenos, France. It is written in java and available in English and French. The operating system used are Microsoft Windows,Linux,Solaris.NeoLoad allows you to conduct load tests more quickly, efficiently and frequently.It can deploy any of any technologies you may use such as Flex, Silverlight, GWT, Ajax Push, Web Socket and Google SPDY.History:Neotys was founded in 2005 by a group ofsoftware developersandIT projectmanagers who recognized demand for a newsoftwaresolution totest the performance of web applicationsprior to launch. Since then Neotys has delivered software solutions to more than 800 clients in 60 countries, with exports accounting for more than 75% of the company's annual turnover. Early in 2007,Neotys received the "Young Innovating Enterprise" award, issued by theMinistry of Researchand supported by OSEO Anvar, the French national organization promoting research. Neotys supports its continued development by expanding its business around the world.In November 2009, the first prize Cra13 given by the General Council ofBouches-du-Rhne, in partnership withEurocopter, was awarded to Neotys. Neotys won the "Tool Challenge" award at the ViennaSoftware Quality Days2010 ("Best Quality Tool Award 2010" for NeoLoad application). Neotys is included in the report entitled "The Testing Tools Landscape: 2010" fromForrester Research, Incand is described byGartneramong the vendors representing thecloud testingtool market broadly.Products and solutions:NeoLoadis a load and stress testing tool designed to measure the performance of web and RIA applications. It works by simulating traffic up to thousands of users in order to determine how the application performs under load. It provides various analyses, i.e., response times, number of simultaneous users, server activity, etc., to provide insight into where bottlenecks may exist.The objective is to identify problems early in order to optimize the performance and quality of the application before it goes into production.Features:NeoLoad works by simulating traffic (up to millions of users) in order to determine application performance under load, analyze response times and pinpoint the number of the simultaneous users which the internet, intranet or mobile application is able to handle. Tests can be performed from inside the firewall (in-house) or from theCloud.In addition to simulating network traffic, NeoLoad also simulates end user transaction activity including common tasks like submitting forms or executing searches by emulating 'virtual' users accessing web application modules. NeoLoad provides the performance information required to troubleshoot bottlenecks for tuning the application and the supporting servers. NeoLoad monitors the newest web,databaseand application servers such asJBossapplication server,HP-UX11,Web logic,WebSphere,Tomcat, andMySQLdatabase.NeoLoad "scripts" are developed via a GUI, which provides conditions, loops and other programming structures.JavaScriptmay be inserted for more advanced uses, such as password encryption. It supportsBasic,Digest,NTLMandform-basedauthentication. NeoLoad can recordHTTPSrequests and play them back. NeoLoad also supports client certificate authentication. NeoLoad supportsActiveXcomponents as long as communication with the server is via theHTTPprotocol. NeoLoad supports any type of web application including those usingJ2EE,.NET,AJAX,Flex,Silverlight,GWT,SOAP,PHP,Push technology, etc. as long as they are HTTP 1.0 or 1.1 compliant. NeoLoad supports hybrid and native mobile applications. NeoLoad supports video (HTTP streaming and RTMP). JSONandSPDYprotocol are also supported by NeoLoad. NeoLoademulates Networkconditions (latency, packet loss and bandwidth).Release History:VersionRelease dateNew optional modules

1.0March 1, 2005-

1.1July 26, 2005-

2.0July 27, 2006SOAP/Linux&Solarisplatforms monitor /SNMPmonitor /Apachemonitor /Web Logicmonitor /Web spheremonitor

2.1February 13, 2007Apache Tomcatmonitor /Oracle databasemonitor

2.2July 17, 2007AIXmonitor /HP-UXmonitor /JBossmonitor /MySQLmonitor

2.3December 3, 2007OASmonitor /JOnASmonitor /DB2database monitor /PostgreSQLdatabase monitor

2.4March 28, 2008Adobe Flex/Oracle Forms/IISmonitor /SQL Servermonitor /.Netmonitor

2.4.2May 19, 2008Refactor ofTelnet/SSHmodule in two modules Linux and Solaris.

2.4.4July 3, 2008dynaTrace

3.0May 15, 2009GWT

3.0.6October 15, 2009GlassFish/SAP/Adobe LCDS

3.1June 8, 2010Push/RTMP/Java Serialization

3.1.3October 26, 2010CA APM

3.2.0February 23, 2011Cloud/Siebel/Silverlight/VMwaremonitor

4.0.0April 4, 2012Collaboration /JMXmonitor

4.1.0November 21, 2012Monitoring Data Import module

4.2.0October 30, 2013MongoDBmonitor / Kaazing monitor /AppDynamicsintegration / Push module renamed to "WebSocket&Push"

Requirements:Operating System:This software supports the following operating systems: Windows XP (Load Generator Agent only) Windows Vista Windows 7 (x86 and x64) Windows 8.X (x86 and x64) Windows 2003 Windows Server 2008 (x64) Windows Server 2012 (x64) Linux x86-x64 (Kernel 2.6 and 3.0.x) tested on Debian 6, CentOS 5.6, 6.4 Ubuntu 12.04, 12.10NeoLoad is written in Java and should run on any platform supporting Java 7.Disk Space:To install the Controller, it is recommended to have 500 Mb disk space available.To install a Load Generator or a Monitoring Agent only, it is recommended to have 300 Mb disk space available.CPU and Memory:Hardware requirements differ widely from one test to another. The greater the stress placed on the web server, the greater the demand placed on hardware resources by the Load Generator. Furthermore, requirements increase with the complexity of the scenario. Additional Load Generators may be used to further increase the load.During the test, the Load Generator CPU and memory usage is monitored in the Runtime screen. If the CPU or memory usage level regularly exceeds 90%, either the number of Virtual Users must be reduced, or the think time between pages increased. Alternatively, additional Load Generators may be used.A minimum of 2048 Mb system memory is recommended.Screen Resolution:A minimum of 1024x768 pixel is required for screen resolution.

Performance Testing:Performance testing is the testing, which is performed, to ascertain how the components of a system are performing, given a particular situation. Resource usage, scalability and reliability of the product are also validated under this testing. This testing is the subset of performance engineering, which is focused on addressing performance issues in the design and architecture of software product.Why Load Test And Performance An Application?1.Does the application respond quickly enough for intended users?2.Will the application handle the expected user load and beyond?3.Is the application consistently behaving when more users access the same?4.Will the application handle number of transactions required by business?5.Is the application stable under expected and unexpected user loads?6.Do you know how your app will perform in production?7.Does your web application function properly under load? About Load Testing:Load testing is necessary to: 1.Test a web site's vulnerability to crashing under load. 2.Check response times under the predicted load.3.Determines the number of unlimited users supported by the application. Load Testing with NeoLoad: 1.Records Http traffic between browser and server. 2.Defines Test Parameter/Scenario.3.Analyses the results.

Why Neoload?1.Built for Today's Applications: It is one solution for all web and mobile applications.2.Easy and Powerful: It is easy to learn and use. It has enterprise class features and capabilities for realistic and efficient testing.3.Provides Actionable Insight: It provides relevant reporting and contextual information helps isolate root cause.4.Flexible Delivery: It works with both internal and external infrastructure. It is cost effective and it has flexible licensing.

Basic Neoload Load Testing Terminologies: Vuser Script : The script which mimics a single user activity on the application. This is done by capturing the Http traffic between browser and server. Container : A group of Http requests that represents a single user action. Population : This defines the number of users. Scenario: This shows the number of users, run pattern and various other run time settings to mimic the real world load test.Neoload Testing Process: Create a script that mimics a single user activity on the applications. Enhance the script by using pass by values, variables and assertions. Validate the vuser script. Set the population and define a scenario. Create monitors to monitor the server parameters. Run the load test Analyze the results.How to Test the Application with Neoload:NeoLoad, the professional load testing software, provides all the features you'll need to carry out load tests and analyze the results, all from within a unique and integrated interface. Depending on large numbers of users using an application simultaneously, NeoLoad allows you to analyze both the user response times and your infrastructure's statistics such as database, Web server, network components etc.Basically in neoload it consists of 3 parts:1.Design2.Run3.Analyze1.Design:NeoLoad records them into Virtual Users presented into a Graphical User Interface. You dont need to learn any scripting language. The key business transactions are created while you record your scenarios. Populations of users can be defined based on Virtual User profiles, to represent different groups accessing the application form different devices, network conditions or geographic locations. NeoLoad comes with predefined thresholds for most known database and application servers, helping you identifying immediately the root cause of performance issues, you can measure your infrastructure performance during the load.2.Run:Define the number of users to simulate according to your design, and start getting insights regarding your application behavior under load. Different load policies help you: understand the application performance at a regular load, ramp up the number of users to find the maximum capacity make sure your application is recovering well after a large spike of user make sure there is no memory leaks for instance.Immediately during the test, you can start analyzing the performance leveraging live charts and dashboards (errors, monitor alerts ).3.Analyze: As soon as the test ends, NeoLoad highlights the most significant test results and any errors in a test summary, thus allowing you to focus immediately on the points in your application that require attention. In depth analysis tools help you digging into the details of all the metrics collected during the test. A powerful reporting tool, including comparison capabilities, allows you to present the test results efficiently and share with your team.

Architecture:NeoLoad has two main components: 1.The Controller 2.The Load Generator and3.The Monitoring MachineA load generator is included with the controller to make deployment even simpler. For testing with average loads, only one machine is required. Additional, free-of-charge load generators can be deployed on other machines for testing at very high loads. This flexible architecture means you can envisage carrying out any kind of test, including those using high traffic volumes. During a test, NeoLoad collects information on the server infrastructure via its monitoring modules to pinpoint the causes of performance issues. For high injection power or geo locations purposes, or to leverage NeoLoad without the hassle of provisioning machines, NeoLoad Controller and Load Generator are available in the Neotys cloud platform.1.The Controller: Here the user can Create Scripts, Record Scenarios, Set up your targets & goals & Eventually run your tests and analyze the results. Executes the test by controlling the load generators outputs. The monitoring engine can be installed separately from the Controller to solve deployment challenges when security constraints are high.2.The Load Generator: It is a high better approach. We can generate the load locally or take it on the cloud. Simulates users accessing the application being tested. Collects information on the application's performance. Can be deployed at no additional cost on as many machines as required.3.The Monitoring Engine: We can monitor each of your deployment from controller or from extracted neoload monitoring engine. This monitoring engine allows you to place within the same sub network as deployment to bypass firewall issues.

Opening a NeoLoad ProjectA NeoLoad project is an NLP file which is stored by default in the user directoryC:\Users\\Documents\NeoLoad Projects\(Windows Vista/Seven), as described inProject Files.An existing project can be opened: from the Neoload welcome page, in theRecent Projects, in the NeoLoad menu with theFile>Opencommand.

When the project to open has been designed in a NeoLoad version older than NeoLoad 5.0, it is migrated and updated automatically, as described inProject Migration.When opening a project compatible with NeoLoad 5.0, the Sanity Check wizard may be displayed. The Sanity Check wizard provides a summary list of alerts on a test designProject Sanity Checkor a test executionExecution Sanity Check. It makes it possible to identify potential inconsistencies of scenario components in their logical and hierarchical organization, correct them, and deliver a high-quality scenario or launch a feasible test. It raises issues classified in two levels: warning or blocking.IconMeaningDescription

WarningThe test contains errors.

BlockingThe test cannot be launched.

License Management:Neotys supports several types of license fitted to every use of NeoLoad:Free Edition: Personal evaluation licence already activated to design scenarios, launch tests up to 50 Virtual Users and analyze test results.Modules : Collaboration, Data Exchange API, Custom Actions, CA APM, dynaTrace and AppDynamics are not included.Standard license:Either permanent or temporary, a standard license is linked to one machine. The NeoLoad Controller is used on this machine.Shared license: A shared license allows making the best of the authorized Virtual Users capacity between several machines. When distributing the Virtual Users capacity, the NeoLoad Controller can be used on several machines simultaneously.When NeoLoad is started for the first time, no license is installed. TheMissing Licensedialog box is displayed to choose the running mode.

Enter a License key: This option makes it possible to specify a commercial license or a free one.To evaluate NeoLoad, a click on theRequest a Free Edition Keylink opens up the online form to ask for a free license.Run in no key mode: This option only allows designing scenarios in NeoLoad and analyzing the results of tests previously launched in license mode. With this option, launching tests is unavailable.A click onOKvalidates the selection. The dialog box is closed. According to the option selected, NeoLoad displays: the NeoLoad Controller in the running mode with no license, or the license management screen to enter a license key (commercial or Free Edition). Information:TheMissing Licensedialog box is no longer displayed when NeoLoad is started again, except when the license has expired.To enter a license key, the license management screen is available at any time with theHelp>License Managementcommand.

With a click onLicense, theNeoLoad general settingsscreen is refreshed with the information and the actions to manage the license key.

Upgrade vs. UpdateUpgrading NeoLoad consists in installing: a major version (example: NeoLoad 4, NeoLoad 5), a minor version (example: NeoLoad 4.1 to NeoLoad 4.2)Updating NeoLoad consists of installing: corrective version (example: NeoLoad 5.0.0 to NeoLoad 5.0.1).Checking for updates can be automated. For more information, seeAdvanced Settings. TheHelp > Check for Updatescommand makes it possible to enquire manually about any upgrade available too.

Quick Start:Our Test will undergo following phases:1. Recording the Test Scenario.2. Running the test.3. Test Results.1.Recording the Test Scenario: Starting the Recording: Click on the "Start recording" button on the controller to start recording the scenario.

Browser Settings: NeoLoad will capture pages and record them into a virtual user profile. Choose the name of the profile to record, then select "Adobe RTMP" if your application is using the RTMP protocol. By default, NeoLoad records only HTTP traffic.Next, specify which web browser is to be used for the recording and whether the browser's cache and cookies should be cleared before recording.

Entering the URL to be recorded: The browser displays the NeoLoad recording page, indicating that the browser settings are correct.The browser is now ready to record the scenario. Enter the URL of the site to be tested and browse as normal.

Grouping recorded pages by business transaction: At any time during the recording, you may create named containers in which to group the visited pages. These containers represent the business transactions within your scenario.

Stopping the recording: Close the browser to stop recording. You may also click on the controller's "Stop recording button.

Creating your first virtual user: Once the recording is finished, a pop-up wizard is displayed.Follow the steps through the wizard.

On the "Virtual Users" tab, you may configure the think time for the user. The think time is a simulation of the time spent by the user on the previous page before accessing the current page. This delay may be for each page individually, for all pages globally or variable within a given range.

Checking the validity of the virtual user: Complex scenarios may require advanced settings. A failure to implement these settings will result in errors and an unexpected behavior for the virtual user. For example, the virtual user will not create entries in the database. Check the validity of the virtual user via the "Run / Start checking" menu item.

The "Check Virtual User" dialog displays the HTTP request and the HTTP response of each NeoLoad request.

NeoLoad automatically flags in error any responses whose HTTP response code is an error code, for example "500 Internal Error". Nevertheless, many applications return error messages within a valid "200 OK" response. In these cases, NeoLoad does not automatically detect the error. If the virtual user does not behave as expected, check the responses to see if they contain an error message or an unexpected content.Failure to handle a dynamic parameter will cause an error. Generally, it means that you may need to extract and inject some data.

Creating a population: Click on the "Populations" tab. A pop-up wizard prompts you to create a population for the test. A population is a group of virtual users. In this example, the population only contains the previously recorded virtual user.

2.Running the Test: The Scenarios tab: Click on the "Runtime" button, then on the "Scenarios" tab. Configure the settings such as test duration, load policy (constant, ramp-up, peaks, custom) and the number of virtual users.

Run the test by clicking on "Run" top menu, and then click on the "Start playing" button.

The Runtime Overview tab: This panel monitors the test sequence. It provides immediate statistics such as hits/sec., average response time and errors. The test may be stopped at any time by clicking on the "Stop" button.

3.Test Results: The Test Summary tab: The test summary provides general statistics for the test, including total test duration, throughput, total number of hits, number of errors and average response time, together with important information such as slowest pages, pages with the highest error rates etc.

The Values tab: This tab allows you to Quickly plot all the graph curves for a web page, HTTP request, a monitor or an indicator. Sort the request and web page statistics. Use "Filters" to filter the displayed results by load generator, population or virtual user. Use the "Type" drop-down list to switch between Web Pages, HTTP Requests, Performance counters and Indicators.

The Graphs tab: The "Graphs" tab can be used to plot a graph curve for any statistic in any request. Simply select the required statistic among average response time, hits/sec., error rate etc., then drag and drop a Webpage, a HTTP request or a Performance counter into the graph pane to the right. You may also plot a curve for a previous test by selecting that test in the Results drop-down list or compare two tests by selecting "Compare..."

The Errors tab: This tab displays detailed information on request errors encountered during the test. It itemizes the requests sent to the server, the server's response and the results of the assertions checking its validity. To help pinpoint the source of the error, you may access the request that precedes the request and containing the error from this tab.

Communication methodology: Neoload uses agent less communication between client and server. It is based on the Push technology. Push technology is a type of communication where information is "pushed" by the server to the browser, contrary to the normal "pull" principle whereby the browser initiates the request for information. There are several Push methods: polling, long polling or streaming.

Recording a Native Application in Proxy Mode:Most native applications are designed to rely on an API which uses a proxy. NeoLoad can act as a proxy to catch the activity of the mobile device . NeoLoad can record test scenarios on a native application: when the mobile device supports the definition of a proxyby default, iOS and Android 4.0 (Ice Cream Sandwich)and when the application is able to use the proxy set on the device.

The communication between the device and the server is recorded through the proxy based recorder. Both NeoLoad and the mobile device must be on the same network. The mobile device must be connected to the NeoLoad network in Wifi. On the mobile device, it is necessary to manually modify the proxy used by the application or by the browser. The hostname must be the name or the IP of the NeoLoad machine. The port is the NeoLoad recorder port (8090by default).

For example, on Apple products (iOS), the proxy settings are accessible inSettings>Wi-Fi> >HTTP Proxy>Manuelsetting option.When a native application cannot be recorded in Proxy mode, it is necessary to record it in Tunnel mode.Before recording the scenario, it is recommended to close all the HTTP client applications (other web sessions, twitter client, and so on). NeoLoad records all the HTTP flows going through the machine. It is necessary to close HTTP clients or define exclusion rules in NeoLoad to avoid unwanted requests in the record.In NeoLoad, theDesignsection gives access to theStart Recordingtoolbar button. TheStart Recordingdialog box makes it possible to define the new record.

To record in Proxy mode, theProxy modeoption must be selected.It is recommended to uncheck theStart clientoption as the mobile device itself generates the traffic. As soon as the record is started in NeoLoad, the mobile application can be used. NeoLoad catches the HTTP traffic of the recorded application to create the test scenario content.When all the actions on the mobile application are done, a click on theStop Recordingbutton in the NeoLoad recording bar displays thePost-recording Wizardto configure the recorded scenario.Once recorded, the scenario can be checked and edited in theDesignsection of the NeoLoad Controller.

Recording an Http Application in Proxy Mode:NeoLoad allows recording a scenario using just a desktop browser. The NeoLoad Recorder, seen as a proxy by the browser, records each HTTP request and response to and from the server.

Where the browser accesses the server through a proxy, the recording proxy uses this same user's proxy to access the server.

To configure the user's proxy settings, seepreferences.

Manually Configuring the Recorded Proxy Settings:For HTTP and HTTPS protocols, uselocal hostor127.0.0.1as the proxy host. The default port for the recorder is8090(HTTP and HTTPS); the port may be changed in the preferencesTo change the proxy settings in Internet Explorer, clickTools > Internet options, and choose theConnectionstab. If you connect to the server through a local network, go to theLocal Area Network (LAN) settingssection and click on theLAN settingsbutton. If you connect through a modem, go to theDial-up and Virtual Private Network Settingssection and click on theSettingsbutton.

For other browsers, the proxy settings are accessible through the browser preferences.Test the set-upby entering the URLhttp://neoload/. If the page displays correctly, the settings are correct (this URL is not recorded).Filtering Out Unwanted Requests:When using Internet Explorer, unwanted requests may be recorded. Indeed, the Internet Explorer proxy settings are shared by numerous other programs that connect to the Internet using the HTTP protocol. Thus, the recorded test scenario may contain requests emanating from Windows Update, MSN Messenger login, spyware, and so on.The recorder exclusion filter already blocks a certain number of access requests by default. If other unwanted requests remain, these must be either deleted after recording or added to the filter.Http Recorder:Configuring the HTTP recorder consists of specifying the parameters for the recording proxy and the tunnel mode to capture the requests between the browser and the web server.

TheHTTP Recorder settingsgroup box allows setting the NeoLoad recorder in Proxy mode. Portis the listening port used by the NeoLoad recorder. Capture the browser window even when it is in background (for single window applications)can be selected to have the recorder capture only the HTTP flows going through the browser window used. With this option, it is not necessary to close all the HTTP client applications (web sessions with browsers of other types, twitter client, and so on) or define exclusion rules to avoid unwanted requests in the record.TheTunnel Mode Recorder settingsgroup box lists the parameters for the recorder in Tunnel mode: Connectioncontains the network interface cards available on the machine. A selected card is the one used by the recorder in Tunnel mode. IP accessible from clientis the IP to which the Tunnel recorder is bound. It is the IP used by the device which connects to the tested application. HTTPS IP range recordingis the collection of IPs which can be used when recording a number of SSL-secured domains. By default, they are local IPs. InFrom, it is necessary to enter the first IP of the collection. InTo, the last IP of the collection must be specified.InRecord patterns, the regular expression patterns to filter the URLs to be recorded must be entered in the lists: Patterns to include:When the Include list contains an entry, NeoLoad only records the URLs matching at least one regular expression pattern. The Include list is used only to record requests sent to one or two servers. Patterns to exclude:The request is recorded when it does not match any of the regular expression patterns in the list. The Exclude list is used to avoid recording requests sent to certain listed servers, or requests for JAR or image files for example. URLs authorized by the include list must pass through the exclude filter, otherwise they are rejected.Starting Recording in Proxy Mode:Recording an application can be started with: theStart recordingtoolbar button, or theRecord>Start Recordingcommand, or theStart Recordingbutton in theVirtual Userstab, or theRecord Hereoption in the context-sensitive menu (right click on the mouse).Starting a new recording creates a new Virtual User profile and place all the web pages visited during the recording into that profile. At the beginning of the recording, the cookies may be deleted and the browser cache may be cleared.

TheVirtual Usergroup box defines the new Virtual User: Name:In the field, the Virtual User name must be entered. When the recording ends, the Virtual User with this name contains all the recorded pages and requests. Record in:It is necessary to select the Container into which the pages visited are to be recorded. Init,ActionsandEndContainers follow a set order of play: 1.InitContainer. 2.ActionsContainer. 3.EndContainer.1.Init Container:An Init Container groups together all the various web pages required to initialize the Virtual User. An Init Container is always executed once at the Virtual User start-up. A typical example of this type of Container is the set of web pages used to log the user in to the application.2.Actions Container:An Actions Container groups together the elements that are repeatedly executed during a Virtual User runtime until the user stop.3.End Container:An End Container groups together the elements executed prior to a Virtual User stopping. An End Container is always executed once when the Virtual User stops. A typical example of this type of Container is the set of web pages used to log the user out of the application.

TheProtocolsgroup box helps select the protocols which NeoLoad can record. NeoLoad records the HTTP protocol by default: HTTP/HTTPS: This selected option is dimmed to indicate that NeoLoad records the application in HTTP/HTTPS in all conditions. Web Socket: This option makes it possible to record a Web Socket application. Adobe RTMP: If the license permits, recording for Adobe RTMP (Real Time Messaging Protocol) may be activated with this check box. RTMP is a streaming protocol developed by Adobe that works on top of TCP/IP. Recording a RTMP application in NeoLoad is subject to certain limitations. TheModesgroup box makes it possible to choose a recording mode: Proxy mode: Selecting this option makes it possible to launch the record in Proxy mode. Tunnel mode: Selecting this option makes it possible to launch the record in Tunnel mode.TheClient settingsgroup box makes it possible to automatically launches the selected browser and opens the test URLhttp://neoload/using the automatically-configured proxy settings. If this page displays correctly, the recording proxy has been set up correctly. Closing the browser stops the recording. Launch client: This option must be cleared to manually configure the recording proxy settings manually launch the browser and record the scenario. Delete cookies:This option deletes cookies prior to recording in order to simulate a user's first visit to the application. Cookies are restored when recording ends. As Internet Explorer cookies may be cached in the system memory, this browser is not recommended if a precise monitoring of cookies is required. Clear cache:This option clears the browser cache in order to simulate a user's first visit to the application. With Internet Explorer, the cache is permanently cleared. With other supported browsers, the cache is restored when recording ends. Identify as: This option allows the browser used while recording to simulate another browser. The option is particularly useful when a browser is unavailable on the machine (mobile browser for instance). When the browser used is identified as an iPhone device, the server returns the mobile version of the application.A click on theOKbutton closes theStart Recordingdialog box and displays: the recording bar in Proxy mode, or theTunnel mode recordingwizard in Tunnel mode.The recording bar allows modifying the Virtual User during the recording.

As soon as the recording bar is displayed, the recording starts. The bar includes the following functions: Clicking on theStopbutton stops the recording and opens thePost-Recording Wizard. Clicking on thePausebutton puts recording on hold. Clicking again on theRecordbutton resumes recording. InRecord in, a Container type can be selected into which the subsequent pages visited are to be recorded. InContainer, a Container name can be specified for the subsequent web pages to be recorded within that Container. A Container is used to identify and collect a group of web pages. Delete the Container name to end the collection of new pages within the Container and to allow the creation of a new Container. A click on theRendezvousicon makes it possible to insert a rendezvous point. Using the Pause button temporarily stops the recording and allows searching on the Internet or other actions in the browser without recording. Init,ActionsandEndContainer types follow a set order of play: 1.InitContainer. 2.ActionsContainer. 3.EndContainerWhen the record is finished, thePost-Recording wizardis displayed, as described inPost recording wizard. To record an application in Proxy mode:1. In theDesignsection of NeoLoad, clickStart Recording.2. In theStart Recordingdialog box, specify a new Virtual User.3. InProtocols, select: Web Socketsto record the Web Sockets requests, Adobe RTMPto request the RTMP requests.4. To record in proxy mode, check theProxy modeoption.5. InLaunch browser, you can select the recording browser.6. InIdentify as, you can choose to simulate another recording browser.7. ClickOK. The application starts in the selected browser.8. In the recording bar, classify your navigation steps byContainer.9. To terminate your record, clickStop.10. Configure your scenario further in thePost-recording Wizard.Recording a Native Application in Tunnel Mode:Some native applications cannot be recorded in proxy mode. When the mobile device does not support the definition of a proxy or when the application cannot use the defined proxy, it is necessary to use the Tunnel mode. This mode makes is possible to record any mobile application, either web or native, standard or customized, for any platform in any version. When a native application is able to use the proxy set on the device, it is advised to record it in Proxy mode, for it is easier to use. The Tunnel mode is available only when NeoLoad 5.0 is installed on a Windows operating system.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.

Recording an application can be started with: theStart recordingtoolbar button, or theRecord>Start Recordingcommand, or theStart Recordingbutton in theVirtual Userstab, or theRecord Hereoption in the context-sensitive menu (right click on the mouse). Before recording the scenario, it is recommended to close all the HTTP client applications (other web sessions, twitter client, and so on). All the HTTP traffic going through the client are recorded by NeoLoad. It is necessary to close HTTP clients or define exclusion rules in NeoLoad to avoid unwanted requests in the record.TheRecordingdialog box makes it possible to define the new record.

To record in Tunnel mode, theTunnel modeoption must be selected.It is recommended to uncheck theStart clientoption as the mobile device itself generates the traffic. As soon as the record is started in NeoLoad, the mobile application can be used. NeoLoad catches the HTTP traffic of the recorded application to create the test scenario content.A click on theOKbutton closes theStart Recordingdialog box and displays theTunnel mode recordingwizard to prepare the recording.

A click on theDetect serversbutton starts the native application discovery function.

TheDetecting serversbar shows the IP address of the NeoLoad Controller. Without closing the bar, the IP address of the DNS server of the device must be modified to reroute transactions toward the NeoLoad Controller:1. The IP address of the DNS server of the mobile device must be noted down to reset the device after the recording process.2. In the Wifi parameters of the mobile device, it is necessary to switch the IP address of the DNS server with the IP address of the NeoLoad Controller shown in theDetecting serversbar.3. The device must be restarted to save the change.At that moment, the application on the mobile device must be started to have NeoLoad detect the servers used in the application. On the mobile device, every action in the scenario must be performed to have theDetecting serversbar analyze the application.A click on theStop server detection processicon closes theDetecting servers barand updates theTunnel mode recordingwizard. TheServers liststep displays all the application servers and domains to record: Hostnameis the name of the server or domain. Portis the port requested by the application. It must be checked and changed when necessary. SSLmust be selected when the connection to the server or domain is ciphered. The servers list is empty for the first Virtual User. Otherwise, it shows the servers used by the Virtual Users already created for the application. When recording in Tunnel mode from a real mobile device, it is necessary to manually define the port which NeoLoad must listen. Otherwise the client application may display a connection refused error.The servers list can be modified with theAddandRemovebuttons. It can be modified subsequently too at the end of the scenario record or in theDesignsection.In theTunnel mode recordingwizard, clicking theNextbutton launches theConfiguration checkstep.

When issues are raised, it is necessary to correct them before starting the true record of the application: Additional IPs may be required to connect to SSL servers, It may be necessary to assign more IPs in the Operating System.On Windows Seven for example, it is necessary to chooseControl Panel>Network and Sharing Center>Local Area Connection>Properties>Internet Protocol Version 4 (TCP/IPv4)>Properties>Advancedto display theAdvanced TCP/IP Parametersdialog box. In theIP addressessection, a click on theAddbutton allows specifying the first IP for the identifiers range, for example192.168.1.210. All the parameters must be saved for the new virtual IP addresses to be taken into account. Ports may be already used: When a port is required by NeoLoad although it is already used by another application, NeoLoad cannot process the record. That application process that used the port must be stopped.Once IPs and ports are ready, clickingBackin theTunnel mode recordingwizard makes it possible to restart theConfiguration checkstep. When the configuration is ready, a click on theFinishcloses the wizard.TheRecording of Virtual Userbar is displayed to record the mobile application. To make sure the DNS server is used when recording the application, the mobile device must be restarted.

Browsing the application and performing every action of the scenario automatically create the record in NeoLoad. When all the actions are done, a click on theStop Recordingicon stops the recording and closes the recording bar. ThePost-recording Wizardopens up to help configure the recorded scenario. Subsequently, the scenario can be edited and improved in theDesignsection of the NeoLoad Controller. When the recording is over, the original IP address of the DNS server must be set back on the mobile device before restarting it to save the change. When a problem prevents the recording to terminate correctly, the internet connection may be suspended after the recording. Stopping the recording prematurely does not make it possible for NeoLoad to reset the operating system DNS configuration. The configuration must be restored from theneoload.logfile : The log keeps track of the original DNS configuration before it is modified for the Tunnel mode. For example:2012/11/13 09:27:20 INFO - neoload.DNS: Original DNS server IP is : 192.168.1.42012/11/13 09:27:20 INFO - neoload.DNS: Original DNS server is configured by DHCP : falseThe first line shows the IP address of the primary DNS server. The information helps reset the network configuration back to its original state.The second line tells whether the DNS server was retrieved from the DHCP server. To record a native application in Tunnel mode1. Connect your mobile device in Wifi to the same network as your NeoLoad controller.2. In theDesignsection of NeoLoad, clickStart Recording.3. In theRecordingdialog box, specify a new Virtual User.4. To record in Tunnel mode, check theTunnel modeoption.5. To record from your mobile device, uncheck theLaunch browseroption. ClickOK.6. In theTunnel mode recordingwizard, clickDetect servers.7. TheDetecting serversbox gives you the IP address of the NeoLoad Controller.8. On your mobile device, change the Wifi parameters: Note down the current IP address of the DNS server. Change it with the IP address of the NeoLoad Controller. Restart your mobile device.9. On your mobile device, start your application. Browse the application as expected in your scenario.10. Click on theStop server detection processicon.11. In theTunnel mode recordingwizard, rectify the servers list and the record configuration. ClickFinish. TheRecording of Virtual Userbar is displayed.12. Restart your mobile device. Start your application. Browse the application as expected in your scenario.13. Click on theStop recordingicon.14. Reset the IP address of the DNS server of the mobile device. Restart the device.15. Configure your scenario further in thePost-recording Wizard.Starting Recording in Tunnel Mode:Recording an HTTPS Application:When recording a scenario, NeoLoad acts as a go-between with the browser and the web server. 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.

Before recording the scenario, it is recommended to close all the HTTP client applications (other web sessions, twitter client, and so on). NeoLoad records all the HTTP flows going through the machine. It is necessary to close HTTP clients or define exclusion rules in NeoLoad to avoid unwanted requests in the record.Certificates:For each request using the HTTPS protocol, NeoLoad retrieves the certificate provided by the SSL server. This certificate is essential to ensure secure communication between the proxy and server. Moreover, NeoLoad takes on the role of the server, issuing a certificate that is sent to the browser to secure communication between proxy and client. This certificate, created on-the-fly by NeoLoad during recording, is not recognized by the browser as being valid, since it is not authenticated by any certificate authority. The browser displays messages warning that the certificate provided by the server (in this case NeoLoad) cannot be trusted and that, consequently, the connection cannot be secured.Importing the certificate authority certificate (root certificate) into NeoLoad enables each certificate generated automatically during recording to be authenticated, thus preventing the display of certificate error messages in the browser. The root certificate is placed in the certificate authorities keystore. The sectionImporting/Installing the Root Certificatedetails the procedure to follow. Be warned that installing a root certificate in a browser creates a serious security loophole. It is important to have read and fully understood the associated risks for the machine security as set out inSecurity Warningbefore proceeding.The root certificate is created when NeoLoad is first launched and is namedDO_NOT_TRUST_NeoLoadRoot.cer. It can be found in the configuration sub-directory of the user profile directory.In Windows, this configuration directory is%ApplicationData%/Neotys/NeoLoad/v/conf/, for example: Windows XP:C:\Documents and Settings\username\Application Data\Neotys\NeoLoad\v5.0\conf\ WindowsVista:C:\Users\username\AppData\Roaming\Neotys\NeoLoad\v5.0\conf\ Windows7:C:\Users\username\AppData\Roaming\Neotys\NeoLoad\v5.0\conf\ Windows8:C:\Users\username\AppData\Roaming\Neotys\NeoLoad\v5.0\conf\ In Unix/Linux, the directory is/.neotys/neoload/v/conf/, for example /home/username/.neotys/neoload/v5.0/conf/Importing or Installing the Root Certificate:Importing the NeoLoad certificate authority certificate (DO_NOT_TRUST_NeoLoadRoot.cer) into the browser certificate authority keystore enables each certificate generated during an SSL recording to be authenticated, thus preventing the certificate error messages in the browser.Be warned that installing a root certificate in a browser creates a serious security loophole. It is important to have read and fully understood the associated risks for the machine security as set out inSecurity Warningbefore proceeding.The procedures for installing the root certificate with the Internet Explorer and Mozilla Firefox browsers are set out hereinafter.Internet Explorer: To import/install the root-certificate on Internet Explorer1. Double click on theDO_NOT_TRUST_NeoLoadRoot.cercertificate. A window opens displaying the certificate details.

2. ClickInstall certificateto launch the importation wizard.

3. ClickNext. The wizard prompts you to enter the store in which you want to place the certificate. Click thePlace all certificates in the following storeoption.

4. ClickBrowseand choose theTrusted Root Certification Authoritiesstore.

5. ClickNextto validate.

6. ClickDoneto exit the wizard.

7. A system window opens, prompting you to authorize the certificate installation in the Trusted Root Certification Authorities store. You must only validate this step if you have read and fully understood the risks this procedure entails.

8. After clickingYes, the system confirms that the certificate has been correctly installed.

9. Re-start the browser before making a new recording.10. From now on, clicking on theDO_NOT_TRUST_NeoLoadRoot.cercertificate will display the certificate details, confirming that the certificate is correctly installed.

Mozilla Firefox: To import/install the root-certificate on Firefox1. In the browser menu, go toTools>Optionsand click on theAdvancedbutton on the top right. Next, select theEncryptiontab.

2. ClickView Certificatesto open the Certificates Manager.

3. Click on theAuthoritiestab, then clickImportto import a new certificate into the Trusted Root Certification Authorities store. An explorer window prompts you to select the file containing the certificate to be imported. Check all three boxes so that the root certificate covers all types of applications.

4. ClickOK. The Certificate Manager now displays the certificate you have just installed.

5. Re-start the browser before making a new recording.

Certificate Use:Internet Explorer:When recording using SSL, Internet Explorer displays a closed padlock to the right of the URL address bar to indicate that the data being transferred is secured. The details of the certificate generated by NeoLoad can be viewed by clicking on the padlock. The certificate is authenticated by theDO_NOT_TRUST_NeoLoadRoot_v4.0certificate authority.

Mozilla Firefox:When recording using SSL, Firefox displays a closed padlock in the bottom right-hand side corner of the browser window to indicate that the data being transferred is secured. The details of the certificate generated by NeoLoad can be viewed by clicking on the padlock. The certificate is authenticated by the Neotys certificate authority.

Removing a Root Certificate:Internet Explorer To remove a root certificate on Internet Explorer1. In the browser menu, go toTools>Internet optionsand select theContenttab. Next, click on theCertificatesbutton.

2. Click on theTrusted Root Certification Authoritiestab. Select the certificate to be deleted, then clickRemove.

3. Two windows are displayed warning that deleting system root certificates might prevent some Windows components from working properly. The browser will display certificate errors when recording in NeoLoad using SSL, since the generated certificates will no longer be authenticated. ClickYesto continue.

Mozilla Firefox To remove a root certificate on Firefox1. In the browser menu, go toTools>Optionsand click on theAdvancedbutton on the top right. Next, select theEncryptiontab. ClickView Certificatesto open the Certificates Manager.

2. Click on theAuthoritiestab, select the certificate to be deleted, then clickDelete.

3. A window is displayed warning that deleting system root certificates might prevent some Windows components from working properly. The browser will display certificate errors when recording in NeoLoad using SSL, since the generated certificates will no longer be authenticated. Clickokto continue.