接口不通排查方法
接口测试中经常遇到接口调不通的情况,有时候令人抓狂,但是又无能为力......
通常接口调不通有两种情况:1 接口没有任何反应,; 2 接口有响应但是返回了错误的状态码
下面来看看怎么入手解决接口不通的问题:
接口没有任何响应
- 先检查接口地址,端口拼写是否正确:
如果接口地址,端口拼写正确的话进行下一步 - ping下地址是否是通的:
可以通过ping目标地址,ip地址检查ip网络是否是正常的,如果网络没有问题检查下端口是否正确
ping ip
- 检查端口号是否正确:
使用命令 telent ip port 检查端口能否联通
linux查看端口占用情况:-->连接地址 - 检查项目是否启动,部署成功;
通过ps命令查看项目进程是否存在,然后用tail命令查看日志信息;或者方便的话直接找研发确认
linux查看进程,杀掉进程:-->连接地址 - 检查服务器服务器防火墙是否关闭:
如果因为安全或者权限问题不能关闭,需要找测试经理或者运维进行策略配置,开放对应的ip或者端口号
linux查看ip端口是否被墙 - 检查客户端(浏览器/测试工具):
是否设置了网络代理,网络代理可能会造成请求失败 - 检查操作系统的host文件:
检查host文件是否绑定可一个错误的ip映射
hosts文件是记录主机名与IP地址的映射关系:
-->C:\Windows\System32\drivers\etc\hosts windows(需要修改操作权限才能修改一般是只读)(印象深刻的:在某项目中调用三方流程平台的接口,无法访问的问题)
-->/etc/hosts mac、linux
接口有响应但是返回了错误的状态码
- 400:客户端请求错误
请求参数问题:比如参数格式错误。 - 401:未授权
比如header里面缺少必要的消息头 - 403:禁止
常见的原因就是因为对应的账号没有对应的url访问权限 - 405:方法不允许
请求方式不真确,比如post请求方式用了get请求方式 - 415: 不支持的每题类型
请求数据的类型和服务端不匹配 表单/json/... - 500: 服务器内部错误
说明服务器内部错误了,远程连接到服务器,查看日志,根据日志提示信息排查 - 502/503/504(Bad Gatway/错误网关,Service Unavailable/服务无法获得,Gateway Timeout/网关超时)