我有一个可以给我html response
的http api,我想对其进行“预览”。
但是其中包含一些javascript代码,如果不执行它们,将无法显示正确的页面。
我目前手动将它们复制并粘贴到一些aaa.html文件中,并使用chrome打开它(file://aaa.html),但是我想简化这些步骤。
反正邮递员有这样做吗?还是有邮递员替代品可以做到这一点?
答案 0 :(得分:5)
邮递员本身可以执行此操作。您将必须使用pm.visualizer
。只需打开您的API请求即可获得HTML响应。然后转到 Test 标签,添加以下行,然后单击 Visualize 标签:
pm.test("set html",function(){
var template=pm.response.text(); // save your html response in the template and then
pm.visualizer.set(template); // set that template to pm.visualizer
})
答案 1 :(得分:0)
Postman 提供了一种可编程的方式来直观地表示您的请求响应。添加到请求测试的可视化代码将在响应正文的可视化选项卡中呈现,以及漂亮、原始和预览选项。
您需要添加到请求的测试中:
var template = pm.response.text();
pm.visualizer.set(template);
并在“可视化”选项卡上查看结果(在“漂亮”、“原始”和“预览”选项之后)。 Postman result HTML with JS and CSS
修复错误:
Refused to load the image 'file:///C:/some.png' because it violates the following Content Security Policy directive: "img-src http: https: data:".
需要在响应正文部分添加HTML标签:
var response = pm.response.text();
var base = '<base href="https://some.domain/">";
var template = response.replace('<head>', '<head>' + base);
pm.visualizer.set(template);
这个答案也解决了这个comment中的问题。
更多信息:
<base>
标签 in MDN Web Docs