Existing Stopped From Running in Loadrunner

Existing Stopped From Running in Loadrunner,While working with Loadrunner Controller you will face some of the problems like this type of issues.You will not able to identify why error is displaying while running scripts in Loadrunner Controller with load generators.

Existing stopped from running in loadrunner
EXISTING STOPPED FROM RUNNING IN LOADRUNNER

Also Read:

Loadrunner REST API testing.
lr_xml_find examples.
Design Goal oriented Scenario- Controller
Loadrunner Actions

Existing Stopped From Running in Loadrunner

You will face this type of issues in Loadrunner Controller because of below activities,those are

1.Using Loadrunner old versions.
2.HP UFT is installed after installing HP Loadrunner.
3.Installing HP Loadrunner after installing HP UFT.
4.Hp Loadrunner and HP UFT versions are not matching like UFT 11.50 and Loadrunner 12.50.
5.Your C drive space is very less.

Solution to Resolve:

I have faced this type of problems while working with Loadrunner Controller for Web-services Scripting ,not able to identify what is the issue actually,while running scripts all the Vusers are not getting stopped and not able to stop the Vusers manually because Stop button is in disable mode.All the Vuser are stopped under Existing Status but still script is executing in case Duration is completed i.e Specified Time is completed ex:10 minutes.

Note : While You are facing this type of issues,immediately you need to check your C drive 
space,if you want to run your script perfectly with out any problems in Controller then your 
C drive should have above 1 GB space.

In this situation when i trying to open Analysis controller giving error message as Not enough space in C with some path,then i understood ,immediately i have deleted some unimportant software's and deleted unimportant files in C drive then My disk space is becomes 2 GB,Then i have restarted the Scenario in Controller,it's a miracle it was working fine with out any error messages,alerts etc.

Thank you for Reading ,please share this post in social media so that many people can read and get solution for "Existing Stopped From Running in Loadrunner".Please provide your valuable comments on this post.

warning The string with parameter delimiters is not a parameter

warning The string with parameter delimiters is not a parameter in loadrunner while executing the virtual user scripts for web-services with parameterization. I have created the script for web services and executed with out parameterization then it was working fine,when i execute the test script with parameter values then in Results summary execution showing error message as "warning: The string 'xxxxxx' with parameter delimiters is not a parameter."

warning The string with parameter delimiters is not a parameter

In order to resolve this type of errors in loadrunner scripts,you have to follow below steps.

1.After creation of your script should execute with out parameterization values like {results_one}.
2.While creating parameterization values syntax should be as expected as "{parameter value}".
3.Modify Loadrunner Run time Settings as per iterations.
4.Verify duplicate parameter name for multiple different values.

Resolution:

When i am facing this problem simply i have recorded the script in another action and created new parameter names with separate csv file ,then miracle it is working or  test execution is working fine.That is the reason we have check our script first then we can go for search.

Also Read:

lr_xml_find examples
Loadrunner Actions
Create a script for REST API
Design Goal Oriented Scenarios
Loadrunner Web Services Scripting

Transactions in Loadrunner

Transactions in Loadrunner is classified into two types start and End transactions which is useful in identifying the response time taken for particular iterations or particular Actions for VUGen scripts. In my previous post you have learn web services scripting and Rest API scripting with examples,please read once for more information.

MY BLOG POSTS HAS BEEN MOVED TO NEW WEBSITE,PLEASE VISIT LOADRUNNER TUTORIALS WITH REAL TIME EXAMPLES


Thank you for reading,pleases share this post with different social media so that many people will get knowledge.

REST API Services Testing using loadrunner

REST API Services Testing using loadrunner,rest api services uses web http/html protocol while creating REST API Services scripts using virtual user generator,which is a loadrunner component.Most of the companies are using REST API services in order provide better security in customer data,fast execution for communication between
multiple applications.

Please read Complete Loadrunner Tutorial

