JMeter 5.5中XPath断言出现TransformerException: -1错误的咨询
JMeter XPath断言 TransformerException -1 问题解决方法
常见修复方案
检查响应XML合法性
用“查看结果树”监听器切换到XML视图,确认响应是格式正确的XML。如果有红色语法错误提示(比如标签未闭合、特殊字符未转义),要么修正接口返回的XML格式,要么更换断言类型(比如响应断言)。修正XPath表达式
原表达式//COMMAND/TXNSTATUS/text()='1004031'可能存在语法问题,建议调整为:- 判断节点文本匹配:
//COMMAND/TXNSTATUS[text()='1004031'] - 或者返回布尔值供断言判断:
boolean(//COMMAND/TXNSTATUS/text()='1004031')
同时要注意XML节点名称是大小写敏感的,确认节点名称和实际响应完全一致。
- 判断节点文本匹配:
处理XML命名空间
如果响应XML包含命名空间声明(如xmlns="http://xxx.com"),直接用原表达式会找不到节点。需要:- 在XPath断言的“命名空间”面板添加前缀和对应的URI(比如前缀
ns,URI填XML中的命名空间地址) - 修改表达式为
//ns:COMMAND/ns:TXNSTATUS[text()='1004031']
- 在XPath断言的“命名空间”面板添加前缀和对应的URI(比如前缀
调整XPath断言配置
- 若响应是规范XML,取消勾选“Use Tidy”选项,避免不必要的格式修复导致解析异常
- 确保“Validate XML”选项处于勾选状态,让JMeter先验证XML合法性再执行XPath解析
修正响应编码设置
在HTTP请求的“高级”标签中,设置与接口响应一致的编码(如UTF-8),避免编码不匹配导致解析失败
内容的提问来源于stack exchange,提问作者Mitesh Kumar
相关产品推荐
相关产品推荐

