ReadyAPIチュートリアルと例(1)



Readyapi Tutorials Examples



免責事項:転載をご希望の場合は、このブログのリンクをご記入ください。オリジナルを尊重していただき、ありがとうございます。

この記事で使用されているReadyAPIのバージョンは2.5.0です。



メインのReadyAPIのSoapUI機能の概要は次のとおりです。

https://support.smartbear.com/readyapi/docs/_images/soapui/tutorial/your-first-test/quick-tour.png



まず、機能テストを作成します

ユーザーは、ReadyAPIを使用して、Webサービスの機能、負荷、およびセキュリティのテストを簡単に実行できます。ユーザーは、サービスのローカル仮想コピーを作成して、実際のサービスが稼働する前にテストを実行することもできます。

この記事では、SoapUIで基本的な機能テストを作成する方法について説明します。ファイルからWebサービス定義をロードし、操作のテストを作成し、テストを実行し、アサーションを使用してテスト結果を検証します。



この記事の内容は次のとおりです。

1、基本コンセプト

2、機能テストを作成します

3.テストプロジェクトプロジェクトを探索する

4、SoapUIテストを変更します

5、SoapUIテストを実行します

6、アサーションを追加します

1 、基本コンセプト

ReadyAPIを使用してテストを作成および実行するには、ユーザーはWebサービステクノロジーとテストの原則についての一般的な理解が必要です。このトピックは非常に大きく、ReadyAPIドキュメントの範囲外であり、ユーザーはこれらの手法を説明する多くの優れたリソースをWeb上で見つけることができます。ここでは、ユーザーがReadyAPIをより早く使い始めるのに役立つ概要を記述しました。

1.1 、基本知識

Webサービスは、クライアントとサーバーがHTTPプロトコルまたはその他のHTTPベースのプロトコルを介してWeb経由でデータを交換するクライアント/サーバーアプリケーションです。そのようなアプリケーションの例には、ナビゲーションソフトウェア、オンラインバンキングクライアント、気象監視システムなどが含まれる。

クライアントがリクエストを送信するURLには、テスト対象のサーバー(ホスト)の情報、通信に使用されるポート番号、およびページやファイルパスなどのリクエストされたサーバーリソースが含まれます。

クライアントからサーバーに送信される要求メッセージの構造は次のとおりです。

開始行:HTTPメソッドの開始行(GET、POST、DELETEなど)、ターゲットURL、およびプロトコルバージョンを指定します。

ヘッダー:予想される応答データ形式や、要求されたデータのサイズと形式などの追加情報を渡します。

メッセージ本文:(オプション)一部の要求タイプはそれを使用しません。

応答メッセージの構造は次のとおりです。

開始行:応答コードとメッセージの場合、いくつかの一般的なコードは、200 OK(成功)、404 Not Found(失敗、要求されたリソースが見つかりません)、および504(サーバー内部エラー)です。

ヘッダー:応答データ形式を説明し、他の値(Cookie、サーバー情報など)を含みます。

メッセージ本文:応答本文には、画像、画像、ファイルなどの配列が含まれます。

要求および応答メッセージ本文の一般的な形式は、JSONとXMLです。

クライアントが実行のためにサーバーに送信するコマンドは、サービスアーキテクチャスタイル(SOAPまたはREST、以下を参照)に応じて、アクション、メソッド、または操作と呼ばれます。

Webサービスの2つの一般的なアーキテクチャスタイルは、SOAPとRESTです。

SOAPサービスは、HTTP上に構築されたSOAPプロトコルを使用します。これらのサービスはPOSTタイプのHTTPリクエストを使用し、リクエストとレスポンスの本文でXML形式のデータを渡します。すべてのリクエストは同じURLに送信され、実行されるアクションは、リクエスト本文の特別なリクエストヘッダーまたはXML要素によって指定されます。

SOAPサービスは、WSDL定義を使用して、サービスでサポートされる操作、パラメータータイプ、およびデータ形式を厳密に記述します。

