内容:ガイド
序文
Fiddler で一般的に使用される関数は次のとおりです:
パケットのキャプチャの停止、セッション ウィンドウの内容のクリア、リクエストのフィルター、デコード、ブレークポイントの設定
1. パケットのキャプチャを停止する
2. セッションウィンドウをクリアします
方法 1、ツールバー ツール:
方法 2、コマンドライン形式:
もちろん、コマンド ライン ツールは他のコマンドの入力もサポートしているため、ここでは詳しく説明しません。
3. リクエストのフィルタリング
Fiddler を開いてパケットをキャプチャすると、セッション ウィンドウに多くのリクエストが表示されますが、ターゲットのリクエスト データをキャプチャするだけで済み、その後フィルタリングを設定できます。
フィルタリングは、対象のリクエストのみを表示する方法と、対象側のリクエストのみを取得する方法の2つに分けられます。違いは、前者はすべてのリクエストを取得しますが、対象のリクエストの数のみを表示するのに対し、後者は特定のエンドのリクエスト データのみを取得することです。
①対象リクエストのみ表示
操作手順は以下の通りです。
インターフェースの右側の下にあるように、さらに多くの条件をチェックしてフィルタリングして表示することもできますが、ここではあまり説明しませんので、興味のある方はご自身で試してみてください。
②ターゲット側からのリクエストのみをキャプチャする
例えば、モバイル側からのパケットのみをキャプチャしたい場合、モバイル側からのリクエストのみをキャプチャするように設定し、以下のように設定します。
4. デコード
一部のリクエストを取得すると、次の図に示すように、返されたコンテンツに文字化けが発生します。
これが HTML が圧縮されている理由です。HTML は 2 つの方法で解凍できます。
方法 1: 次のように、[Responsebody is encoded.Click to decode.] をクリックします。
方法 2 では、まずツールバーで [デコード] を選択し、次にパケット キャプチャをリクエストします。これにより、表示されるリクエスト結果がデコードされた結果になります。次のように:
デコードされた結果を次の図に示します。
5. ブレークポイントを設定する
場合によっては、デバッグ時にクライアントのリクエストとサーバーの応答を偽造する必要があり、この時点でブレークポイントを設定する必要があります。
クライアント リクエストの偽造
クライアント リクエストの偽造とは、クライアントがリクエストをクリックした後、リクエストをサーバーに送信する前に、元のリクエスト パラメータを変更することを意味します。これには、ブレークポイントを Before Requests に設定する必要があります。手順は次のとおりです。
次の手順に示すように、メニュー オプションまたはショートカット キー F11 を使用して設定し、クリックして [リクエスト前] を選択します。
設定の最初のステップの後、再度パケットをキャプチャします。左側のセッション ウィンドウで、すべてのリクエストが中断済みとしてマークされていること、リクエストは正常に送信されなかったが Fiddler によって中断されたことがわかります。クライアントは次のことを確認できます。このときのデータのロード例外。
セッション ウィンドウで対応するリクエストを見つけてクリックして選択し、右側の [インスペクター] を選択すると、操作バーの行が表示されます。[完了まで実行] をクリックして、中断されたリクエストの送信を続行します。
ただし、私たちの目的は、ブレークポイントの後にリクエスト データを変更してからリクエストを送信することです。
対応するリクエストを見つけてリクエストデータを変更します
Testerhome へのログインを例に挙げます。まずブレークポイントを Before Requests に設定し、ブラウザに正しいアカウント番号とパスワードを入力して、「Login」をクリックし、Fiddler でリクエストを見つけてパスワードをクリアし、「Run to Completion」をクリックして続行します。リクエストを送信すると、サーバーがどのような結果を返すかを確認してみましょう。
ブラウザーが正しいアカウントとパスワードを入力すると、ログインは成功するはずですが、Fiddler を介してポイントを中断した後、リクエストする前にログイン インターフェイスのリクエスト パラメーターを変更し、エラーを返します: アカウント番号またはパスワードが間違っています。再試行してください。
偽造されたサーバー応答
偽造されたサーバー応答。つまり、応答がクライアントに返される前に、応答コンテンツが変更されて返されます。これには、ブレークポイントを After Responses に設定する必要があります。次に、TestHome Web サイトのログイン インターフェイスを例として、その応答コンテンツを変更します。次のように進めます。
まず、次のようにブレークポイント ルールを After Responses に設定します。
通常のログイン後、TesterHome Web サイトのトップページにジャンプしますが、このとき、ログイン後に Baidu ページにジャンプするようにリターン パラメータを変更することができ、設定は次のとおりです。
上の図に示すように、図の戻りパラメータを Baidu アドレスに変更し (戻りパラメータは TextView フォームで変更できます)、[完了まで実行] をクリックすると、ログインに成功した後に次のページにジャンプすることがわかります。 TestHome ホームページの代わりに Baidu ページ。
予防:
ブレークポイントを設定する機能では、次の点に注意してください。
インスペクターではリクエストパラメータ表示ウィンドウ WebForms でリクエストパラメータを変更でき、レスポンスパラメータ表示ウィンドウ TextView でリターンパラメータを変更できます。
メニュー オプションまたはショートカット キー F11 によるブレークポイント設定はグローバルに有効です。つまり、すべての HTTP リクエストにブレークポイントがマークされます。
特定のサーバーからのリクエストにブレークポイントを設定する必要があるだけの場合は、Fiddler のコマンド ライン ツールを使用してコマンドを入力できます。Before Requests コマンドは bpu サーバー アドレス、After Response コマンドは bpafter サーバー アドレスです。次の図に示すように:
ブレークポイントを設定した後、ブレークポイントの設定をキャンセルする必要があります。ブレークポイントを無効に設定する必要があります。操作は次のとおりです。
次の図に示すように、ショートカット ツールを使用してブレークポイントを設定することもできます。クリックして切り替えます。
以下は、私がまとめた 2023 年の最も完全なソフトウェア テスト エンジニア学習知識アーキテクチャ システム図です。 |
1. Pythonプログラミングの入門から習得まで
2.インターフェース自動化プロジェクトの実戦
3. Web自動化プロジェクトの実戦
4. アプリ自動化プロジェクトの実戦
5. 一流メーカーの再開
6. DevOps システムのテストと開発
7. 一般的に使用される自動テストツール
8、JMeterのパフォーマンステスト
9. まとめ(最後にちょっとしたサプライズ)
一滴の汗が夢の誕生であり、一歩一歩が輝かしい旅となるのです。たとえ前途がどんなに茨であっても、私たちは勇敢に前進し、闘いで人生を照らし、壮大な章を切り開いていかなければなりません。自分の能力を信じて果敢に挑戦し、素晴らしい結果を達成しましょう!
人生の舞台では、闘争が最も輝けるモットーです。たとえどんな困難に直面しても、夢を持ち、勇気を持って一歩を踏み出してください。一生懸命働くことによってのみ、私たちは自分自身を超え、輝かしい未来を現実にすることができます。
あらゆる努力は積み重ねであり、あらゆる闘争は進歩です。忍耐力、夢を追うペースは決して止まりません。たとえ多くの困難があっても、勇敢に前進しなければなりません、なぜなら、苦労することによってのみ、あなた自身の輝かしい人生を描き、夢を輝かせることができるからです!