[embed]https://youtu.be/jYlUPEC1WfE[/embed]

REST API Services Testing using loadrunner


In this post we will create REST API Services script in Virtual User Generator i.e VUGen,Please follow below steps to create script for REST API services using VUgen.

Steps:


1.REST API URL
2.Which Protocol should use
3.What is the input parameters
4.What is the output Response
5.Content- Type
6.Method - GET,POST,DELETE etc.

Once you know all above details then it is easy to create the script with the help of below simple syntax ,plesae use below syntax for all rest api services for load testing.
web_custom_request("Card_validation",
"URL=http://ipaddress:portno/cardApi/api1/card/linkcard",
"Method=POST",
"Resource=0",
"EncType=application/json",
"Mode=HTTP",
"Body="Body={\"cardNo\":\"9898989898989898\",\"cardType\":\"CreditCard\",\"MobileNo\":\"1111111111\"}",
LAST);

CODE Explanation:


As you see above code i have used web_custom_request() function which is allow users to create custom HTTP request with any useful method(POST,GET,DELETE etc)

1.Card_validation : Request Name

List of Resources:


URL
Method
Resource
EncType
Mode
Body

Method=POST:


As based on above resources we will create REST API Services scripting as you see "Method=POST" which is posting the values to database,in case you want to get the details from the database then you can use "Method=GET".

EncType=application/json:


As i have used application/json because content-Type of REST API service is developed with Media Type,as REST API Services has below Media Types,those are

1.application/json
2.application/xml
3.text/xml
4.multipart/form-data
5.multipart/mixed

Most of the REST API services are developed with application/json,application/xml and text/xml media types,this one provided by developer.

Mode=HTTP:


As i mention in first paragraph REST API service is developed with HTTP protocol for data transfering to multiple systems.While creating the REST API script you need to select
Web-HTTP/HTML protocol.

Body:


Body resource which contains input request parameters as i written in above script.The main rest api input request is as below
{
"cardNo":"9898989898989898",
"cardType":"CreditCard",
"MobileNo":"1111111111"
}

You can write above input request into below code in order to mention in Body resource.Please check below code.
"Body={\"cardNo\":\"9898989898989898\",\"cardType\":\"CreditCard\",\"MobileNo\":\"1111111111\"}"

LAST:


LAST argument which tells a market which indicates the end of the field list.This total web_custom_request() function returns LR_FAIL(1) or LR_PASS(0) on successful and on failure of web_custom_request()
function execution.

Parameterization:


We can perform Parameterization for input parameters as we mention in Body ,Please read Correlation in loadrunner post,you will get clear idea about manual and automatic correlation for any script whether it could be a web request,rest api or Web-Services.

Thank you for reading,i hope you got good knowledge about REST API Services Testing using loadrunner,please provide your valuable comments and suggestions on this post.

Extrares in Loadrunner

Extrares in Loadrunner which generates while recording WEB-HTTP/HTML protocol applications i.e web applications. Extrares records all available resources for each and every particular web url for example http://www.wikishown.com. We will see Extrares with examples and how it impact the response time of your web applications.

Extrares in Loadrunner


What is Extrares in Loadrunner,While generating or recording the test scripts in VUGen (Virtual User Generator) records each and every web url and in order to load that particular url it will check what are the extra files are associated with particular web url. As Extrares loads see below recorded code for more information.
web_url("wikishown", 
"URL=http://www.wikishown.com",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t8.inf",
"Mode=HTML",
EXTRARES,
"Url=images/bb_h_img2.jpg", ENDITEM,
"Url=images/bb_h_img1.jpg", ENDITEM,
"Url=images/bb_h_img3.jpg", ENDITEM,
"Url=images/loadingAnimation.gif", ENDITEM,
"Url=../favicon.ico", "Referer=", ENDITEM,
LAST);

EXTRARES recording all available images,java-script,j query, css files before loading the particular URL or pages in Virtual User Generator and while executing the Action first of all it will load all available resources i.e images,css etc files then it move to next step for execution,Here you will face problems for downloading resources because some time VUGen takes more time ,some time takes less times.

What should do in case Timeout for downloading resources


You can take below following below steps in order to overcome the problems,those are

1.Comment the EXTRARES in the script.
2.Increase Step download Timeout(Sec).
3.You can use web_set_timeout() function.

In case EXTRARES are commented while executing the Test script then it is not possible to estimate or calculate average response time for application transactions.It will look like below with comments.As per below script EXTRARES will not load and it will execute the step successfully.
web_url("wikishown", 
"URL=http://www.wikishown.com",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t8.inf",
"Mode=HTML",
/*EXTRARES,
"Url=images/bb_h_img2.jpg", ENDITEM,
"Url=images/bb_h_img1.jpg", ENDITEM,
"Url=images/bb_h_img3.jpg", ENDITEM,
"Url=images/loadingAnimation.gif", ENDITEM,
"Url=../favicon.ico", "Referer=", ENDITEM, */
LAST);

Step Download Timeout


Step download Timeout is one of the run time setting menu under Internet Protocols,please read Step Download Timeout(Sec) post for more details.Coming to third point you can use web_set_timeout("STEP","") function to increase the timeout before web_url() in order to specify more time for downloading available resources.The script looks like below with web_set_timeout().
web_set_timeout("STEP","60");
web_url("wikishown",
"URL=http://www.wikishown.com",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t8.inf",
"Mode=HTML",
/*EXTRARES,
"Url=images/bb_h_img2.jpg", ENDITEM,
"Url=images/bb_h_img1.jpg", ENDITEM,
"Url=images/bb_h_img3.jpg", ENDITEM,
"Url=images/loadingAnimation.gif", ENDITEM,
"Url=../favicon.ico", "Referer=", ENDITEM, */
LAST);

Let's understand the line web_set_timeout("STEP","60") ,here STEP indicates Time–out on each VuGen step ,indicates on which step timeout should apply.
STEP - indicates on which step timeout should apply
60 - Indicates how many seconds.

I hope you got good information on Extrares in Loadrunner,in case you like my post please provide your valuable comments and suggestions.Thank you for reading my website.

Error: -27751: Step download timeout (120 seconds) has expired

Error: -27751: Step download timeout 120 seconds has expired downloading resource,While working with HTTP/HTML protocols or web applications you will face some problems while executing the test scripts in loadrunner - VUGen component.The following error message gives you when web_set_url(url name) downloading the required resources which could be as follow,those are declare or recorded in EXTRARES as below

Error: -27751: Step download timeout 120 seconds has expired


web_url("bigbazaar", 
"URL=http://wikishown.com/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t8.inf",
"Mode=HTML",
EXTRARES,
"Url=images/bb_h_img2.jpg", ENDITEM,
"Url=images/bb_h_img1.jpg", ENDITEM,
"Url=images/bb_h_img3.jpg", ENDITEM,
"Url=images/loadingAnimation.gif", ENDITEM,
"Url=../favicon.ico", "Referer=", ENDITEM,
LAST);

In order to execute web_url() successfully Virtual User generator first downloads EXTRARES and it start execute the web_url() function ,in case downloading time completed as per setting then you will error message in reply log as

Error: -27751: Step download timeout (120 seconds) has expired when downloading resource

Resource downloading default time is 120 seconds,you can change resource downloading settings in Run time settings,please follow below steps to change resource
downloading time settings.

STEP 1 : Open Run Time Settings.
STEP 2 : Go to Internet Protocol - Preferences.

[caption id="attachment_1020" align="aligncenter" width="561"]Error: -27751: Step download timeout (120 seconds) has expired Preferences Options[/caption]

STEP 3 : Click on Options button on preferences window.
STEP 4 : Just scroll down to General - Step Download Timeout (secs) here default time is 120 seconds.You can change it to your desired value.
STEP 5 :Click on OK and again Click on OK button

In case you want to set timeout value in script itself then you can use web_set_timeout() function to increase time limit in script for downloading resources as below

web_set_timeout()


The function which works to wait until given time to CONNECT,RECEIVE OR STEP to complete particular action.
web_set_timeout("STEP","60");

After setting the time increased limit,now try to run your script in VUGen ,you will not face any problems while downloading the resources and test script will run successfully with out any problem.Please provide your valuable comments on this posts, so that i will know that you got solution.

PREVIOUS TOPIC

lr_xml_extract example

lr_xml_extract function extract particular value or total XML details from a String,lr_xml_extract example provides complete real time examples to work with different load testing scripts in your real time projects.

Loadrunner Articles: LR_XML_FIND function Examples

What is lr_xml_extract?


lr_xml_extract function extract or retrieve the value from a XML which could be input parameters or it could be XML response/Results.We can say this function extract the XML pieces you can say particular data from a String.In this post i am taking SOAP web-services example to extract value from a XML why because web services are designed in the form of XML form.

Syntax


lr_xml_extract([<XML input string>] ,[<XML Parameter>] ,[<XML Query>],[LAST]);

Example:


lr_xml_extract("XML={CreateFlightOrder_101}","XMLFragmentParam=Result","Query=CreateFlightOrderResult/TotalPrice",LAST)

1.XML Input String: It is the string indicates from which XML fragments results or input parameters should take or identify.
Example : XML={CreateFlightOrder_101}

2.XML parameters: In this specifications we are going to save the results as per Query i.e XMLFragmentParam=Result,Here i am saving XML query results into Result parameter and displaying those string values with the help of lr_output_message function.

3.XML Query : It is very important to write the query for XML fragment whether this could be for Input parameter or it could be for XML response.You can write XML Query as per your requirement ,most of the time we are writing the query in order to verify the value in XML Response to validate the same.
Example : Query=CreateFlightOrderResult/TotalPrice

4.LAST : lAST it is giving two results one is if Query is satisfied then it will give you the results as PASS from LR_PASS and in case XML Query is not satisfied then it will give you results as FAIL from LR_FAIL.

lr_xml_extract example


Please understand below example ,here i am using Web Services Scripting,in case you want to learn Web Services Scripting please read my article.Let's see the below example.

Create Flight Order Request:


Below are the SOAP Web Services XML Requests and Response.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hp="HP.SOAQ.SampleApp">
<soapenv:Header/>
<soapenv:Body>
<hp:CreateFlightOrder>
<hp:FlightOrder>
<hp:Class>Economy</hp:Class>
<hp:CustomerName>Rajesh Kuchana</hp:CustomerName>
<hp:DepartureDate>2016-12-17</hp:DepartureDate>
<hp:FlightNumber>1089</hp:FlightNumber>
<hp:NumberOfTickets>1</hp:NumberOfTickets>
</hp:FlightOrder>
</hp:CreateFlightOrder>
</soapenv:Body>
</soapenv:Envelope>

Create Flight Order Response


<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<CreateFlightOrderResponse xmlns="HP.SOAQ.SampleApp">
<CreateFlightOrderResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<OrderNumber>50</OrderNumber>
<TotalPrice>196</TotalPrice>
</CreateFlightOrderResult>
</CreateFlightOrderResponse>
</s:Body>
</s:Envelope>

Now if you want to extract <TotalPrice>196</TotalPrice> then you can write XML Query as below
Query=CreateFlightOrderResult/TotalPrice

CreateFlightOrderResult : Starting opening tag under this tag TotalPrice value is displaying
TotalPrice : This is the value we want to extract from XML response.

You can write for other value i.e <OrderNumber>50</OrderNumber>
Query=CreateFlightOrderResult/OrderNumber

Then it will print the results as <OrderNumber>50</OrderNumber>

Loadrunner Web-Services Script:


I have recorded this script with the help of WebServices protocols and as per above XML Query path prepared lr_xml_extract function.
Action()
{
lr_start_transaction("01_CreateFlightOrder");
web_service_call("StepName=CreateFlightOrder_101",
"SOAPMethod=HPFlights_Service|FlightsServiceMethods|CreateFlightOrder",
"ResponseParam=response",
"Service=HPFlights_Service",
"ExpectedResponse=SoapResult",
"Snapshot=t1477884670.inf",
BEGIN_ARGUMENTS,
"xml:FlightOrder="
"<FlightOrder>"
"<Class>Economy</Class>"
"<CustomerName>Rajesh Kuchana</CustomerName>"
"<DepartureDate>2016-12-17</DepartureDate>"
"<FlightNumber>1089</FlightNumber>"
"<NumberOfTickets>1</NumberOfTickets>"
"</FlightOrder>",
END_ARGUMENTS,
BEGIN_RESULT,
"CreateFlightOrderResult/OrderNumber=Param_OrderNumber",
"CreateFlightOrderResult/TotalPrice=Param_TotalPrice",
END_RESULT,
LAST);

//Extract the value using lr_xml_extract function
lr_xml_extract("XML={CreateFlightOrder_101_Response}",
"Query=CreateFlightOrderResult/TotalPrice","XMLFragmentParam=Result",LAST);

//Print the Results with the help of lr_output_message() function
lr_output_message(lr_eval_string("Extracted Value is :-{Result}"));

lr_end_transaction("01_CreateFlightOrder",LR_AUTO);

return 0;
}

Once you run above script VuGen displays all your each and every step details in ReplyLog and XML Response,lr_xml_extract function results as below.

Output:


Action.c(4): Notify: Saving Parameter "CreateFlightOrder_101_Response = <CreateFlightOrder><CreateFlightOrderResult><OrderNumber>54</OrderNumber><TotalPrice>196</TotalPrice></CreateFlightOrderResult></CreateFlightOrder>".
Action.c(4): Notify: Saving Parameter "response = <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><CreateFlightOrderResponse xmlns="HP.SOAQ.SampleApp"><CreateFlightOrderResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><OrderNumber>54</OrderNumber><TotalPrice>196</TotalPrice></CreateFlightOrderResult></CreateFlightOrderResponse></s:Body></s:Envelope>".
Action.c(4): Notify: Saving Parameter "Param_OrderNumber = 54".
Action.c(4): Notify: Saving Parameter "Param_TotalPrice = 196".
Action.c(4): Web service call "CreateFlightOrder_101" was successful
Action.c(30): Notify: Parameter Substitution: parameter "CreateFlightOrder_101_Response" = "<CreateFlightOrder><CreateFlightOrderResult><OrderNumber>54</OrderNumber><TotalPrice>196</TotalPrice></CreateFlightOrderResult></CreateFlightOrder>"
Action.c(30): Notify: Saving Parameter "Result = <TotalPrice>196</TotalPrice>".
Action.c(30): "lr_xml_extract" succeeded, 1 match processed
Action.c(32): Notify: Parameter Substitution: parameter "Result" = "<TotalPrice>196</TotalPrice>"
Action.c(32): Extracted Value is :-<TotalPrice>196</TotalPrice>
Action.c(34): Notify: Transaction "01_CreateFlightOrder" ended with "Pass" status (Duration: 1.8496 Wasted Time: 0.3214).

[caption id="attachment_995" align="aligncenter" width="569"]Reply Summary Reply Summary[/caption]

What have you Learned?


1.What is lr_xml_extract function
2.lr_xml_extract example
3.How to extract value using lr_xml_extract
4.How to print output message using lr_output_message.

Please provide your valuable comments on this post and as well as provide your suggestions,in case you like my post please share it to different social networking sites.