一、场景
使用jmeter5.2.1的xpath提取器获取请求响应结果中值作为下一个请求的输入,并在Bean Shell后置处理器中编写通过日志打印XPath提取器提取的内容。
二、关键操作及选择
提取内容为请求响应结果中的
<input type="hidden" name="execution" value="a6cd.........................................................">
,需要提取的为value值,提取要后作为下一个请求的输入。
【xpath提取器填写】:
- Apply to:选中Main sample and sub-samples
- XML Parsing Options:选中Use Tidy(tolerant parser)和Quiet
- 勾选Return entire XPath fragment of text content?
- 引用名称:
execution_value_xpath
- XPath query:
//input[@type="hidden"][@name="execution"]/@value
- 匹配数字(0代表随机):
-1
- 缺省值:
execution_value_xpath not found
【Bean Shell后置处理程序】:
String e = vars.get("execution_value_xpath");
log.info("使用xpath提取登录响应中的execution_value为:"+e);
运行后在日志中就会显示提取到的具体数值(可用于判断是否达到提取的目的)。
用于判断是否达到提取目的方法二:
在查/察看结果树页面切换Text为Xpath Tester,在XPath query中输入提取器中使用的XPath query,按照xpath提取器选项选择相关信息,然后点击右侧的Test,查看匹配的结果。
【下个请求中应用】
${execution_value_xpath}
三、补充说明
- 如遇到日志中报错:
Error invoking bsh method
请注意检查编写的Bean Shell后置处理程序:大小写,标点符号使用是否准确。
- 关键参数说明
Apply to:作用范围(返回内容的断言范围)
Main sample and sub-samples:作用于父节点的取样器及对应子节点的取样器
Main sample only:仅作用于父节点的取样器
Sub-samples only:仅作用于子节点的取样器
JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称)
XML Parsing Options:要解析的XML参数
UseTidy:当需要处理的页面是HTML格式时,必须选中该选项;如果是XML或XHTML格式(例如RSS返回),则取消选中;
Quiet表示只显示需要的HTML页面,
Report errors表示显示响应报错,
Show warnings表示显示警告;
Use Namespaces:如果启用该选项,后续的XML解析器将使用命名空间来分辨;
Validate XML:根据页面元素模式进行检查解析;
Ignore Whitespace:忽略空白内容;
Fetch external DTDs:如果选中该项,外部将使用DTD规则来获取页面内容;
Return entire XPath fragment of text content:返回文本内容的整个XPath片段;
Reference Name:存放提取出的值的参数。
XPath Query:用于提取值的XPath表达式。语法参考:XPath
匹配数字:取第几个匹配结果,0随机,-1全部,1代表第一个,2代表第二个,…以此类推
Default Value:参数的默认值。
参考文献:Jmeter后置处理器
版权归原作者 信号a 所有, 如有侵权,请联系我们删除。