フィドラーのための 8 つの実践的なヒント

Fiddler は誰もがよく知っているはずですが、中には馴染みのないスキルもいくつかあります。ここでは 8 つの実践的なスキルを紹介します。Fiddler をカスタマイズすることで、全員のテスト効率を向上させることができます。

1. Session をダブルクリックすると、 Fiddler 左下の QUICK EXEC コマンド実行ウィンドウで、レスポンスページは常に「json」タブページに表示され、リクエストページは常に「webform」タブページに表示されます。
、 入力

Fiddler パケット キャプチャ ツールについて学びたい場合は、ここで一連のビデオをお勧めします。このビデオは、インターネット上のステーション B での No. 1 Fiddler パケット キャプチャ ツール チュートリアルであると言えます。オンラインユーザー数1,000人突破、メモあり 諸大神との受領と技術交流記事下部のカードをクリック

基礎ゼロで Fiddler パケット キャプチャを実行し、テストの分野に適用してください。_哔哩哔哩_bilibili [Pythonインターフェイス自動化テストノートとビデオソースコード+WeChat:mashang-nn発言(ステーションbで555)は無料で収集でき、3回連続いいねは真実の愛です!】、動画再生数は1349、弾幕数は2、いいね数は4、投げたコイン数は2、ブクマ数は20、リポスト数は0です。 Bステーション555、関連ビデオ: 2023 年の B ステーションでの最新の Jmeter インターフェイス テスト実践チュートリアル。インターフェイス自動テストに熟達している人には、この一連のビデオのみが必要です。0 からテスト分野で Fiddler キャプチャの 4 つの主要なアプリケーションを実行できます。、パフォーマンス テストを学ぶのに 15 日間、わかりやすく詳細な指導、Jmeter パフォーマンス テストの実戦 (クラスター圧力テスト、フルリンク圧力テスト、パフォーマンス チューニング、ボトルネック分析) を非常に早くマスターし、実行するだけです。, Bステ特典!Web自動化テスト0からプロジェクト実戦チュートリアルまで無料で学べます!、webdriver-helper 自動テスト実戦、Postman を使用してインターフェイス自動テストを簡単にプレイ、2023B ステーションの最も完全な RobotFramework 自動テスト フレームワークで、基本的なエントリから実戦まで対応します。(更新版)、Fiddler パケット キャプチャ ツールと charles パケット キャプチャ ツールの実践教育、アプリ自動化テスト Appium+UiAutomator2 スキル、JMeter + Ant インターフェイス自動化テストと HTML レポートの出力 https://www.bilibili.com/video/BV14g4y1H7vv/ ? spm_id_from=333.999.0.0

PREFS SET fiddler.ui.inspectors.response.alwaysuse "json" 
PREFS SET fiddler.ui.inspectors.request.alwaysuse "WebForms"

2.各セッションのリクエスト IP アドレスを表示します。
Fiddlerscript を開き 、 main()に 次のコードを書き込みます。

FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");

3.応答ヘッダーの Content-Type を変更して
Fiddlerscript を開き 、 onBeforeResponse() に追加します。 

// 如果host中包含tugele,把响应Content-Type修改为 json类型
if (oSession.host.Contains("tugele")){
    oSession.oResponse["Content-Type"] = "application/json;charset=UTF-8";
}

4.セッションを右クリックし、ブラウザを使用して URL を直接開き、
Fiddlerscript を開いて クラス Handlerに追加します 。

public static ContextAction("Open in Chrome")
function DoOpenInIE(oSessions: Fiddler.Session[]){
    if (null == oSessions){
       MessageBox.Show("Please choose at least 1 session."); return;
    }
    for (var x = 0; x < oSessions.Length; x++){
    //执行cmd 命令
    System.Diagnostics.Process.Start("chrome.exe", oSessions[x].url);
    }
}

 5. [セッション] 列に各リクエストの応答時間が表示されます。Fiddlerscript を
開いて クラス ハンドラー に追加します。

public static BindUIColumn("TimeTaken/ms", 120)
function TimeTaken(oS: Session):String{
    var sResult = "0";
    var t1_ms = oS.Timers.ClientBeginResponse.ToUniversalTime().Millisecond;
    var t1_m = oS.Timers.ClientBeginResponse.ToUniversalTime().Minute;
    var t1_s = oS.Timers.ClientBeginResponse.ToUniversalTime().Second;
    var t1 = t1_m*60*1000 + t1_s*1000 + t1_ms;

    var t2_ms = oS.Timers.ClientDoneRequest.ToUniversalTime().Millisecond;
    var t2_m = oS.Timers.ClientDoneRequest.ToUniversalTime().Minute;
    var t2_s = oS.Timers.ClientDoneRequest.ToUniversalTime().Second;
    var t2 = t2_m*60*1000 + t2_s*1000 + t2_ms;

    if(t1 >= t2){
        var t3 =  t1 - t2;
        sResult = t3.toString();
        }
    return sResult;
}

 6.リクエストを送信するときに、リクエストされた URL をインターセプトして変更し
、Fiddlerscript を開いて onBeforeRequest()に 追加します。

// 指定包含 biaoqing 的url,替换url中的字符串
if (oSession.fullUrl.Contains('biaoqing')){
   if (oSession.fullUrl.Contains('abc')){
       oSession.fullUrl = oSession.fullUrl.Replace('abc','bcd');
   }
   // 在fiddler log中查看实际的请求
   FiddlerObject.log(oSession.fullUrl);
}

7.弱いネットワーク環境をシミュレートします。
メニュー バーで、[ルール] > [パフォーマンス] > [モデム速度のシミュレート] スイッチを開き、
Fiddlerscript を開き、次のコードのしきい値を変更し、アップリンク トラフィックとダウンリンク トラフィックの遅延時間を調整します。単位はミリ秒です。

if (m_SimulateModem) {
    // Delay sends by 300ms per KB uploaded.
    oSession["request-trickle-delay"] = "300";
    // Delay receives by 150ms per KB downloaded.
    oSession["response-trickle-delay"] = "550";
}

 8.前のリクエストの応答コンテンツを次のリクエストの本文として取得し、Fiddler を使用してリクエストを構築します。Fiddlerscript を
開いて onBeforeRequest()に 追加します。

//解密开关每次打开关闭都要去脚本中修改不太方便,因此把解密开关配置在Fiddler UI菜单栏中
public static RulesOption("Dectryt tugele")
    var tgl: boolean = true;

static function OnBeforeResponse(oSession: Session) {
    //tgl为解密开关,配置在UI RULES选项卡中
    if (oSession.host.Contains("tugele") && tgl){
        //获取请求的响应内容string
        var oBody: String = oSession.GetResponseBodyAsString();
        var eBody: String = "content=" + encodeURIComponent(oBody);
        //把String 转为 byte[]类型
        var Content: byte[] = System.Text.Encoding.UTF8.GetBytes(eBody);
        //构造一个header对象
        var oRQH: HTTPRequestHeaders = new HTTPRequestHeaders("/tools/decrypt", ['User-Agent: Fiddler','Host: test.example.com','Content-Length: '+Content.length.ToString(), 'Content-Type: application/x-www-form-urlencoded']);
        //定义请求方法为post
        oRQH.HTTPMethod = "POST";
        //定义oSD(参数需要,一般为空)
        var oSD = new System.Collections.Specialized.StringDictionary();
        //发送请求,生成一个新session
        FiddlerApplication.oProxy.SendRequestAndWait(oRQH, Content, oSD, null);
    }
}

上記は私がまとめたメソッドの一部です。皆さんのお役に立てれば幸いです。もちろん、Fiddler には他にも探索する価値のある高度な使い方がたくさんあります。皆さんと共有することを楽しみにしています。 

おすすめ

転載: blog.csdn.net/caixiangting/article/details/131272741