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

本文详细介绍了如何使用JMeter 5.2.1的XPath提取器从HTTP响应中提取value值,并将其作为后续请求的输入。通过设置Apply to、XML Parsing Options等参数,结合Bean Shell后置处理器验证提取内容,并在测试过程中解决可能出现的错误。在JMeter的XPath Tester中进行验证,确保XPath查询的正确性。

一、场景

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值