Postman - 如何查看带有替换变量的标头和正文数据的请求

问题描述 投票:0回答:8

我正在使用 Postman Chrome 插件来调用 HTTP 请求进行软件测试。我使用 Environments 功能以及环境和全局变量来替换请求标头和正文中的变量。

变量替换工作正常(我可以从 HTTP 服务器的响应中看出这一点)。

但是,我希望能够在变量被替换后看到请求标头和正文值。我怎样才能做到这一点?

postman
8个回答
373
投票

enter image description here 在现代版本中,目前看起来像:

enter image description here


69
投票
更新 2018 年 12 月 12 日 - Chrome 应用程序与 Chrome 插件

- 最新更新位于顶部 随着

Postman Chrome 应用程序

的弃用,假设您现在使用的是 Postman Native App,现在的选项是:

将鼠标悬停在变量上
  1. 生成“代码”按钮/链接
  2. 邮递员控制台
  3. 有关每个选项的完整详细信息,请参阅下文。

就我个人而言,我仍然选择

2)生成“代码”按钮/链接

,因为它允许我查看变量而无需实际发送。 演示请求

Demo Request 演示环境

Demo Environment 1) 将鼠标悬停在变量上

Hover over variables with mouse 2) 生成“代码”按钮/链接

Generate 3) 邮递员控制台

enter image description here

更新:2016-06-03

虽然上述方法确实有效,但实际上,我现在通常使用邮递员请求屏幕上的“生成代码”链接。无论您选择哪种代码语言,生成的代码都包含替换的变量。点击“生成代码”链接速度更快,此外,您可以看到替换的变量,而无需实际发出请求。

原答案如下

要查看 headers 和 body 中替换的变量,您需要使用 Chrome Developer 工具。要从 Postman 中启用 Chrome 开发人员工具,请按照

http://blog.getpostman.com/2015/06/13/debugging-postman-requests

/. 执行以下操作。 我已复制上面链接中的说明,以防将来链接损坏:

    在 Chrome URL 窗口中输入 chrome://flags
  1. 搜索“packed”或尝试找到“启用打包应用程序调试”
  2. 启用设置
  3. 重新启动Chrome
您可以通过右键单击任意位置来访问“开发人员工具”窗口 在 Postman 中并选择“检查元素”。您还可以前往 chrome://inspect/#apps 然后点击下面的“inspect” Postman 标题下的 requester.html。

启用后,您可以使用网络工具选项卡进行更多操作 编写测试时有关您的请求或控制台的信息 脚本。如果您的测试脚本出现问题,它会显示出来 在这里。


35
投票

enter image description here 这应该生成一个片段,其中包含 Postman 正在触发的整个请求。您甚至可以选择代码片段的语言。当我需要调试东西时,我发现它非常方便。

希望这有帮助。


5
投票
https://www.getpostman.com/docs/postman/scripts/postman_sandbox

, IE。 console.log("header : " + request.headers["Content-Type"]); console.log("body : " + request.data); console.log("url : " + request.url);

我没有测试标头替换,但它适用于 url 和正文。

亚历克斯


5
投票

您可以在下面看到日志如何显示数据的片段。

您可以观看上面的视频,了解如何记录自定义信息。

enter image description here


3
投票

0
投票


0
投票

var request = pm.request.body.raw.replace(/\n/g,' ').replace(/\t/g,' '); var html = '''<html> <head> <script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js"></script> </head> <body> <div> <h5>REQUEST</h5> <div> <textarea rows="20" cols="40" style="min-width:700px;min-height:300px" id="copyText"> $$REQUEST$$ </textarea> </div> <button class="copyButton" type="button" data-clipboard-action="copy" data-clipboard-target="#copyText" style="background:green;color:white;"> Copy to clipboard </button> </div> </body> </html> <script> var clipboard = new ClipboardJS('.copyButton'); clipboard.on('success', function (e) { e.clearSelection(); e.trigger.textContent = 'Copiado!'; window.setTimeout(function () { e.trigger.textContent = 'Copy to Clipboard'; }, 2000); }); clipboard.on('error', function (e) { e.clearSelection(); e.trigger.textContent = 'No copiado'; window.setTimeout(function () { e.trigger.textContent = 'Copy to Clipboard'; }, 2000); }); </script>''' var html = html.replace("$$REQUEST$$", request); pm.visualizer.set(html, pm.request)

您还可以将html设置为变量,以使代码更清晰。

© www.soinside.com 2019 - 2024. All rights reserved.