接口不通排查方法
接口測試中經常遇到接口調不通的情況,有時候令人抓狂,但是又無能為力......
通常接口調不通有兩種情況: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/網關超時)