「Blast Liver Tidying」Nanny シリーズ チュートリアル - Charles と遊ぶ パケット グラビング アーティファクト チュートリアル (13) - Charles モックとインターフェイス テストの方法

1 はじめに

Charles の最大の利点はパケット キャプチャ分析であり、使用するほとんどの機能もパケット キャプチャ機能ですが、Charles はインターフェイス テストも実行できることを忘れないでください。Mock については、リクエストとレスポンスのデータを変更する際にすでに導入されていますが、Hong 兄弟はその理論的知識を簡単に紹介します。今日は、Charles を使用したインターフェイス テストの実践的な操作が主な紹介と共有になります。

2. モックとは何ですか?

Baidu Encyclopedia には次のように記載されています。モック テストは、仮想オブジェクトを使用して、テスト プロセス中に構築または取得するのが容易ではない一部のオブジェクトのテスト方法を作成するテスト方法です。

モックとは、テストプロセス中に構築/取得するのが簡単ではない一部のオブジェクトについて、オブジェクトの動作をシミュレートするためにモックオブジェクトを作成することです。

Mock メソッドは単体テストの一般的な手法であり、その主な機能は、構築が容易ではないオブジェクトやアプリケーションでより複雑なオブジェクトをシミュレートして、テスト境界外のオブジェクトからテストを分離することです。

インターフェイス自動テストを学習したい場合は、ここで一連のビデオをお勧めします。このビデオは、ステーション B のネットワーク全体でナンバー 1 のインターフェイス自動テスト チュートリアルであると言えます。同時に、オンラインの数はユーザーが 1,000 人に達し、メモを収集して使用することができます。各種マスターの技術交流: 798478386    

【更新】B局が教えるPythonインターフェースの自動テストの最も詳しい実践チュートリアル集(実戦最新版)_哔哩哔哩_bilibili 【更新】Pythonの自動テストの最も詳細な実践チュートリアル集B局が教えるインターフェース(実戦編) 最新版)には以下の動画が合計200本あります: 1. 【インターフェース自動化】ソフトウェアテストの市場状況とテスターの能力基準。, 2. [インターフェイスの自動化] Requests ライブラリとその基礎となるメソッド呼び出しロジックに精通した、3. [インターフェイスの自動化] インターフェイスの自動化戦闘と正規表現と JsonPath エクストラクターの適用など。さらにエキサイティングなビデオについては、注目してください。 UPアカウント。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=488d25e59e6c5b111f7a1a1a16ecbe9a

3. 模擬試験のメリット

3.1 チームでの並行作業

開発プロセス中、対話当事者がインターフェイスを定義している限り、チームは並行して作業でき、プロセスは相互に影響を与えず、お互いの進捗を待つ必要はありません。データ仕様(インターフェイス)に同意するだけです。ドキュメント)を相互に共有し、モックを使用して構築します。利用可能なインターフェイスを見つけて、できるだけ早く開発およびセルフテストを行い、欠陥を事前に見つけます。

3.2 テスト駆動開発 TDD (テスト駆動開発)

単体テストは TDD 実装の基礎であり、TDD では協調モジュールがまだ開発されていない状況に遭遇することがよくありますが、モックを使用すると、テスターが事前にテストにアクセスしてテストの効率を高めることができます。モックを作成し、自動テスト環境にインターフェイスを追加し、事前にテストを作成します。

3.3 テスト範囲

インターフェイスに入力パラメーターが含まれたり、ビジネス ロジックが複雑であったり、通常の方法では操作できないシナリオもありますが、模擬仮想シミュレーションを使用することで、効果的にカバー範囲を拡大できます。

3.4 絶縁システム

インターフェイスが異なる状態で異なる値を返す場合、その状態を再現してからインターフェイスをリクエストするのが一般的ですが、一部のインターフェイスを使用すると、操作のタイミングや方法が不適切なために失敗し、バックエンドのストレージを汚染する可能性もあります。データベースなど、システムデータベースの汚染を避けるために、インターフェースをモックモードに調整してデータベースの純度を確保できます。

4. 模擬試験のデメリット

Mock は万能薬ではなく、Mock の使用にはリスクがあり、プロジェクトの実情やニーズに応じて Mock を使用するかどうかを判断する必要があります。

テスト中に多数のモックが使用されると、模擬テストの場面の信頼性が失われ、その後の系統的なテストでバグが発見される可能性があり、欠陥の発見が遅くなり、その後の修復が高くなる可能性があります。費用

5. 模擬クライアント

