Bean shell script to validate and use correlation values by setting the ordinal value to all.

Below is the bean shell script which will pick the store id if its stock level is in-stock.

Create two correlation parameters named C_StoreID    & C_StockAvail and get all their values from the response by setting Match.No = -1.

Now C_StoreID_matchNr is the jmeter variable which will have the total count of the store id's that we were found.

C_StockAvail will have three different values that are "in-stock" , "Limited", "out of  stock" and here we will use the "in-stock" value and get the stores associated with it.


Handling Parent request sampler failure due to redirect failures in Jmeter

Consider a situation in which your parent request is redirecting to lot of other requests and in that one of the redirected request fails. On analyzing using the developer tools you find out that that particular redirect is failing even manually. But the problem with Jmeter is that it will mark the Parent request as failed when one of the redirect fails and this has to be handled by validating only the response of the parent request, as this is not an issue with the script.

Most people will handle this by adding the response assertion and just enable the "Ignore status". But this approach is wrong, as this will make the parent sampler request "Pass" even if the parent sampler request itself fails.

The correct approach to handle this is, to validate the response code of the parent sampler request and ignore the status of the failed redirect request.

Add a Response Assertion to the request which is failing due to redirects and set the below options

Apply to         --> Main sample only

Field to Test         --> Response Code

Field to Test         --> Enable "Ignore Status"

Pattern Matching Rules --> Equals

Patterns to Test         --> Click Add & Enter '200'



Write the Jmeter parameter values to a text file

Below is the BeanShell Script to write the Jmeter parameter values to a text file.

Create a Jmeter Script and Add-->Sampler-->BeanShell Sampler

Code Snippet:

String FailedUser = vars.get("P_UserID"); //Save the parameter that has to be written to a variable

f = new FileOutputStream("[Folderpath]/output.txt", true); //Path of the text file in which to write the parameter

p = new PrintStream(f); //open the text file to write

this.interpreter.setOut(p);

print(FailedUser); //Write the failed users to the text file

print(FailedUser+","+FailedUser); //optional step to print multiple comma separated variables

f.close(); // close the text file