NeoLoad® Documentation

2.3

All right reserved. No part of this book shall be reproduced, stored in a retrieval system, or transmitted by any means, electronic, mechanical, photocopying, recording, or otherwise, without written permission from the publisher and the copyright holder.

28 February 2008


Table of Contents

I. Getting Started
1. Overview
Welcome to Neoload Help
Contents
Formats
Legal issues
About Load Testing
Why load test web applications ?
Load testing with NeoLoad
2. Installation
Requirements
Operating system
Disk space
CPU & memory
Installation
Installing the Controller
Installing a Load Generator
License Key Management
The Standard Key
The Floating Key
Changing Mode
Running NeoLoad
Running the Controller
Launching the Load Generator Agent
Stopping the Agent
Files
The Installation Directory
The User Directory
Log Files
Advanced Installation
Using a firewall between the Controller and Load Generator
Increasing available memory for Load Generators
Increasing available memory for the Controller
3. Quick Start
Recording the Test Scenario
Running the Test
Test Results
II. Reference Guide
4. Preferences
Global preferences
HTTP Recorder Settings
Proxy settings
Browser Settings
Skins
Graphs
Dynamic Parameters
License
Project Preferences
Page naming policy
Managing certificates
Runtime
5. Variables
Creating a Variable
Value change policy
Variable scope
The Variable Extractor
Testing a Variable
Using Variables
6. The Results Manager
Select
Compare
Generating a Report
Deleting a Test
7. SSL Client Certificates
Importing certificates
The Recording Certificate
Playback certificates
Example
Security concerns
8. Design
Recording a Test Scenario
Set-up
SSL support
Starting recording
Automatic browser management
Manually configuring the recording proxy settings
The Recording Completed wizard
Filtering out unwanted requests
Troubleshooting
The Repository
Servers
Authentication
Web pages
HTTP requests
Link and form extractors
Managing dynamic parameters
SOAP requests
Virtual Users
Creating a Virtual User
Validating a Virtual User
Look for dynamic parameters
Logical actions
Populations
Percentage
Bandwith
Browser
Use cookies
Connection
Cache management
JavaScript
How it works
JavaScript actions
JavaScript libraries
API overview
Importing a project
Exporting a Project
9. Runtime
Test Settings
Scenarios
Duration policy
Load policy
Load Generator hosts
Advanced
Scheduling a test
Monitors
Monitor types
Server connections
Defining a monitor
HTTP monitors
HTTP connection
Monitoring an Apache web server
Monitoring other web servers
WebLogic monitors
WebLogic 8 monitors
WebLogic 9/10 monitors
WebSphere monitors
Configuring a WebSphere monitor in NeoLoad
WebSphere connection
New WebSphere monitor
JBoss monitors
Configuring a JBoss monitor in NeoLoad
JBoss connection
New JBoss monitor
Tomcat 5.5/6.0 monitors
Configuring a Tomcat monitor in NeoLoad
Tomcat connection
New Tomcat monitor
Oracle Application Server monitors
Configuring an Oracle Application Server monitor in NeoLoad
Oracle Application Server connection
New Oracle Application Server monitor
Jonas monitors
Jonas connection
New Jonas monitor
RSTAT monitors
RSTAT monitors list
SNMP monitors
SNMP connection
New SNMP monitor
Linux monitors
Linux connection
New Linux monitor
Solaris monitors
Solaris connection
New Solaris monitor
AIX monitors
AIX connection
New AIX monitor
HP-UX monitors
HP-UX connection
New HP-UX monitor
Windows monitors
Connecting to a remote server
Main counters
MySQL monitors
New MySQL monitor
MySQL monitors list
Oracle monitors
New Oracle monitor
DB2 Monitors
New DB2 monitor
DB2 monitors list
PostgreSQL monitors
New PostgreSQL monitor
PostgreSQL monitors list
Runtime
Stopping the test
Runtime information
Real-time graph
Load Generators
Real-time monitoring
Real-time errors
10. Results
General Information
Selecting a test
Deleting a test
Filtering by Population or Virtual User
Web page vs. HTTP request statistics
Test Summary
Selecting a summary
Test summary
Statistics summary
Hot spots
Errors
Page results
Container results
Graphs
Plotting a statistic
Plotting a monitor
Drawing a graph using a template
Deleting a curve
Graph features
Comparing test results
Using multiple graphs
Using graph templates
Percentile graphs
Exporting data
Values
Displaying web pages or HTTP requests
Results table
Plotting curves
Exporting data
Errors
General error information
Selected error details
Previous request
Generating a Report
Launching the Report Wizard
Report settings
Exporting customized graphs
Comparing Two Test Results
Comparing results in the GUI
Generating a comparison report
III. Troubleshooting Guide, F.A.Qs and HOWTOs
11. Best Practices
Defining Objectives
Types of objective
Defining criteria for success or failure
Producing a Realistic Test
Defining the number of Virtual Users.
Defining several types of Virtual Users
Using different user accounts and values
Testing load balancers
Simulating actual user bandwidth
Tips
Making your Results Talk
Producing informative results
Using results
12. NeoLoad F.A.Q
General Questions
Designing
Running
Analyzing
Understanding Errors
13. Troubleshooting Guide
14. Neoload HowTos
Running a Test from the Command Line
Scheduling a Test
Scheduling a Test with NeoLoad
Scheduling a Test with the OS
Increasing Available Memory for the Load Generator
Logging in With Multiple Accounts Using a CSV File
Creating and Linking a CSV Variable to Login Information
Multiple Accounts Using the Post-recording Wizard and a CSV file
Creating Virtual Users
Creating a Virtual User Using the Post-recording Wizard
Creating and Configuring a Virtual User
Creating Virtual Users that Behave Differently
Creating Realistic Populations
Extracting a Dynamic Hidden Field from an HTML Form
Understanding the Problem
Extracting and Reinjecting the Hidden Dynamic Value
Going a Little Further with the Form Extractor
Related Links
Extracting and Following a Dynamic URL Generated by your Application
Understanding the Problem
Extracting and Reinjecting the Dynamic URL
Related Links
Extracting Data from an HTTP Request and Using it Later in the Scenario
Understanding the Problem
Extracting Contents and Assigning it to a Variable
Using the Variable
Related Links
Analyzing Errors in the Error Panel
Understanding the Context
Checking a Virtual User
Analyzing Errors on a Scenario Run
Related Links
Comparing Several Test Results
Understanding the Context
Comparing results in the GUI
Comparing results in reports
Related Links
Creating Business Transactions
Understanding the Context
Example Overview
Constructing the Virtual User and the Associated Business Transaction
Building a population and a scenario
Analyzing Business Transaction Results
Related Links
Exporting Data
Understanding the Context
Generating a report
Exporting Results
Related Links
Monitoring an Application Server or a Database
Understanding the Context
Adding and Defining Monitors
Related Links
Testing SOAP Web Services
Understanding the Context
Manually Defining a SOAP Request Based on a WSDL Definition
Manually Defining a SOAP Request From Ground up
Using the Variable Extractor
Recording a SOAP Request
A Quick Tour on Analyzing SOAP Results
Related Links
Using an Additional Load Generator
Understanding the context
Installing a Load Generator
Running a Scenario using Several Load Generators
Related Links
Using Regular Expressions in NeoLoad
Understanding the Context
Related Links
Validating a Server Response
Understanding the Context
Adding Validations to an HTTP response
Related Links
IV. Appendix
A. Regular Expressions
Overview
Introduction
Using regular expressions
Quick Reference
Special character definitions
Character classes
Pre-defined character classes
Examples
Extracting a URL parameter value
Extracting a Form Parameter Value
Extracting HTTP headers
Extracting miscellaneous values
Common Errors & Tips
Use of the question mark '?'
Brackets
Spaces
Links to Regex Resources
Links to Regex Testers
B. Status Code Definitions
Informational 1xx
100 Continue
101 Switching Protocols
Successful 2xx
200 OK
201 Created
202 Accepted
203 Non-Authoritative Information
204 No Content
205 Reset Content
206 Partial Content
Redirection 3xx
300 Multiple Choices
301 Moved Permanently
302 Found
303 See Other
304 Not Modified
305 Use Proxy
306 (Unused)
307 Temporary Redirect
Client Error 4xx
400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
407 Proxy Authentication Required
408 Request Timeout
409 Conflict
410 Gone
411 Length Required
412 Precondition Failed
413 Request Entity Too Large
414 Request-URI Too Long
415 Unsupported Media Type
416 Requested Range Not Satisfiable
417 Expectation Failed
Server Error 5xx
500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported
C. NeoLoad Status Codes
D. NeoLoad Javascript API
Class Logger
Synopsis
debug(String)
error(String)
fatal(String)
info(String)
warn(String)
Class RuntimeContext
Synopsis
currentVU
variableManager
fail()
fail(String)
Class VariableManager
Synopsis
changeValue(String)
getValue(String)
parseString(String)
setValue(String, String)
Class VirtualUser
Synopsis
id
name
setCookieForServer(String, String)
stop()
Glossary
Index

List of Examples

9.1. MySQL JDBC URL:
9.2. Oracle JDBC URL:
9.3. DB2 JDBC URL:
9.4. PostgreSQL JDBC URL: