Fiddler Everywhere之AutoResponder功能詳解


先了解一下Fiddler Everywhere的基本用法,然后再看一下它的AutoResponder功能。

AutoResponder主要用來mock接口的數據,在web調試的時候非常方便,比如你想驗證前端列表展示有沒有取錯字段,你就可以mock接口返回結果,然后刷新頁面后看看列表的數據是否變化。

AutoResponder 請求匹配規則的常見用法

1、直接匹配*,攔截篡改所有請求

此方法會攔截所有請求,不推薦使用,電腦上所有請求都會被攔截進行響應結果的修改。

該用法不太穩定,比如你一直不停的訪問同類型的結果訪問,就有可能出現無法響應的情況。用騰訊課堂的不同的連接測試過,有時候會偶現無法獲取響應結果的情況。

2、匹配某個字符串 (不區分大小寫)

訪問以下3個地址,都會自動返回執行的結果:

http://www.eryajf.net/63.html

http://www.eryajf.net/77.html

http://www.eryajf.net/56.html

3、使用EXACT關鍵字進行完全匹配

以EXACT開頭表示完全匹配,用法如下:

4、使用REGEX關鍵字進行正則匹配

.+ :匹配一個或多個字符
.* :匹配0個或多個字符
^ :匹配字符串開始位置
$ :匹配字符串結尾位置

regex:(?inx).+\.(gif|png|jpg)$ #匹配所有gif|png|jpg結尾的請求

5、使用NOT關鍵字

如 NOT:8081  則表示請求url中沒有包含8081的請求多會被自動響應

6、通過body中特定內容攔截請求

假設現在有這么一個接口,url都是http://127.0.0.1:8080/server/doServer.do,具體的傳參是在body里面去控制的 ,body里面有一個參數method,表示當前調用的是哪個接口,如果這個時候想根據body的內容去進行mock的話 ,可以使用如下的規則去進行配置:

可以用類似下面的配置:

# URLWithBody:url地址 regex:^.*body中的參數值.*$
URLWithBody:http://127.0.0.1:8080/server/doServer.do regex:^.*method.*$
URLWithBody:regex:.*127.0.0.1:8080.* regex:^.*method.*$

這種場景適用於,url上面沒法區分是哪個接口,需要通過body里面不通過的傳參去模擬返回不同的數據的時候,可以使用這種匹配規則。url地址也支持用正則匹配。

7、通過Headers中指定的參數去匹配

使用方法如下:

Fiddler軟件中給出的樣例是使用Header:Accept=html,即使用Header里面的Accept參數去校驗,我測試過 ,在目前的1.0.2版本中使用Accept-Encoding、Accept-Language參數也可以匹配到 ,但是使用Header中的其他參數去匹配的話,目前是匹配不上的,因此這個用法要慎用,並不是支持header中的所有參數。

配置如下規則:Header:Accept-Language=zh-CN,zh;q=0.9,en;q=0.8

配置好之后,再訪問百度首頁,出現的結果如下,頁面顯示的結果跟配置規則下的顯示結果是一致的:

AutoResponder 請求匹配規則的常見用法

1、直接返回某個指定的字符串(Return manually crafted response)

2、使用某個指定的文件內容進行返回(Choose saved response file...)

3、直接使用某個網頁的地址替換接口返回結果

訪問效果:

以上只介紹常用的用法,更多的規則匹配和詳細的描述,請參考官網的介紹:

https://docs.telerik.com/fiddler-everywhere/user-guide/live-traffic/autoresponder

總結

  

     通過以上描述,相信大家對Fiddler Everywhere工具的Auto Response功能有了一定的了解,該功能主要用來mock服務的接口的數據,在做功能測試的過程中,,這個功能是非常實用的。下面為大家介紹一下我在實際工作中用到的幾個簡單的應用場景:

‍‍一、用於輔助測試,快速驗證前端頁面的一些邏輯處理是否符合預期

1、前端對某列數據做四舍五入的處理,一時之間找不到符合要求的數據的時候,就可以使用該功能,篡改接口響應結果給前端,從而驗證是否有bug。

2、前端某列顯示金額字段,當金額的數值超過某個值的時候,顯示格式要進行轉換,一時之間找符合要求的數據比較麻煩的時候,就可以使用工具的這個功能快速的輔助你進行測試。

3、前端更改了某個明細字段的長度,但是在測試環境可能匯總指標的值為0,導致你進不去明細頁面,看不到效果,那么可以篡改響應結果,把匯總的值由0改成其他值,繞過前端的校驗。

二、用於輔助驗證后端的處理邏輯

1、登錄后能點擊哪些菜單或按鈕,是通過后端接口返回的,沒權限的時候,前端控制不可點擊。那如果篡改后端數據,新加入一個沒有權限的接口返回前端,然后在頁面上再去操作的時候,查看后端是否對權限做了二次校驗。

2、有時候為了測試方便,會將生產的部分數據導入sit環境進行測試,但是有的基礎數據又沒導入,可能會存在在頁面查詢不到生產的數據 ,因為查詢條件中選不到生產的某個網點,或者說id不匹配,這個時候就可以把查詢接口中的接口響應結果用生產的接口的數據替換一下進行返回。‍‍                                                                                                    

以上是小編為大家整理的Fiddler Everywhere工具的Auto Response功能的基本使用方法,並結合自己在項目中使用的場景進行了分享,這些用法同樣可以用fiddler去進行實現。如果對大家有幫助,可以分享給身邊的朋友一起學習喔!

往期推薦

SonarQube環境搭建

特定場景下才能復現的bug案例分享之--前端排序字段的鍋

Postman+Newman+Git+Jenkins實現接口自動化測試持續集成

Fiddler Everywhere v1.0.1版本基礎功能介紹

一篇文章為你揭秘pytest的基本用法

App自動化測試之Appium環境搭建

Jenkins自動部署測試環境之jar包部署

python高級用法之命名元組namedtuple


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM