0


“jmeter使用xpath提取器获取请求响应中的value值作为下一个请求的输入”案例

一、场景

使用jmeter5.2.1的xpath提取器获取请求响应结果中值作为下一个请求的输入,并在Bean Shell后置处理器中编写通过日志打印XPath提取器提取的内容。

二、关键操作及选择

提取内容为请求响应结果中的

<input type="hidden" name="execution" value="a6cd.........................................................">

,需要提取的为value值,提取要后作为下一个请求的输入。

【xpath提取器填写】:

  1. Apply to:选中Main sample and sub-samples
  2. XML Parsing Options:选中Use Tidy(tolerant parser)Quiet
  3. 勾选Return entire XPath fragment of text content?
  4. 引用名称:execution_value_xpath
  5. XPath query: //input[@type="hidden"][@name="execution"]/@value
  6. 匹配数字(0代表随机):-1
  7. 缺省值: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}

三、补充说明

  1. 如遇到日志中报错:Error invoking bsh method

请注意检查编写的Bean Shell后置处理程序:大小写,标点符号使用是否准确。

  1. 关键参数说明

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后置处理器


本文转载自: https://blog.csdn.net/weixin_46662419/article/details/125847981
版权归原作者 信号a 所有, 如有侵权,请联系我们删除。

““jmeter使用xpath提取器获取请求响应中的value值作为下一个请求的输入”案例”的评论:

还没有评论