RESTサービスはHTTP上で機能します。実行する操作は、HTTPメソッドと要求されたリソース名の組み合わせによって設定されます。たとえば、オンラインペットショップのRESTfulサービスには、/ petsリソースを含めることができます。 POST http://petstore.io/petsリクエストはペット情報をデータベースに追加でき、GEThttp://petstore.io/petsリクエストは利用可能なペットに関する情報を取得できます。

RESTサービス定義には、OpenAPI(Swagger)、WADL、およびその他の形式のいくつかの形式があります。ただし、一部の開発者は、RESTfulサービスの定義を提供していません。

1.2 テストする方法 ウェブ サービス

Webサービスが機能していることを確認するには、Webサービスで機能テストを作成して実行します。

これらのテストは、サーバーに要求を送信し、その応答を検証します。 ReadyAPIでは、ユーザーはSoapUIで機能テストを作成できます。名前は「SoapUI」と呼ばれますが、ユーザーはその上にSOAPおよびRESTサービスのテストを作成できます。ユーザーは、特別なエディターでリクエストを簡単にシミュレートし、パラメーターをカスタマイズできます。

https://support.smartbear.com/readyapi/docs/_images/soapui/tutorial/your-first-test/basic-concepts-request-editor.png

応答データと応答コードを確認するには、テスト要求にアサーションを追加します。

https://support.smartbear.com/readyapi/docs/_images/soapui/tutorial/your-first-test/basic-concepts-assertions.png

サーバーが正常に機能しているかどうかを判断する最も簡単な方法は、応答コードを確認することです。 200 OKは通常、サーバーがリクエストを正常に処理したことを示します。

実際には、クライアントは通常、一連の要求をサーバーに送信します。たとえば、オンラインストアの場合、最初のリクエストを使用してログインし、後続のリクエストを使用して特定の製品を購入できます。この実際の動作は、リクエストやその他のテストステップをテストケースに整理することで、SoapUIでシミュレートできます。

複数のテストケースがテストスイートを形成し、テストスイートはテストプロジェクトに属します。次のセクションでは、テストプロジェクトを作成し、それに自動機能テストを追加します。

、機能テストを作成する

このサービスのWSDL定義は、ReadyAPIでSOAPサービスをテストするために必要です。この定義は、サービスの操作、要求、および応答の形式を記述します。 ReadyAPIは、この情報を使用してリクエストをシミュレートします。

RESTサービスも定義できます。最も一般的に使用される定義形式は、OpenAPI(以前はSwaggerと呼ばれていました)、WADL、およびその他の形式です。ユーザーはこれらの定義をReadyAPIにロードし、それらの定義の情報に基づいてテストケースを作成できます。しかし、一般的に、RESTサービスはまったく定義されていない可能性があります。ユーザーは、サービスURLの要求をログに記録することにより、ReadyAPIでそのようなサービスのテストを作成できます(これはAPI検出と呼ばれます)。 ReadyAPIは、追跡されたサービスに基づいて、要求および応答パラメーターに関する情報を取得します。ただし、この「観測」データは定義内の情報ほど正確ではないため、可能な場合は定義を使用することをお勧めします。

ここでは、ペットショップのWebサービスを例として使用してテストを作成します。これはRESTサービスであり、ユーザーはここでその定義を見つけることができます。

http://petstore.swagger.io/v2/swagger.json

この定義には、OpenAPI 2.0(Swagger)形式があります。ここでは、ユーザーは今すぐ定義をダウンロードする必要はありません。機能テストを作成した後、ReadyAPIがこれを実行します。具体的な作成プロセスは次のとおりです。

1. SoapUIスタートページに切り替えて、 API定義からテストを作成します

https://support.smartbear.com/readyapi/docs/_images/soapui/tutorial/your-first-test/from-start-page.png

2.後続のウィザードでWebサービス定義のURLを指定します。私たちの場合、それは http://petstore.swagger.io/v2/swagger.json 、次にクリックします 、次のステップに進みます

