Check returned values through a database
In this scenario, a user executes a an action which returns a response. The goal of this scenario is to validate the response against expected values.
The expected values are stored in a database. The script fetches the expected results from a database and then compares them with the actual response.
The following table shows a typical flow of a Web Service protocol script. You can employ a similar flow for other protocols.
|
Step
|
API function
|
|---|---|
|
Connect to database
|
lr_db_connect (in vuser_init section)
|
|
Web Service call
|
web_service_call with Result=<result_param>
|
|
Execute an SQL query
|
lr_db_executeSQLStatement
|
|
Retrieve the expected data
|
lr_db_getvalue to <param_name>
|
|
Validate the data
|
soa_xml_validate with an XPATH checkpoints.
|
|
Disconnect from database
|
lr_db_disconnect (in vuser_end section)
|
For more information, see the Function Reference.
The following example illustrates a typical validation of data returned by a Web Service call. The validation step compares the actual expected results:
Action()
{
web_service_call( "StepName=GetAddr_102",
"SOAPMethod=AddrBook|AddrBookSoapPort|GetAddr",
"ResponseParam=response",
"Service=AddrBook",
"ExpectedResponse=SoapResult",
"Snapshot=t1227172583.inf",
BEGIN_ARGUMENTS,
"Name=abcde",
END_ARGUMENTS,
BEGIN_RESULT,
END_RESULT,
LAST);
lr_db_executeSQLStatement("StepName=MyStep",
"ConnectionName=MyConnection",
"SQLQuery=SELECT * FROM Addresses WHERE name = 'abcde' ",
"DatasetName=ds1",
LAST);
lr_db_getvalue("StepName=MyStep",
"DatasetName=ds1",
"Column=Name",
"Row=current",
"OutParam=CustomerName",
LAST);
soa_xml_validate ("StepName=XmlValidation_1146894916",
"Snapshot=t623713af7a594db2b5fef43da68ad59d.inf",
"XML={GetAddrAllArgsParam}",
"StopOnValidationError=0",
BEGIN_CHECKPOINTS,
CHECKPOINT,"XPATH=/*[local-name(.)='GetAddr'][1]/*[local-name(.)='Result'][1]/*[local-name(.)='name'][1]","Value_Equals={CustomerName}",
END_CHECKPOINTS,
LAST);
return 0;
}

