Thursday, April 14, 2011

SOAP Requests as HTTP Requests in Neoload vs. Loadrunner

Last month I started using Neoload as a load testing tool. It allows for a very easy learning curve so that the skill "load testing" can be more easily acquired.

HP Loadrunner
Neotys Neoload
(+) fully scriptable
(+) advanced reports
(-) only simple expressions
(-) hard to learn
(-) long time needed to record
(+) simple, intuitive interface
(+) very good regular expressions
(+) most correlations automatic
(+) inexpensive
(-) Limited report export functionality

SOAP with Neoload

Both those products can be acquired with many different protocols or monitors. Neoload offers a very easy SOAP Protocol functionality where it reads out the descriptive WSDL file and offers the services for building the xml file.

However I did not have that SOAP protocol available. That means it is only not available for checking a replaying the Vuser. It is always available for recording.

For checking out the functionality in Neoload I decided to encapsulate a SOAP request in the HTTP protocolg. A SOAP request can be a simple http post request.

Usually http post request body data is comprised of key=value?key=value pairs. The Neoload HTTP protocol is designed to work exactly with this pattern and offers name and value pairs. It is possible to enter Text only in the name column. This is good for the XML SOAP request.

Yet it is possible to enter free text there and variables. If no value is present, the equal sign can be omitted by deselecting the checkbox for "put equals" in the advanced settings.

The http header can also be changed in the advanced settings of the neoload request. A special SoapAction header is necessary in the request header.

After that I added a simple variable extractor to extract the variable result.