我已经设置了ChromeLogger、浏览器扩展和后端库,它们运行良好。
但是我正在开发一个我在 Postman 中测试的 API,而不是在浏览器中,所以我想在控制台或响应预览中的某处看到相同的调试日志。
有没有办法在 Postman 中安装扩展,和浏览器扩展一样?
我已经设置了ChromeLogger、浏览器扩展和后端库,它们运行良好。
但是我正在开发一个我在 Postman 中测试的 API,而不是在浏览器中,所以我想在控制台或响应预览中的某处看到相同的调试日志。
有没有办法在 Postman 中安装扩展,和浏览器扩展一样?
在阅读了这篇解释调试日志如何在标头中编码的文章后,我想我可以在 Postman 中编写一个响应后“测试”来解压标头并将其记录到 Postman 控制台中。
这篇 Postman 文章解释了如何通过编辑测试套件本身或文件夹来全局设置“测试”,因此您可以使这项工作非常像扩展,而无需将其添加到每个请求中。单击测试套件旁边的“...”省略号,单击编辑,选择测试选项卡并在下面输入 JavaScript 代码。
如评论中所述,我尝试了三种输出数据的方法,每种方法都有其优点和缺点。
// Decode any ChromeLogger data
var chromelogger = postman.getResponseHeader("X-ChromeLogger-Data");
if(chromelogger){
chromelogger = JSON.parse(atob(chromelogger));
if(chromelogger){
// Native objects - well structured, but you have to expand all the rows every time... tedious!
//console.log(chromelogger);
// Raw JSON - always visible but can be hard to read
// console.log(atob(postman.getResponseHeader("X-ChromeLogger-Data")));
// For known structures, you can display it yourself
chromelogger.rows.forEach( row => {
console.log(row[1]); // display source line
row[0].forEach(log => {
console.log(log);
})
})
}
}
现在,当您运行任何测试时,所有 Chromelogger 调试都会显示在 Postman 控制台中。