Pythonインターフェース自動化(1) ~インターフェースとは、インターフェースのメリット、種類(詳しく解説)

序章

  インターフェイス テストやインターフェイス テストの自動化についてよく話されますが、インターフェイスについてどれくらい知っていますか? インターフェイスとは何か知っていますか? それは何に使用されますか?テスト時に何に注意する必要がありますか? 正直に言うと、著者は以前はあまり明確ではありませんでした。次に、インターフェースの定義を見てみましょう。

意味 

       インターフェイスは一般に、エンティティが外部の世界 (別のエンティティの場合もある) に提供する抽象化を指します。これは、外部通信メソッドを内部操作から分離するために使用され、他の方法に影響を与えることなく内部で変更できるようになります。外部エンティティがそれと対話します。

  人間とコンピュータなどの情報機械、あるいは人間とプログラムの間のインターフェースをユーザーインターフェースといいます。コンピュータなどの情報機器のハードウェア間のインターフェースをハードウェアインターフェースといいます。コンピュータなどの情報機器のソフトウェア部品間のインターフェースをソフトウェアインターフェースといいます。

  コンピューティングにおいて、インターフェイスは、コンピュータ システムの 2 つの独立したコンポーネントが情報を交換する共有境界です。この交換は、コンピュータ ソフトウェアとハ​​ードウェア、外部デバイス、操作を実行する人、またはそれらの組み合わせの間で発生します。

インターフェイス自動テストを学習したい場合は、ここで一連のビデオをお勧めします。このビデオは、ステーション B のネットワーク全体でナンバー 1 のインターフェイス自動テスト チュートリアルであると言えます。ユーザー数1,000人突破、収集・使用注意事項あり 諸大神の技術交流:記事下部のカードをクリック

ステーションB https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337.search-card.all.click

インターフェースの利点

  1. 規範

  インターフェースは仕様です。システム設計全体には、多くの層が関係します。層間の呼び出しを透過的にするには、インターフェースを知っていて、そのインターフェースに従って特定のことを行うだけで、統合できます。システム全体に。

  プラグやソケットなど、世の中にはたくさんの例があります。プラグには何本のピンが必要か、ソケットには何本の穴が必要かなどを示す標準仕様があります。プラグやソケットを製造する会社は、規格に従ってプラグやソケットを製造しています。この仕様に準拠しているため、プラグが正しいかどうかを確認するために世界中へ行く必要はありません。

  2. 拡張性

  プロジェクトの開発プロセスでは、顧客のニーズが頻繁に変化するため、インターフェースが使用されていない場合は、既存のビジネスコードを常に書き直す必要があります。コードを書き直すと新たなバグが発生する可能性があり、コードを書き直すとビジネスを呼び出すクラスにも影響が及ぶため、すべての変更が必要になり、システム自体の安定性に影響を与える可能性があります。最終的にはコードが乱雑で読みにくくなる可能性があります。

  後から引き継いだ人がコードを理解できなくなり、システムの保守作業がどんどん重くなり、最終的にはプロジェクトの失敗につながる可能性があります。

  3. インターフェースはプロジェクトにおけるビジネスロジックである インターフェース指向プログラミングでは、まず顧客の業務をインターフェースとして抽出します。ビジネスの具体的な実装は、インターフェイスの実装クラスを通じて行われます。顧客の要件が変化した場合でも、既存のコードを書き換えることなく、新たにビジネスロジックの実装クラスを記述するだけで済むため、システムへの影響を軽減できます。これにより、プロジェクトのスケーラビリティが向上します。

一般的なインターフェイスの種類

  インターフェイスとは、外部システムとシステム間、および内部サブシステム間の対話ポイントを指します。外部インターフェイス、内部インターフェイスを含み、内部インターフェイスには、上位層サービス インターフェイスと下位層サービス インターフェイス、同じレベルのインターフェイスが含まれます。

  一般的な Web インターフェイス: 1 つは http プロトコル インターフェイスで、もう 1 つは Web サービス インターフェイス (スープ、rmi、rpc プロトコルなど) です。この記事では主に http リクエスト インターフェイスについて紹介します。

  一般的な http リクエスト メソッドには、get (確認)、post (増加) に加えて、put (変更)、delete (削除) などが含まれます。日常業務で最も一般的に見られる 2 つは get と post です。

   GET: GET は最も一般的であると言えます。その本質は、サーバー上の特定のリソースを取得するリクエストを送信することです。リソースは、HTTP ヘッダーとレンダリング データ (HTML テキスト、画像、ビデオなど) のセットを通じてクライアントに返されます。レンダリング データが GET リクエストに含まれることはありません。

   POST: データをサーバーに送信します。このメソッドは広く使用されており、ほとんどすべてのコミット操作がこのメソッドによって実行されます。これは、リクエストを処理するために指定されたリソースにデータを送信するために使用されます (例: フォームの送信やファイルのアップロード)。データ パッケージはリクエスト本文に含まれます。ポストリクエストにより、新しいリソースが作成されたり、既存のリソースが変更されたりする場合があります。資力。

   PUT: この方法は比較的まれです。HTML フォームもこれをサポートしていません。本質的に、PUT と POST は、どちらもデータをサーバーに送信するという点で非常に似ていますが、両者の間には重要な違いがあります。通常、PUT ではリソースの保存場所が指定されますが、POST では指定されません。POST データの保存場所は決定されます。サーバー自体によって。クライアントからサーバーに送信されたデータは、指定されたドキュメントのコンテンツを置き換えます。

   例: ブログ投稿を送信するための URL、/addBlog など。PUT を使用する場合、送信される URL は「/addBlog/ abc123 」のようになります。ここで、abc123 はこのブログ投稿のアドレスです。また、POST を使用した場合、送信後にサーバーからクライアントにアドレスが通知されます。最近はほとんどのブログがこんな感じです。明らかに、PUT と POST の目的は異なります。どちらを使用するかは、現在のビジネス シナリオによっても異なります。

  DELETE: リソースを削除します。基本的にこれはまれですが、Amazonの S3 クラウド サービスなど、この方法を使用してリソースを削除する場所がまだいくつかあります。

