接口自動化之接口整理(抓包)

  陸續在幾個公司都有接觸過接口測試,每一個公司的接口測試需求都差很少。可是,項目的大小會影響接口測試任務的簡繁。javascript

  涉及到TCP協議的接口,也涉及到http協議的接口。css

  前段時間,剛接到一個走HTTP協議的接口測試需求。html

  開發提供過來的接口以下:前端

test:

 1. get_listjava

 a. url - subject_id / compliance_id
    b. ajax - subject_id / compliance_idweb

  2.get_mapajax

 a. url -
    b. ajax - qry_id / extra_coljson

  3............後端

 

由上得出:瀏覽器

1.每一個接口有兩種請求方式

a)走地址欄url-----GET請求

b)走ajax模式

2.兩種請求方式後端帶有參數的key

3.無其餘信息

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

諮詢開發同個接口爲何走兩種請求方式?

獲得的回覆:

1.url----Get請求獲取靜態信息,即處理獲取數據後的前端頁面處理

2.ajax----POST請求爲處理數據,返回json數據,即用戶須要的數據

請根據這個回覆,確認測試的需求範圍!!!

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

經過以上信息,測試在開始接口自動化以前,須要將開發提供的接口轉換爲測試熟悉的模式。

HTTP協議,正常狀況下須要包括頭部信息,地址,參數等。而開發提供的信息並無這麼豐富。

因此,測試要本身進行抓包獲取剩餘未知的信息!!!

以百度新聞爲範例,谷歌瀏覽器作爲抓包工具

 1.進入百度新聞網址:http://news.baidu.com/

 2.右鍵點擊網頁->【檢查】(若是您的網站右鍵被禁止,請使用F12打開開發者模式)

 3.請在打開工具菜單欄選擇network

 4.刷新網頁,觀察工具變化(請選擇XHR,咱們僅觀察html頁面,js/css等不須要)

 5.點擊,出現的Name,即開發提供中的模塊--test以下:

 a)General顯示內有咱們須要的信息:URL地址,請求模式(GET)等

 b)response headers爲咱們發送請求過去,服務器返回響應的頭部信息

 c)request headers內有咱們須要的信息,當你不知道哪些是接口特殊須要的,請完整保留該區域的全部信息

 d)query string parameter爲發送請求須要帶的參數

 6.經過第5點,將接口整理成測試比較熟悉的格式

get_list接口

接口功能:xxxx

請求url

http://IP:PORT/test/get_list

請求模式

POST

請求頭

 

Accept

application/json, text/javascript, */*; q=0.01

Accept-Encoding

gzip, deflate

Connection

keep-alive

Host

IP:PORT

Referer

http://IP:PORT

X-Requested-With

XMLHttpRequest

參數

subject_id:11

compliance_id:11

響應(json)

{data:[{}]}

備註

描述該接口依賴的其餘接口名稱,該接口的特殊點

 

 備註

 若是是移動端的web獲取app,請使用第三方工具進行抓包如flddler

 若是知道產品的開發語言,而且能夠看懂代碼的話,請根據接口名稱查看源碼,肯定參數是否必填/返回的錯誤響應等等信息

 開始接口測試以前,請考慮清楚接口測試的範圍(功能?冒煙迴歸?壓測?),這將影響工具的選擇及接口覆蓋率的腳本編寫

相關文章
相關標籤/搜索