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.