《吐血整理》進階系列教程-拿捏Fiddler抓包教程(18)-Fiddler如何接口測試,媽媽再也不擔心我不會接口測試了

1.簡介

Fiddler最大的優勢在於抓包,我們大部分使用的功能也在抓包的功能上,fiddler做接口測試也是非常方便的。

領導或者開發給你安排接口測試的工作任務,但是沒有給你接口文檔(由於開發週期沒有時間出接口文檔),你會怎麼開展測試工作?這個時候你可以用Fiddler直接抓完包後,copy請求參數,修改下就可以了。那麼這個時候我們就會用到Fiddler的Composer選項卡。

2.Composer

Composer允許自定義請求發送到服務器,可以手動創建一個新的請求,也可以在會話表中,拖拽一個現有的請求(鼠標左鍵拖拽到Composer中出現綠色即可)。如下圖所示:

Composer支持手動構建http、https和ftp請求。點到composer選項卡界面,我們可以看到下面有一串英文。

use this page to compose a Request。you can clone a prior request by dragging and dropping a session from the Web Sessions list。

這句話的意思是,這個頁面用來構造一個請求。你可以通過拖拽Web Sessions list中的session勾選或克隆一個先前的請求。

看到這就明白了這個界面的用法。而且它指出,可以通過拖拽方式克隆請求,這意味着構建的時候不需要一條條輸入,可以先拖拽進來,再修改部分。

3.界面功能解析

根據下圖圖標註位置對Composer的界面功能進行說明。

1.請求方式:點開可以勾選請求協議是get、post等

2.url地址欄:輸入請求的url地址

3.請求頭:第三塊區域可以輸入請求頭信息

4.請求body:post請求在此區域輸入body信息

5.執行:Execute按鈕點擊後就可以執行請求了

6.http版本:可以勾選http版本

7.請求歷史:執行完成後會在右側History區域生成歷史記錄

具體詳細說明:

1.parsed

parsed:表示已經被解析的整個HTTP請求,包括請求行,請求頭和請求體。(就是最直觀的看到Request請求的展示),在英語中,有解析的意思,這裏根據請求協議的組成,分爲了三個部分,也正好符合了parse這個單詞的語義

請求行:這裏可以設置你的請求方法,請求路徑,以及協議版本號

請求頭:在請求行下方,是請求頭

請求體(request body):這個框裏設置請求體,如果是GET方法就不需要填

2.Raw(原始請求)

Raw:這個就是真實原始的HTTP請求,是沒有解析過的展示。Raw選項,提供一個簡單的文本框,在這裏,可以輸入你想要構建的http請求,在功能上與parsed有重合,一般都是使用parsed進行構建,這個選項卡很少用

3.ScratchPad

Scratchpad:可以存儲已經收集好的HTTP請求,可存儲多個不同的請求。這個英文的翻譯是暫存器,實際上它的功能也是如此,可以保存多條http請求。只需要拖動響應的http請求到它的文本框,fiddler就會自動將session的相關的信息自動填寫到其中,可以在這個框中,對比請求。也可以在excute的時候,選中指定請求信息,提交。

4.options

Optinos:Request Optinos請求選項。

  • Inspec Session:使用同一個 Session 進行連接(同一個域名或者主機的情況下),檢查會話,當開啓此功能並重放的時候,會自動跳入Inspectors功能模塊,進行檢查HTTP請求和響應。
  • Fix Content-Length Header: 當發送 Post 請求的時候,自動加上或者修正 Header 中的 Content-Length。當使用POST請求進行重放的時候,如果沒有Content-Length的請求頭,Fiddler會自動加上此請求頭,如果有但是請求正文大小錯誤,則它會自動修正。默認勾選。
  • Follow Redirect:自動根蹤 HTTP 狀態碼爲 301 和 302 中返回帶 Location 的請求。會自動重定向301,302的請求。
  • Automatically Authenticate:自動進行身份驗證,包括認證NTLM,http 401,http 407。
  • Tear Off:將 Composer 變成一個浮動窗口。這個按鈕一點擊,整個composer會被剝離出fidder

