一、前言
有时API会出现不起作用,或者表现出意外的情况,如果没有得到任何响应,Postman将显示如图所示的信息:
Postman控制台里面有产生错误的可能原因的详细信息,使用Postman控制台后,可以大大减少排除故障所需的时间。在排错API请求报错信息时,应考虑已下问题。
二、连接问题
如果Postman无法连接到你的服务器,它将显示“Could not get any response”提示消息。通常,检查是否有连接性问题的比较简单的方法是在浏览器中输入服务器地址。如果在浏览器中能打开它,那么可能的原因如下:
(1)防火墙的问题。一些防火墙可能被配置成屏蔽非浏览器连接,在这种情况下,尝试关闭防火墙,然后再试试Postman是否可以正常工作。
(2)代理配置的问题。如果正在使用代理服务器发出请求,请确保正确地配置了它。在默认情况下,Postman使用在操作系统网络设置中配置的代理设置。Postman控制台可以提供关于代理服务器的调试信息。
(3)SSL证书的问题。当使用HTTPS连接时,Postman可能会显示“Could not get any response”提示信息。在这种情况下,可以尝试在Postman设置中关闭SSL验证。如果关闭SLL验证仍然无法解决问题,服务器可能正在使用客户端SSl连接。这也可以在Postman设置中配置,使用Postman控制台确保将正确的SSL证书发送到服务器。
(4)客户端证书的问题。此服务器可能需要客户端证书,用户可通过在Postman设置中添加客户端证书来解决这个问题。
(5)错误的请求URL。如果在请求中使用了变量,请确保该变量是在全局变量或当前环境变量中定义的。否则获取不到请求变量,可能会引起服务地址无效,从而导致请求失败。
(6)使用不正确的协议。检查是否意外的在URL中使用“https://”而不是“http://”。
(7)无效的Postman行为,有时候,Postman可能会向API服务器发出无效的请求,用户可以通过检查服务器日志来确定认这一点。如果发现Postman的运行不正常,没有按照预期的方式工作,请和Postman官方联系。
三、超时设置太短
如果在Postman中配置一个非常短的超时,例如,如图
中将请求超时时长设置为10ms,当请求响应的时长超过10ms时,Postman将认为未收到请求响应(也许在11ms的时候就返回了响应,但是Postman已不再监听)从而导致出现如图的提示信息:
尝试增加超时时长可以避免这个问题。一般来说,保持默认设置即可。
四、无效的响应
如果服务器发送不正确的响应,如编码错误或无效的Header。Postman将无法解析响应,从而导致出错。
如果API仍然不能正常工作,那么可以尝试去Postman社区或Stack Overflow中找帮助。
如果尝试排除某故障但失败了,请在GitHub上搜索Postman问题跟踪器,以检查是否有人已经报告了这个问题,以及是否有可以使用的解决方案。
五、日志和排错
Postman控制台类似于浏览器的开发控制台。如果API或API测试的行为未达到预期的结果,打开Postman控制台是个不错的想法。只要控制台窗口是打开的,所有的API活动都将被记录在这里,用户可查看到底发生了什么。
Postman控制台记录已下信息:
- 发送的实际请求,包括所有基本请求头和变量值等。
- 服务器在由Postman处理之前发送的精确响应。
- 用于请求的代理配置和证书。
- 来自测试或预请求脚本的错误日志。
- 脚本中console.log()返回值。
在脚本中适当位置使用console.info()或console.warn可以帮助用户提取正在执行的代码行。使用方法与在JavaScript中使用console.log()方法类似。
(1)DevTools控制台日志
要访问控制台日志,请遵循以下步骤(适用于Mac OS、Windows、Linux等操作系统的Postman本机应用程序)
- 在应用程序菜单中选择“View”------》“Show DevTools”命令。
- 在“DevTools”窗口中(如图所示),打开顶层控制台选项卡,其中将显示应用程序的调试日志。
(2)适用Postman控制台进行网络调用
在应用程序菜单中选择“View”------》“Show Postman Console”命令或使用快捷键(“CMD/Ctrl+Alt+C”组合键)。类似于“Developer Tools”窗口,每个请求连同它的Headers和Payloads将被记录到(如图所示)中的Postman控制台。