我們都知道使用Postman做介面測試,相比Postman,Fiddler不能寫斷言,只能構造HTTP請求,並人工確認返回結果的正確性。但作為一個HTTP代理,Fiddler可以抓取到瀏覽器發出去的HTTP請求,然後通過修改請求重新發送的方式,快捷地進行介面測試。

在HTTP介面的測試過程中,一般我們會按照如下的步驟進行:

1)測試環境的準備

2)HTTP消息體的構造

3)HTTP消息的發送及斷言

如果我們可以拿到項目組的介面文檔,並且HTTP後臺服務是可以工作的,那我們的介面測試會非常順利,可以不使用Fiddler工具。

但是,實際情況中,不斷的測試前移,需要我們的介面自動化測試用例在編碼工作還未完成的情況下,就能準備完成。代碼開發完成之後,直接運行自動化用例。

這種情況下,Fiddler工具就能大顯身手了。

Fiddler工具常見的使用場景:

1)在沒有介面文檔的情況,使用Fiddler抓包,獲得HTTP後臺介面;

2)在沒有HTTP後臺服務的情況下,使用Fiddler模擬服務端。

使用Fiddler做介面測試:

一、Composer介紹

Fiddler Composer的功能就是用來創建HTTP Request 然後發送。 Fiddler創建request有三種方式:

1、自定義一個Request

2、可以手寫一個Request

3、在Web會話列表中拖拽一個已有的Request

點開右側Composer區域,可以看到如下界面,就是測試介面的界面了

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

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

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

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

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

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

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

二、請求百度首頁

1.先選擇請求方式:get

2.填入請求地址:baidu.com/

3.http協議版本:默認1.1

4.Request Body:get請求不用填寫body,此區域此時會置灰

5.點擊execute按鈕:執行請求

6.History區域顯示請求過的歷史記錄

7.查看請求結果,左邊會話框會顯示請求行,如下圖:

8.查看response區域,點Textview

9.顯示伺服器返回結果:百度一下,你就知道

三、在百度輸入框輸入測試後搜索

1.在輸入框輸入請求url

2.請求地址:/s

3.請求參數如上圖紅色區域(?後面)

4.查看請求結果,如下圖

5.上方區域顯示請求參數(wd=測試)

6.response區域點Webview

7.返回結果會顯示百度搜索「測試」的結果

四、模擬手機APP登陸

1.打開智行火車票的登陸界面,如下圖

2.通過抓包找到登陸請求url

3.請求類型選擇:POST

4.輸入登陸的url地址

5.RequestBody區域填入請求body,如下圖紅色框框區域

6.點執行後,左邊會話框,直接報:405錯誤

(405:用來訪問本頁面的方法不被允許)

7.經過分析可能是請求headers的問題

(fiddler工具在發送請求時,會默認自帶出一個headers,但是此APP估計只支持手機端訪問,做了限制,所以需要手動創建一個手機端請求的headers,由此可見headers的重要性了吧~)

8.添加手機請求的headers(模擬從手機客戶端請求)

9.添加headers後重新execute

10.會話框顯示200請求成功

11.查看請求結果response:JSON

12.此時伺服器返回的是json格式,如上圖(歡迎使用鐵路12306)

五、手寫一個Request

點開Raw區域,按如下格式填寫就行了

六、在Web會話列表中拖拽一個已有的Request

總結:

經驗豐富的測試人員,在測試的時候,都是會開啟fiddler的,就是說我所有的操作,在fiddler上都有記錄,這樣做的主要目的就是對我的所有操作在fiddler上有記錄,當發生錯誤的時候,可以隨時查看是什麼原因引起的錯誤,更重要的是開發老是叫你重現bug的時候,你就直接將這個請求丟給開發就OK了,減少了很多不必要的溝通,防止甩鍋;

composer模塊本身就可以進行介面測試,如果有介面技術文檔,直接將內容填入此模塊,點擊執行就可以了,很方便,fiddler功能很強大,是測試人員必備工具的不二選擇。

學習沒有捷徑,從小處著手,落到實處!纔是真正的成功之路!

推薦閱讀:

相關文章