このセクションの初めに、Python インターフェイスの自動テストについて紹介します。まず、Python 開発環境をセットアップし、https://www.python.org/ から Python をダウンロードする必要があります。
バージョンを直接インストールするだけです。python2.7.11 バージョンをダウンロードすることをお勧めします。もちろん、最新バージョンの Python をダウンロードすることもできます。
インターフェイス テストは、システム コンポーネント間のインターフェイスをテストするテストの一種です。インターフェイス テストは主に、外部システムとシステム間、および内部サブシステム間の相互作用ポイントを検出するために使用されます。
テストの焦点は、データの交換、送信、制御管理プロセス、システム間の相互論理依存性などを確認することです。この説明は百度百科事典から引用しています。
もちろん、インターフェイス テストをより適切に実施するには、一般的に使用される http ステータス メッセージを理解する必要があります。たとえば、リクエストの成功は 200 OK ですが、http ステータス メッセージはこれとは異なります。
他にも多くの HTTP ステータス メッセージがありますが、簡単に理解すると、ブラウザが Web サーバーからリクエストを送信すると、リクエストが成功する場合もあれば、リクエストが失敗して他のエラーが返される場合もあります。
エラー情報を取得し、さまざまな状況に応じて HTTP ステータス メッセージを返します。たとえば、Baidu のホームページで検索キーワードを入力すると、成功した検索情報が返される場合もありますが、検索が失敗する場合もあります。
もちろん、このような状況が起こることはほとんどなく、結局のところ、Baidu はそのような低レベルのエラーを犯しません。一般的な http ステータス メッセージを以下に示します。この情報は w3c から取得されています。
Web サイトで、次の http ステータス メッセージを参照してください。
1xx: 情報
情報: | 説明する: |
---|---|
100 継続 | サーバーはリクエストの一部のみを受信しますが、サーバーがリクエストを拒否しなくなったら、クライアントはリクエストの残りの送信を続行する必要があります。 |
101 スイッチングプロトコル | サーバー変換プロトコル: サーバーはクライアントの要求に従い、別のプロトコルに変換します。 |
2xx: 成功
情報: | 説明する: |
---|---|
200 OK | リクエストは成功しました (その後に GET および POST リクエストに対する応答ドキュメントが続きます)。 |
201 件が作成されました | リクエストが作成され、新しいリソースが作成されます。 |
202 承認済み | 処理要求は受け付けられましたが、処理が完了していません。 |
203 権限のない情報 | ドキュメントは正常に返されましたが、ドキュメントのコピーが使用されたため、一部の応答ヘッダーが正しくない可能性があります。 |
204 コンテンツがありません | 新しい書類はありません。ブラウザは元のドキュメントを表示し続ける必要があります。このステータス コードは、ユーザーがページを定期的に更新し、サーブレットがユーザーのドキュメントが十分に最新であると判断できる場合に役立ちます。 |
205 リセット内容 | 新しい書類はありません。ただし、ブラウザは表示内容をリセットする必要があります。ブラウザにフォーム入力コンテンツを強制的にクリアさせるために使用されます。 |
206 部分的なコンテンツ | クライアントは Range ヘッダーを含む GET リクエストを送信し、サーバーがそれを完了します。 |
3xx: リダイレクト
情報: | 説明する: |
---|---|
300 の複数の選択肢 | 複数の選択肢。リンクされたリスト。ユーザーはリンクを選択して目的地に到達できます。最大 5 つのアドレスが許可されます。 |
301 永久に移動されました | リクエストされたページは新しい URL に移動されました。 |
302 件見つかりました | リクエストされたページは、新しい URL に一時的に移動されました。 |
303 その他を見る | 要求されたページは別の URL で見つかります。 |
304 未変更 | ドキュメントは期待どおりに変更されませんでした。クライアントはバッファリングされたドキュメントを持ち、条件付きリクエストを行います (通常は、クライアントが指定された日付より新しいドキュメントのみを必要とすることを示す If-Modified-Since ヘッダーを提供します)。サーバーは、バッファされた元のドキュメントが引き続き使用できることをクライアントに伝えます。 |
305 プロキシを使用する | クライアントによって要求されたドキュメントは、Location ヘッダーで指定されたプロキシ サーバーを通じて取得される必要があります。 |
306 未使用 | このコードは以前のバージョンで使用されていました。現在は使用されていませんが、コードはまだ保持されています。 |
307 一時リダイレクト | リクエストされたページは一時的に新しい URL に移動されました。 |
4xx: クライアントエラー
情報: | 説明する: |
---|---|
400不正な要求 | サーバーはリクエストを理解できませんでした。 |
401 不正 | 要求されたページにはユーザー名とパスワードが必要です。 |
402 支払いが必要です | このコードはまだ利用できません。 |
403禁止します | 要求されたページへのアクセスは禁止されています。 |
404お探しのページが見つかりませんでした | サーバーは要求されたページを見つけることができません。 |
405 メソッドは許可されていません | リクエストで指定されたメソッドは許可されていません。 |
406 受け入れられません | サーバーが生成した応答はクライアントにとって受け入れられませんでした。 |
407 プロキシ認証が必要です | ユーザーは、リクエストが処理される前に、まずプロキシ サーバーを使用して認証する必要があります。 |
408 リクエストタイムアウト | リクエストがサーバーの待機時間を超えました。 |
409 紛争 | 競合のためリクエストを完了できませんでした。 |
410 ゴーン | 要求されたページは利用できません。 |
411 長さが必要です | 「Content-Length」は定義されていません。このコンテンツがないと、サーバーはリクエストを受け入れません。 |
412 前提条件が失敗しました | リクエスト内の前提条件がサーバーによって失敗として評価されました。 |
413要求エンティティが大きすぎます | 要求されたエンティティが大きすぎるため、サーバーは要求を受け入れません。 |
414 リクエスト URL が長すぎます | URL が長すぎるため、サーバーはリクエストを受け入れません。これは、POST リクエストが非常に長いクエリ情報を含む GET リクエストに変換されるときに発生します。 |
415 サポートされていないメディア タイプ | メディア タイプがサポートされていないため、サーバーはリクエストを受け入れません。 |
416 | サーバーは、リクエスト内でクライアントによって指定された Range ヘッダーを満たすことができません。 |
417 期待は失敗しました |
5xx: サーバーエラー
情報: | 説明する: |
---|---|
500内部サーバーエラー | リクエストは完了していません。サーバーで予期しない状況が発生しました。 |
501 未実装 | リクエストは完了していません。サーバーは要求された機能をサポートしていません。 |
502不正なゲートウェイ | リクエストは完了していません。サーバーは上流サーバーから無効な応答を受け取りました。 |
503 サービスは利用できません | リクエストは完了していません。サーバーが一時的に過負荷またはダウンしています。 |
504ゲートウェイのタイムアウト | ゲートウェイのタイムアウト。 |
505 HTTP バージョンはサポートされていません | サーバーは、リクエストで指定された HTTP プロトコルのバージョンをサポートしていません。 |
インターフェイスのテストは、一般的に http プロトコルに基づく場合と Web サービス プロトコルに基づく場合の 2 つの状況に分けられますが、最も一般的に使用されるのは http プロトコルに基づくものです。
インターフェイス テストで最も一般的に使用される http メソッドは get および post、そしてもちろん put および delete リクエストです。インターフェイス テストのプロセスは、クライアント (ブラウザ) がサーバー (サービス) にリクエストを送信することです。
サーバー側) がリクエストを要求し、サーバーがリクエストを取得した後、レスポンスによって応答データがクライアントに返されます。以下では、インターフェイスのテストで一般的に使用されるいくつかのリクエスト メソッドについて説明します。
GET: 指定したリソースからデータを取得します
Baidu Reading で「selenium-python 自動テスト」を検索すると、私が書いた電子書籍「selenium-python 自動テスト」に戻り、アドレスを要求されます。
対象: http://yuedu.baidu.com/search?word=selenium-python%E8%87%AA%E5%8A%A8%E5%8C%96%E6%
B5%8B%E8%AF%95、メソッドは GET です。リクエスト後に返される結果を確認してください。
POST: 指定されたリソースに処理されるデータ
投稿リクエストの場合、Baidu ログインを例としてこのプロセスを説明します。リクエストのアドレスは http://www.cyw.com/api/login/authorized.html です。
リクエストメソッドはPOSTです。以下のスクリーンショットを参照してください。
PUT: 指定された URL をアップロードします。通常は変更であり、データベースの更新として理解できます。
DELETE: 指定されたリソースを削除します。
在接口测试中,一般来说,post创建数据,get获取创建成功后的所有数据和指定的数据,put可以对创建成功后的数据
进行修改,delete是指定的资源。
当然,接口自动化相比UI自动化来说,比较复杂,需要掌握的知识比较多,本人也是在学习中,感觉接口自动化测试,
首先需要了解http状态消息,http协议,http方法,当然还得了解python语言,毕竟接口自动化测试是以代码的方式进行,
并非工具的方式。
Python接口自动化测试零基础入门到精通(2023最新版)