1) インターフェースを取得する

形式:URLの後にリクエスト番号パラメータを記述し、「?」でつなぎ、複数のパラメータの間を「&」でつなぎます。例: https://api.douban.com/v2/book/search?q=''、これは書籍情報をクエリするための Douban の開発 API、q=''、一重引用符内のパラメーターはクエリです以下の図に示すように、「星の王子さま」という本の情報については、q='星の王子さま' を使用して、郵便配達員ツールを使用してテストします。

シナリオ: get インターフェイスは情報を取得するために使用され、主にリスト クエリ関数などのデータをクエリするために使用され、クエリ ボタンをクリックして get インターフェイスを呼び出し、情報を返します。

特徴: 1) 要求されるデータ量が少ない、2) パラメータが URL アドレスに公開されるため、セキュリティ上のリスクがある

2) ポストインターフェース

説明: 指定されたリソースの場所にデータ (フォームの送信、ファイルのアップロードなど) を送信してリクエストを行います。リクエストを投稿すると、新しいリソースが作成される場合があります。

シナリオ:Douban.com上でユーザーを集め、メモを書き、書籍にコメントを投稿するなどの登録、アップロード、投稿などの機能

特徴:大量のデータ要求、高いセキュリティ

たとえば、コメントを投稿するための Douban のオープン API については、次の図を参照してください。

3) インターフェースを置く

説明: put リクエストは、最新のコンテンツを指定されたリソースの場所にアップロードするために使用されます。

シナリオ: たとえば、ユーザーが書籍のコレクションを変更したり、メモを修正したり、Douban Web サイト上のコメントを修正したりします。

たとえば、コメントを変更するための Douban のオープン API については、次の図を参照してください。

4) インターフェースの削除

説明: リクエスト内の URL で識別されるリソースを削除するようにサーバーにリクエストします。

シナリオ: たとえば、ユーザーが本のコレクションをキャンセルしたり、メモを削除したり、Douban Web サイト上のコメントを削除したりした場合

たとえば、コメントを削除するための Douban のオープン API については、次の図を参照してください。

珍しいインターフェイス タイプ (理解するだけ)

    一般的ではない HTTP リクエスト メソッドには、head、connect、options、trace などがあります。

    head: HEAD は本質的に GET と同じですが、違いは、HEAD にはプレゼンテーション データが含まれず、HTTP ヘッダー情報のみが含まれることです。つまり、返される応答には特定のコンテンツはなく、ヘッダーのみが取得されます。この方法は無駄だと思う人もいるかもしれませんが、そうではありません。ビジネス シナリオを想像してください。特定のリソースが存在するかどうかを判断するには、通常 GET を使用しますが、ここでは HEAD の意味がより明確です。

    connect: パイプラインへの接続を変更できるプロキシ サーバー用に HTTP/1.1 プロトコルで予約されています。

    オプション: この方法は興味深いものですが、ほとんど使用されません。現在の URL でサポートされているメソッドを取得するために使用されます。リクエストが成功すると、HTTP ヘッダーに「Allow」という名前のヘッダーが含まれ、その値は「GET、POST」などのサポートされているメソッドになります。クライアントがサーバーのパフォーマンスを表示できるようにします。

    トレース: 主にテストと診断のために、サーバーが受信したリクエストをエコーし​​ます。

付録 (get と post の違い)

この質問は面接でよく聞かれます。簡単に言うと、方法、サイズ、セキュリティの 3 つの側面からこの違いを振り返ることができます。

1).方法

このメソッドは、パラメータが渡される方法を指します。GET メソッドは通常、サーバー上のデータを取得することを指します。パラメータの直後に URL が続き、ブラウザのアドレス バーに直接配置できます。たとえば、GET メソッドは次のようになります。ログインするために使用されます。POST メソッドは、クライアントがフォーム データをサーバーに送信することを意味するため、POST はフォームを通じて送信されます。たとえば、Web ページでの新規ユーザーの登録、アンケート、回答には POST メソッドが使用されます。

2). サイズ

GET がブラウザのアドレス バーに直接入力されることはすでにわかっています。ブラウザの制限により、URL 全体の長さは非常に長くなる可能性がありますが、サイズ制限の 2049 KB を超えることはできず、この POST にはサイズ制限。

3). セキュリティ

GETのパラメータはブラウザのアドレスバーに直接繋ぎ合わされてインターネットに公開されるため、決して安全ではありません。POST はフォーム データを通じて送信され、GET メソッドよりも比較的安全です。

おすすめ

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