我正在尝试用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}}}
}**
感谢