Xpath Extractor in JMeter - jmeter

<a class="orange" href="#" id='acctNumLink66'
onclick=submitURLTargetWindowAsync('A_4','AmsServlet.jsp?ni=-1355636085&from=searchPage');> 001010000003666663477Wor suv Recover (400900)
How to extract the "ni" value from the above html response body ? Please guide me.

You won't be able to do this using single alone XPath Extractor, the maximum it will give you is the whole onclick attribute value
once done you can use i.e. Boundary Extractor to extract the ni value from the onclick JMeter Variable
Demo:

Related

Jmeter CSS Selector Extractor

In JMeter, I'm trying to extract the values of property key values using CSS selector extractor, for the attached HTML body
I used the expression #propertySummaryList > div, but not seeing any response in debug sampler.
I would use Boundary Extractor, simpler and faster.
Use parameters:
Left Boundary : propertykey="
Right Boundary: "
Match No.: -1
Allows the user to extract values from a server response using left and right boundaries
Don't post code as image as it's way harder to reproduce your issue
Try out the following selector instead: div[class=propertySummaryList] > div
Demo:
More information:
CSS Selector Reference
How to Use the CSS/JQuery Extractor in JMeter

Use XPath in JMeter to get attribute value

Below is a sample response from JMeter tool.
<input name="requestId" type="hidden" value="-1859748216"/>
I try the following XPath //input[#name='requestId'], but it doesn't work, I would like to take only the numeric value -1859748216
You need to get the value attribute using /#value
//input[#name='requestId']/#value
Prefer using newer/improved XPath2 Extractor over XPath Extractor
If you really want to use XPath, you need something like //input[#name='requestId']/#value
However XPath Extractor is quite resource intensive as it keeps entire DOM in memory, when it comes to getting the values from HTML content I would rather recommend going for CSS Selector Extractor leaving XPath for XML or when CSS Selectors are not powerful enough
Example setup:
More information:
CSS Selectors Reference
How to Use the CSS/JQuery Extractor in JMeter

how to pass dynamic value from one http request to another in Jmeter

How i can pass the value of below from one http request to another in Jmeter ?
code value generate random value at run time.I need to extract the value of code.
var launch_url = "/abc/FileUpload/FileUpload.application?code=" + code;
I explored RegularExpression / CSS Extractor but was not able to fit in my case.
I am extracting the value of Antiforgerytoken like below sample (Screenshot) and it works -
<input type="hidden" name="ctl00$AntiforgeryToken" id="AntiforgeryToken" value="40579e4b-7718-4bb2-abaa-4d98c391fb48" />
but i am not sure how to extract value of code from this ??
var launch_url = "/abc/FileUpload/FileUpload.application?code=" + code;
Considering, You need to get the code value from the URL shown which comes in the response. Please check the below regEx:-
Hope it helps.
You can use the regular expression extractor element of Jmeter and use the below regular expression to capture the token.
id="AntiforgeryToken" value="(.*?)" />

How can we access multiple variables using XPath in Jemter?

I am making scripts using JMeter to perform some tasks in which I want to access first request's response in the second request as a value parameter value using XPath extractor.
For Ex.
Here is my response of the first request in XML format:
<a>
<b>
<c>
<my_details>
<first_name>A</first_name>
<middle_name>B</middle_name>
<last_name>C</last_name>
</my_details>
</c>
</b>
</a>
Now, I want to use first name and last name in the second request's value. For that, I am using XPath extractor to get values from the response as given below:
But I got the response like:
JMeterVariables:
**full_name=A
full_name_1=A**
...
...
__jm__Thread Group__idx=0
__jmeter.USER_TOKEN__=Thread Group 1-1
So, my question is, how can I get the full name using single XPath extractor?
Try to extract "first_name" and last "last_name" separately using XPath extractor , Then use Beanshell post-processor to create Jmeter variable for fullname , Like
vars.put("full_name",vars.get("FIRST NAME JMETER VARIABLE")+" "+vars.get("LAST NAME JMETER VARIABLE"));
I was able to achieve the desired result using the concat() function (https://www.w3.org/2005/xpath-functions/).
I utilized XPath2 Extractor with Xpath query set to:
concat(//my_details/first_name, " ", //my_details/last_name)
This leads to output variable being assigned the value "A C":
Please, note that it is currently advised to use XPath2 Extractor
(https://jmeter.apache.org/usermanual/component_reference.html#XPath_Extractor):

How to take the input for next page by using previous page response in jmeter?

I need to take the input for next page from previous page source.
Previous page source:
In next page I need to pass this departure city as input in URL.
Sample URL:
/findflight?depart=Acapulco
Here I want to pass the Departure city's(previous page) in next page URL.
So, how can I parameterized this in jmeter??
Let me know if anyone need any additional info on this!!
You can use "Post Processor" like "Regular Expression Extractor" or Boundary Extractor and then pass it in the next sampler path as ${varSam}
Below is a sample where I am using Regular Expression extractor to fetch a value and putting it in a variable. So, this is your request from where you have to fetch the departure city.
Here I am passing that variable in the URL
Hope it helps
Add CSS/JQuery Extractor as a child of the request which returns the above HTML
Configure it as follows:
You will get a random city stored as depart variable and will be able to access its value as ${depart} where required
Optionally you can extract all the values by setting "Match No." to -1, this will give you the following variables:
See How to Use the CSS/JQuery Extractor in JMeter for more information if needed
It is resolved by using the Post Processor(Regular expression extractor). Applied this to the page response.
Page response
parameterized this as following:
Request for the next page by using the above parameterized value
Thanks for the help!!

Resources