跳到主要内容

如何校验编码/加密后的响应数据?

问题描述:某个 API 定义内指定的返回响应是 JSON 格式,但服务器实际返回的是 Base64 编码后的字符串,此时“校验响应”功能会提示响应不符合接口定义并报错。

解决方案:为了解决此问题,你可以在后置脚本中添加自定义脚本,将 Base64 解码为 jsonString,并且使用 pm.response.setBody(jsonString) 而非 pm.response.body = jsonString 语法。

示例代码:

var cryptoJs = require("crypto-js");
var response = pm.response.text();
var intermediate = cryptoJs.enc.Base64.parse(response);
var jsonString = cryptoJs.enc.Utf8.stringify(intermediate);

pm.response.setBody(jsonString);

然后再添加提取断言步骤,确保能够通过校验响。