如何在Postman中将XML响应的session id存入环境变量?
解决方法
你的问题出在pm.response.text("sessionId")这行代码——pm.response.text()方法不接受参数,它只会返回整个响应的文本内容,所以你才会把完整的XML存进环境变量里。
下面给你两种可行的修正方案:
方案一:利用xml2Json解析后提取属性
xml2Json会把XML转换成JSON结构,你的响应转换后会变成类似{ "session": { "$": { "id": "147xxxx" } } }的格式,直接通过对象路径提取id即可:
var XMLData = xml2Json(responseBody); var sessionId = XMLData.session.$.id; pm.environment.set("sessionId", sessionId);
方案二:用XPath直接提取XML属性
Postman支持直接用XPath查询XML响应,这种方式更直接:
var sessionId = pm.response.xml.get("//session/@id").value(); pm.environment.set("sessionId", sessionId);
任选一种方案替换你原来的代码,就能把147xxxx这个纯id值存入环境变量了。
内容的提问来源于stack exchange,提问作者Christophe
相关产品推荐
相关产品推荐