インターフェースドキュメントはドッキングされていますが、バックエンドインターフェースはまだ開発されていないため、テスターは事前に単体テストやインターフェース自動化テストを実施し、Mock のさまざまなリクエストによって返されたコンテンツを使用する必要があります。

6. モックサーバー

フロントエンド担当者は開発タスクを完了したが、バックエンド担当者はまだインターフェイス開発を完了しておらず、フロントエンド担当者と共同でデバッグおよびテストする必要がある場合、モック サービスを構築する必要があります。

さて、Mock の理論についてはここで紹介されていますので、興味のある方は個人的に情報を確認してください。次のステップは、今日の焦点であるインターフェースのテストに Charles を使用することです。

7.作曲

Charles でのテストでは、主に Composer 機能を使用します。これは Fiddler ツールに似ています。Composer を使用すると、カスタム リクエストをサーバーに送信でき、新しいリクエストを手動で作成できます。具体的な操作手順は以下の通りです。

7.1 方法 1

1. Charles を開き、[ツール] --> [作成] または [新規作成...] をクリックします。以下に示すように:

2. テストしたいインターフェースの情報を入力します。インターフェース文書がある場合はインターフェース文書に従って入力し、ない場合は下図のようにパケットに自分で入力します。

 

7.2 方法 2

1. 以下の図に示すように、キャプチャされたインターフェース要求情報を選択し、右クリック --> [作成] をクリックします。

 2. インターフェースリクエストの関連情報が表示されます。以下に示すように: 

 

 

8. 界面機能解析

以下の図のマークの位置に従って、Composer のインターフェース機能を説明します。

1. リクエスト方法: リクエストプロトコルをクリックして選択します。get、post などです。

2.URLアドレスバー:要求されたURLアドレスを入力します

3. 「実行」ボタンをクリックすると、リクエストを実行できます。

4. 実行が完了すると、右側の履歴領域に履歴レコードが生成されます。

5. http バージョン: http バージョンを確認できます。

6. リクエストパラメータの追加

9. インターフェーステストの実践

9.1 POST API 戦闘

現在、無料のインターフェイスを見つけるのは非常に困難ですが、長い間探した結果、以前は Fiddler でも使用されていた Python のインターフェイスを見つけました。これは一例として使用してください。

インターフェース情報:

インターフェース情報 説明
https://httpbin.org/post インターフェースアドレス
リクエストメソッド HTTPポスト
リクエストパラメータ リクエストパラメータの形式はJSONです

 パラメータの形式:

{
    "form": {
        "comments": "测试猿廖廖post接口测试", 
        "custemail": "[email protected]", 
        "custname": "测试猿廖廖", 
        "custtel": "13045032408", 
        "delivery": "15:45"
  }
}

Charles を使用して JSON 形式のデータを含む POST リクエストをデバッグする方法、具体的な手順は次のとおりです。

1. Charles を起動し、[作成] パネルを開き、[新規作成] パネルに URL を入力し (リクエスト インターフェイスのアドレスを入力)、次の図に示すように、ドロップダウン ボックスで POST リクエスト メソッドを選択します。

 

2. [作成]をクリックすると、下図のようになります。

 3. 以下に示すように、[JSON Text] をクリックし、要求された JSON データを入力し、最後に [Execute] をクリックします。

 4. [実行] をクリックします。次の図に示すように、セッション リストに結果が表示され、200 が返された場合は、操作が成功したことを意味します。

5. インスペクターでリクエストとレスポンスの結果を確認します。インターフェースが json 形式でデータを返すことは事前にわかっています。レスポンス部分の json をクリックして、読みやすいデータをフォーマットします。以下に示すように:

 

9.2 GET API戦闘

インターフェイス情報: Douban: 西遊記での検索などのパラメーターを含む取得リクエスト。URL アドレスは: https://www.douban.com/search?q=Journey to the West です。具体的な操作を以下の図に示します。

1. Charles を起動し、[作成] パネルを開き、[作成] パネルに URL を入力し、次の図に示すように、ドロップダウン ボックスで GET リクエスト メソッドを選択します。

2. 次の図に示すように、リクエスト インターフェイスのパラメータを入力します。 

 

 3. [実行] をクリックします。次の図に示すように、セッション リストに結果が表示され、200 が返された場合は、操作が成功したことを意味します。

 

10. まとめ

 今日は主に Charles をインターフェーステストに使用する方法について 2 つのリクエストメソッドを説明して共有しましたが、他のリクエストも同様です。さて、今日はまだ早いです。ホン兄弟がここで説明し、共有します。辛抱強く読んでくれてありがとう!

おすすめ

転載: blog.csdn.net/m0_73409141/article/details/131898712