UI Options:

Tear off:此功能是在原有的Fiddler功能選項裏面,將Composer這個功能彈出一個浮動窗口,如果不需要直接關閉這個窗口就會恢復原樣。

5.Log Requests(請求記錄)

Log Requests:記錄保存重放的HTTP請求。當這個勾選的時候,就會保存構造的記錄。構造產生的歷史記錄,會展現在選項下方。

6.Request Body

Request Body:這裏設置請求體的內容,一般用在POST請求。

Request Body數據類型

常見的post提交數據類型有四種:

1.第一種:application/json:這是最常見的json格式,也是非常友好的深受小夥伴喜歡的一種,如下

{"input1":"xxx","input2":"ooo","remember":false}

2.第二種:application/x-www-form-urlencoded:瀏覽器的原生 form 表單,如果不設置 enctype 屬性,那麼最終就會以 application/x-www-form-urlencoded 方式提交數

input1=xxx&input2=ooo&remember=false

3.第三種:multipart/form-data:這一種是表單格式的,數據類型如下

------WebKitFormBoundaryrGKCBY7qhFd3TrwA

Content-Disposition: form-data; name="text"

title

------WebKitFormBoundaryrGKCBY7qhFd3TrwA

Content-Disposition: form-data; name="file"; filename="chrome.png"

Content-Type: image/png

PNG ... content of chrome.png ...

------WebKitFormBoundaryrGKCBY7qhFd3TrwA--

4.第四種:text/xml:這種直接傳的xml格式

<!--?xml version="1.0"?-->

<methodcall>

<methodname>examples.getStateName</methodname>

<params>

<param>

<value><i4>41</i4></value>

</params>

</methodcall>

7.Upload file

Upload file:此功能是自己在本地構造好一個HTTP請求,然後上傳到Fiddler中進行重放。

8.Excute(執行)

Execute:執行重放功能或者執行新編輯請求的按鈕。點擊這個按鈕之後,這個請求就會被髮送出去了。

4.接口測試實戰

4.1POST API實戰

現在免費的接口很不好找,找了半天找到python裏有一個,就用這個舉例吧。

接口信息:

接口信息描述
https://httpbin.org/post 接口地址
請求方式 HTTP POST
請求參數 請求參數格式爲 JSON

參數格式:

{
    "form": {
        "comments": "北京宏哥post接口測試", 
        "custemail": "[email protected]", 
        "custname": "北京宏哥", 
        "custtel": "13045032408", 
        "delivery": "15:45"
  }
}

那麼如何使用Fiddler調試一個POST請求並帶有json格式的數據,具體操作步驟如下:

1.啓動Fiddler,打開Composer面板, 在Composer面板中的第一個下拉框中選擇POST請求方式,如下圖所示:

2.輸入請求接口的地址,如下圖所示:

3.在Request Headers中也可以輸入一些請求頭信息,也可以不輸入,Fiddler它會幫你自動生成。

4.在Request Body中輸入請求的JSON數據,如下圖所示:

5.點擊Execute(執行),若在會話列表中看到結果返回200表示操作成功,如下圖所示:

6.在Inspectors裏面查看到請求響應的結果了,我們事先知道接口返回的是json格式數據,點擊響應部分的json將數據格式化,方便閱讀。如下圖所示:

4.2GET API實戰

接口信息:一個帶參數的 get 請求,如在豆瓣網搜索:西遊記,url 地址爲:https://www.douban.com/search?q=西遊記。具體操作如下圖所示:

1.啓動Fiddler,打開Composer面板, 在Composer面板中的第一個下拉框中選擇GET請求方式,如下圖所示:

2.輸入請求接口的地址,如下圖所示:

3.點擊Execute(執行),若在會話列表中看到結果返回200表示操作成功,如下圖所示:

5.小結

 今天主要講解和分享瞭如何使用Fiddler進行接口測試的兩種請求方式,其他的請求類似!!!好了,今天時間也不早了,宏哥就講解和分享到這裏,感謝你耐心地閱讀!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章