Proxyman Diff で 2 つの HTTP リクエスト/レスポンスを比較
アプリをテストしていると、2 つのレスポンス(またはリクエスト)を比べて、違いがあるか、プロパティや値がすべて同じかを確認したくなることがあります。このミニチュートリアルでは、Proxyman の Diff ツールを使ってリクエストやレスポンスを比較する方法を紹介します。
1. Proxyman Diff ツール
- Diff ツールは Proxyman でもっともよく使われる機能の 1 つで、2 つのリクエスト/レスポンスを、URL、Method、Status Code、Cookie、JSON ボディなどの観点で比較できます。
- 比較する 2 つのリクエスト/レスポンスは、Side by side または Unified モードで表示できます。
- Diff ツールは Highlight and Comment ツールと組み合わせて使うことができ、比較結果をメモできます。
- Diff ファイルをエクスポートして、FileMerge などの別のツールで開くこともできます。

2. Proxyman Diff ツールの使い方
- Proxyman のメインウィンドウで、比較したいリクエストをすべて選択します

- 選択したリクエストを、Right-click -> Tools -> Add to Diff pool から Diff pool に追加します(ショートカットは ⌘Y です)

- Left と Right のパネルに表示する 2 つのリクエストを選択して、比較を開始します
2.1 レスポンスを比較
Diff ツールのもっとも一般的な使い方は、レスポンスの比較です。
- Diff ウィンドウで、Response の Diff を選択します

- Proxyman は、2 つのレスポンスの違いをハイライトします。たとえば Set-cookie、Runtime などの違い、特にレスポンスボディの JSON データの違いを表示します。
2.2 リクエストを比較
リクエストをすばやく比較するには、次の手順に従います。
- Diff ウィンドウで、Request の Diff を選択します

- Proxyman は、2 つのリクエストの違い(Content-length、Cookie、query など)を表示します。
2.3 「Side by side」と「Unified」モードの切り替え
ドロップダウンメニューからオプションを選ぶと、比較結果を Side by side または Unified で表示します。
- Side by side モードを選択したときの表示です

- Unified モードを選択したときの表示です

2.4 Comments と Highlights を追加する
比較中に予期しない結果が出たときは、Highlight and Commenting 機能を使ってエラーをメモできます。
以下は、Diff ツールと Highlight and Comment 機能を組み合わせて使う例です。
- リクエストを右クリックし、Add Comment >> 期待される結果をメモします(ショートカットは ⌘L です)


- リクエストを右クリックし、Highlight >> ハイライトの色を選択します

これで、成功したリクエストやレスポンス、失敗したものを目立つ色で簡単にマークできます。レポートや詳しい調査に役立ちます。

2.5 Proxyman Diff ファイルのエクスポート
Diff ファイルをエクスポートして、同僚と共有できます。
Diff ウィンドウの右下にある Share ボタンをクリックし、Undiff >> 保存先のパスを選択して、Diff ファイルの名前を変更します。

2.6 別のツールで Diff ファイルを開く
その後、Postman や File Merge などの別のツールで Diff ファイルを開けます。
以上です。Happy debugging!
比較を読みやすくするコツ
2 つの呼び出しはできるだけ近いタイミングでキャプチャし、リクエストの入力は同じに保ちましょう。タイムスタンプ、リクエスト ID、Cookie、トークンなどの値は呼び出しのたびに変わることが多いため、本当の違いを探す前に、まずそれらを確認しておきましょう。Side-by-side 表示は JSON の小さな変更の確認に便利です。Unified 表示は、バグレポートで共有する際に見やすいことがよくあります。
Proxyman は、iOS デバイス、iOS シミュレータ、Android デバイス上のアプリやドメインから HTTP(s) 通信をキャプチャして調べられる、高性能な macOS アプリです。
https://proxyman.com/ からダウンロードできます。

