如何将xml作为Json属性在poster中传递



我正在尝试用Postman编写一个非常简单的测试。我有两个URL,第一个URL获取一些XML文件,然后将其作为预脚本部分存储在Postman variable中。第二个URL使用此响应并发送另一个Post请求。

但在成功地从xml中获得结果后,不知何故poster并没有通过这个请求,而是给出了400。

pm.environment.set('RandomNumber',  "cot"+Math.floor(Math.random() * 1000));
pm.sendRequest("https://test/metadata.xml", function (err, response) {
pm.environment.set('**RandomURLText**', response.text());
});

RandomURLText变量存储第一个请求的值。

第二个请求正文参数如下代码所示。

**{
"idPType": "Test",
"dontShowProgress": true,
"dontIncludeRequestedAuthnContext": true,
"nameIDFormat": "run:SAML:2.0:nameid-format:transient",
"sigAlg": "http://www.w3.org/2001/04/xmldsig-more#rsa-a",
"metadata": {
"idpXml": "{{RandomURLText}}"
}
}**

有没有功能邮递员可以转换这个xml响应数据。因为第二个请求在添加xml类型数据时说400。但当我把这个responsetext替换为hello时,它就起作用了。

这意味着xml类型的数据有问题,可能是转义字符。

有人能帮我吗?

感谢

自己找到了答案,它起作用了。只需要解析成字符串,并需要从正文中删除引号。

pm.environment.set('RandomURLText',JSON.stringfy(response.text((((

**{"idPType":"测试","dontShowProgress":true,"dontIncludeRequestedAuthContext":true,"nameIDFormat":"run:SAML:2.0:nameid format:transient","sigAlg":"http://www.w3.org/2001/04/xmldsig-more#rsa-a","元数据":{"idpXml":{{RandomURLText}}}

}**

感谢

最新更新