XPath Extractor的使用

XPath Extractor是另一个可被用来提取页面给定内容的Post Processor,XPath Extractor的使用方式与Regular Expression Extractor类似,只不过需要在该Extractor中指定的不是正则表达式,而是给定的XPath路径。

用xpath从前一个请求中取。这种形式比较适合于返回为xml片段的情况。在需要获得数据的请求上右击添加一个后置处理器-->xPath Extractor。引用名称即下一个请求要引用的参数名称,如填写body,则可用${body}引用它。

Xpath一般用于返回xml用得多。

XPath Extractor的设置界面:

· Main sample only: 只对主 sample 起作用。

· Sub-samples only: 只对子 sample 起作用。

· Main sample and sub-samles: 两种都起作用。

· JMeter Varibale: 这个变量是用于 JMeter的assertion, assertion 会对这个变量的内容起作用。

XPath Extractor的使用_第1张图片

 

l  Use Tidy?:当需要处理的页面是HTML格式时,必须选中该选项,当需要处理的页面是XML或XHTML格式(例如,RSS返回)时,取消选中该选项。

l  Reference Name(引用名称):存放提取出的值的参数。

l  XPathQuery:用于提取值的XPath表达式。

http://www.ruanyifeng.com/blog/2009/07/xpath_path_expressions.html(xpath提示表达式)

l  Default Value:参数的默认值。

举例:-------------------------------------------------------------------------------------------

如果当前请求Post的某一个参数需要获取上一个请求的响应数据值,可以使用XPath Extractor进行处理。

操作步骤:

1,查看上一个请求的响应数据,找到你需要的元素的HTML文本,并转换成XPath获取。

eg:我需要的是这个元素的value值

对应的Xpath=//input[@id = "javax.faces.ViewState"]/@value

引用名称: {TOKEN}
XPath query: //form[@name="userform"]/input[@name="token"]/@value

 

2,在HTTP请求下添加XPath Extractor

3,填写引用名称和Xpath query.

注意如果响应数据为html的注意勾选下面两个选项,添加时默认时不勾选的,不然有可能获取不到元素。

 

 

 

 

 

正则表达式提取器和XPath Extractor的区别

①正则表达式提取器可以用于对页面任何文本的提取,提取的内容是根据正则表达式在页面内容中进行文本匹配;

②XPath Extractor则可以提取返回页面任意元素的任意属性;

③如果需要提取的文本是页面上某元素的属性值,建议使用XPath Extractor;

④如果需要提取的文本在页面上的位置不固定,或者不是元素的属性,建议使用正则表达式提取器。

https://www.cnblogs.com/paulwinflo/p/5632294.html

 

你可能感兴趣的:(XPath,Extractor,jmeter-XPath,Extractor)