ホームページ >ウェブフロントエンド >jsチュートリアル >Cypress API テストをマスターする: 例を含む包括的なガイド
一般に API と呼ばれるアプリケーション プログラミング インターフェイスは、開発の観点だけでなくテストの観点からもソフトウェア開発ライフサイクルの重要な側面です。これらの API は、異なるシステム間の対話を促進してデータを交換します。したがって、これらの API を徹底的にテストして、アプリケーションがシームレスに機能することを確認することが非常に重要になります。
この記事では、Cypress Testing Framework を使用した API テストを検討し、効率的なテストのために API を自動化する方法を見ていきます。この記事では以下の点について説明します-
API テストには、GET、POST、PUT、DELETE (またはその他のメソッド) の HTTP リクエストをバックエンド サーバーに送信し、応答を取得することが含まれます。応答が取得されると、期待された値が受信されたかどうかが検証されます。 API テストの重要な側面のいくつかを以下に示します
Cypress は、ブラウザーとエンドツーエンドの自動テストに使用される、人気のあるフロントエンド テスト ツールです。 Cypress にはネットワーク リクエスト機能が備わっているため、API テストにも適しています。 API テスト用に Cypress が提供する主な機能の一部は次のとおりです-
精緻なドキュメント – サイプレスはリクエストとアサーションを適切に文書化しているため、実行中のサポートを受けることが容易になります。
Cypress には、API テストを効果的かつ効率的に実行するのに役立つさまざまな機能が付属しています。いくつかの機能については以下で説明します -
Cypress が API の自動化にどのように役立つかを理解したので、Cypress を使用して簡単な API テストを作成してみましょう。ただし、その前に、以下の前提条件が満たされていることを確認する必要があります-
この記事では、GET、POST、PUT、および DELETE メソッドを使用して HTTP リクエストを送信する簡単なシナリオについて説明します。ただし、テスト スクリプトを書き始める前に、環境をセットアップします。
サイプレス API
2.次に、Visual Studio Code エディターを開き、手順 1 で作成したフォルダーを開きます。
3 .フォルダーを開いたので、次のステップはノード プロジェクトを設定することです。これを行うには、ターミナルでコマンド npm init -y を使用します。これにより、package.json ファイルが作成されます。
4 .まだインストールしていない場合は、npx cypress install コマンドを使用して、ターミナルから Cypress をインストールします。
5 .ここで、テスト用の構成ファイルを作成します。そのために、ターミナルでコマンド npx cypress open を実行します。
6 . Cypress ツールが開いたら、[E2E テスト] を選択します。
7 .次の画面で [続行] をクリックします。
8 .構成ファイルのセットアップが完了したら、Visual Studio Code エディターに戻ると、構成ファイルが作成されたことがわかります。
9 .これで、Cypress が正常にインストールされ、環境もすべて設定されました。これからテストの作成を開始します。
Cypress API オートメーションをデモするために、いくつかのダミー API 呼び出しを使用します。
Visual Studio Code エディターで、Cypress ディレクトリの下にフォルダー e2e を作成します。 e2e フォルダーの下に、APITests という名前で別のフォルダーを作成できます。要件に応じてフォルダー名を選択できることに注意してください。
ここで、最初のテスト ファイルの作成を開始します。 APITests フォルダーの下にファイルを作成します。これに HttpGetRequest という名前を付けます。以下のスナップショットに示すように、このファイル名には .cy.js という拡張子が付きます -
ここで、メインのコードを書き始めます。その前に、リクエストの基本的な構文を見てみましょう-
cy.request(METHOD,url,body)
Cypress を使用して作成されたリクエストでは、URL は必須パラメータですが、メソッドやボディなどの他のパラメータはオプションです。 Cypress の公式ドキュメントからさまざまなリクエスト構文を参照して、リクエスト構文の異なる使用方法をさらに理解してください。
このシナリオ例では、GET メソッドを使用してリソースを取得するため、メソッドと URL を cy.request のパラメーターとして使用します。
cy.request('GET','https://dummy.restapiexample.com/api/v1/employees')
このコマンドはサーバーへの API 呼び出しを行います。
次に、ステータス コードなどの応答値をアサートします。
.its('ステータス')
. should('equal',200);
このコード行は、応答ステータス コードを検証し、その値が 200 であることをアサートします。
このコードが結合されるとどのように見えるかを見てみましょう:
describe('HTTPGet',()=>{
it('GET リクエスト',()=>{
cy.request('GET','https://dummy.restapiexample.com/api/v1/employees')
.its('ステータス')
. should('equal',200);
})
})
GET リクエストのコードを書いた後、同じものを実行します。これを実行するには、次の 2 つの方法のいずれかを使用できます -
ターミナル経由で Cypress コードを実行するには、ターミナル ウィンドウを開いて次のコマンドを渡すだけです。
npx cypress run –spec “filepath”
上記のコマンドのファイル パスは、実行するファイルの相対パスです。以下のスナップショットは、私のシステムでの HTTPGetRequest ファイルの実行を示しています-
テストの実行が成功し、API テストに合格したことがわかります。
Cypress ツールを使用して同じテストを実行してみましょう。
1 .コマンド npx cypress open を記述するだけでツールが開きます。
これで、最初の Cypress API 自動化テストが実行されました。次に、他のいくつかの HTTP メソッドを実行できるようにコードを拡張します。
POST HTTP リクエストを実行するコード -
describe('HTTPGet',()=>{
it('POST リクエスト',()=>{
cy.request({
メソッド: 'POST'、
URL: 'https://dummy.restapiexample.com/api/v1/create',
本文: {
"名前":"テスト投稿",
"給与":"1234",
"年齢":"23"
}
})
.its('ステータス')
. should('equal',200);
})
})
上記のコードを実行すると、以下に示すように実行結果がログに表示されます-
次のデモでは、別の偽の API コレクションを使用し、HTTP リクエスト メソッドがそれらに対してどのように機能するかを確認します。
PUT HTTP リクエストを実行するコード -
describe('HTTPPut',()=>{
it('PUT リクエスト',()=>{
cy.request({
メソッド: 'PUT'、
URL: 'https://jsonplaceholder.typicode.com/posts/1',
本文: {
ID: 1、
タイトル: 'これは PUT アップデートです',
body: 'これは PUT Update 本文です',
ユーザーID: 1,
}
})
.its('ステータス')
. should('equal',200) ;
})
})
上記のコードの実行結果は以下に表示されます-
削除 HTTP リクエストを実行するコード (上で使用したのと同じ例に以下のコードを追加したことに注意してください)-
it('削除リクエスト',()=>{
cy.request({
メソッド: 'DELETE'、
URL: 'https://jsonplaceholder.typicode.com/posts/1',
})
.its('ステータス')
. should('equal',200) ;
})
PUT リクエストと DELETE リクエストの両方が同じファイル内にあったため、両方のメソッドが実行され、結果は以下のようになります-
これで、Cypress を使用してさまざまなメソッドの基本的な HTTP リクエストを実行する方法がわかりました。ここで、プロジェクトに Cypress API テストを実装して、短い所要時間で API をいかに簡単にテストできるかを確認してください。
API と API テスト用の Cypress の基本を確認した後、以下の点について結論を出します。
出典: この記事はもともと testgrid.io で公開されました。
以上がCypress API テストをマスターする: 例を含む包括的なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。