https://support.smartbear.com/readyapi/docs/_images/soapui/tutorial/your-first-test/new-rest-project-dialog.png

3.追加した定義に対して新しいプロジェクトを作成するか、既存のプロジェクトに追加するかを選択します。クリック '続ける。

https://support.smartbear.com/readyapi/docs/_images/soapui/tutorial/your-first-test/specify-project.png

注:プロジェクトウィザードがワークスペースで開かれていない場合、この手順はスキップされます。この場合、ReadyAPIは新しいプロジェクトを作成し、それに新しいテストを追加します。

4.このステップにより、ユーザーはテストに追加するアサーションを選択できます。 ReadyAPIは、選択したアサーションを新しいテスト要求に追加します。

アサーションは、ユーザーのAPIが期待どおりに機能することを確認します。これらについては、このチュートリアルの後半で詳しく説明します。しかし、ここで、チェックされたオプションをクリアして、「次へ」をクリックします。

https://support.smartbear.com/readyapi/docs/_images/soapui/tutorial/your-first-test/add-assertions-page.png

5. Webサービスに対して定義されたすべての操作のテストケースを作成するか、複数のテストケース(操作ごとに1つ)を使用するかを選択します。後者のオプションを使用し、[完了]をクリックしてテストを作成します。

https://support.smartbear.com/readyapi/docs/_images/soapui/tutorial/your-first-test/multiple-test-cases.png

6. ReadyAPIはテストプロジェクトを作成し、それにテストケースを追加します。

次に、ユーザーが「作成したテストを実行する」または「データソースを追加する」を選択できるダイアログが表示されます。この記事では、次のオプションを使用してこのダイアログを閉じることはしません。

3 探査テスト 事業 事業

2番目のステップの後、ユーザーは作成されたテスト項目を左側のナビゲーターパネルに表示できます。

https://support.smartbear.com/readyapi/docs/_images/soapui/tutorial/your-first-test/test-cases-in-navigator.png

プロジェクトには複数のテストケースがあり、それらはすべてテストスイートにグループ化されており、テストスイートはプロジェクトに属しています。この場合、テストケースごとにリクエストテストステップは1つだけです。実際には、ユーザーのテストケースには通常複数のステップがあります。

このチュートリアルの次のステップで、テストケースにリクエストを追加する方法を説明します。

サービスを参照するには、ReadyAPIの「プロジェクト」ページに切り替えます。左側のナビゲーションパネルで、ユーザーはサービスリソースとリクエストのツリー構造を確認できます。

https://support.smartbear.com/readyapi/docs/_images/soapui/tutorial/your-first-test/service-in-navigator.png

最上位ノードはWebサービスに対応し、その子ノードはリソースに対応し、リソースノードには子ノードが順番にあります。これらの子ノードは、Webサービス仕様のリソースによって定義された要求に対応します。

右側のエディターを使用して、選択したサービス、リソース、またはリクエストのパラメーターを表示します。

一部のリソースは複数のリクエストを定義しますが、通常は異なるHTTPメソッドがあり、その他のリソースには1つのリクエストしかありません。プロジェクトのツリー構造でユーザーに表示されるリクエストは、テンプレートリクエストとして機能します。たとえば、ユーザーはここで各リクエストに異なるパラメータを設定し、これらのリクエストをSoapUIのリクエストテストステップの基礎として使用できます。

https://support.smartbear.com/readyapi/docs/_images/soapui/tutorial/your-first-test/template-requests.png

プロジェクトでは、ユーザーはリクエストに対してできるだけ多くのテンプレートを作成できます。

ユーザーは、リクエストエディターからリクエストを実行して、リクエストが機能しているかどうかを確認することもできますが、これは1回のリクエスト実行になることに注意してください。実際のシナリオをシミュレートするには、ユーザーは複数のリクエストでテストケースを実行する必要があります。