Web サービスの API テストの作成と実行
このレッスンでは、Web サービス記述言語(WSDL)ファイルから UFT One にインポートされたカスタム・アクティビティを使用して、Web サービスの API テストを作成して実行する方法について説明します。
WSDL ファイルにサービスの記述を保存し、サービスのメタデータと操作またはメソッドを定義できます。UFT One で WSDL を読み取り、[ツールボックス]表示枠にサービスのメソッドとアクティビティを作成できます。
標準アクティビティがアプリの実行プロセスと一致しない場合は、カスタム・インポート・サービスを使用してください。
Web サービス・テストの作成
MyFlight アプリケーション・ソリューションに Web サービスのテストを追加して、MyFlights アプリの Web(API)層をテストします。
次の手順を実行します。
-
UFT One を起動し、MyFlight アプリケーション・ソリューションを開きます。
詳細については、「テストの計画とソリューションの作成」を参照してください。
- ツールバーの[追加]ドロップダウンを選択し、[新規テストの追加]を選択します。
-
[新規テストの追加]ダイアログで、次の操作を行います。
- [API テスト]を選択します。
- [名前]フィールドに「MyFlightWebService」と入力します。
- [場所]フィールドで、テストが C:\%HOMEPATH%\Unified Functional Testing ディレクトリに保存されることを確認します。
[追加]をクリックして、テストをソリューションに追加します。
- 「Web サービスのインポート」に進んでください。
Web サービスのインポート
MyFlight サービスの記述とそのメソッドを UFT One にインポートします。
次の手順を実行します。
-
Flight API アプリを起動します。詳細については、「Flights API 層」を参照してください。
注意: このレッスンを行っている間は[Micro Focus Service APIs]ダイアログを開いたままにし、UFT One でテストが実行されている間、確実に Flights API サービスが実行されているようにしてください。
- [Micro Focus Service APIs]ダイアログで、[Copy WSDL Path]をクリックして、サービス・パスをクリップボードにコピーします。
-
UFT One で、ツールバーの[WSDL のインポート]ドロップダウンを選択し、[WSDL を URL または UDDI からインポート]を選択します。
-
[WSDL を URL または UDDI からインポート]ダイアログで、[URL]を選択します。
次に、[アドレス]フィールドをクリックし、[Micro Focus Service APIs]ダイアログからコピーしたサービス・パスの URL を貼り付けます。
-
[OK]をクリックしてサービスを UFT One にインポートします。
これで、[ツールボックス]表示枠にメソッドが表示されるようになりました。
- 「Web サービスのテストの作成とパラメータ化」に進んでください。
Web サービスのテストの作成とパラメータ化
この実習では、フライト情報を取得するステップと航空券の申し込みを作成するステップを含む、Flights API の Web サービス・テストを、作成してパラメータ化する方法について説明します。
API サービスのテスト・フローは、アプリケーション・フローのステップと可能な限り一致する必要があります。アプリでの、GUI 層用に作成したテストのステップを十分に理解しておく必要があります。詳細については、「GUI テストの作成と実行」を参照してください。
テスト構造の作成
次の手順を実行します。
-
[ツールボックス]表示枠で、[ローカル アクティビティ]>[Web サービス]>[Flights_Service]>[FlightsServiceMethods]を展開し、WSDL ファイルからインポートされたすべてのメソッドを表示します。
-
GetFlights メソッドをキャンバスの[テスト フロー]ボックスにドラッグして、最初のステップを作成します。
-
CreateFlightOrder メソッドを[テスト フロー]ボックスにドラッグして、2 番目のステップを作成します。
- 「FlightNumber 値の GetFlights 出力へのリンク」に進んでください。
FlightNumber 値の GetFlights 出力へのリンク
次の手順を実行します。
-
キャンバスで[CreateFlightOrder]ステップを選択し、[プロパティ]表示枠を表示します。
-
[プロパティ]表示枠の[入力/チェックポイント]タブで、[本文]>[CreateFlightOrder]>[FlightOrder]>[FlightNumber]行まで下に移動します。
- FlightNumber 行を選択するかカーソルを合わせて、[データ ソースにリンク]ボタンをクリックします。
-
[リンク元の選択]ダイアログで、上部の[利用可能なステップ]を選択します。
左側で、[GetFlights]ステップを選択します。
右側の[出力]セクションで、GetFlightsResult ノードを展開します。
-
表示される[Flight(配列)]行で、[追加]をクリックします。
-
表示される[Flight[1]]配列を展開すると、GetFlights ステップのすべての出力プロパティのリストが表示されます。
下にスクロールして、[FlightNumber]プロパティを表示します。
-
[FlightNumber]プロパティを選択し、[OK]をクリックします。
ターゲットのステップをループで囲むかどうかを確認するメッセージが表示されたら、[いいえ]を選択します。
UFT One [FlightNumber]プロパティの[値]カラムが更新されて、リンクが反映されます。
-
「テストで使用するデータ・ソースの追加」に進んでください。
次の手順を実行します。
- [データ]表示枠が表示されていない場合は表示します([表示]>[データ])。
-
[データ]表示枠で、[新規データ ソース]をクリックして[Excel]を選択します。
-
[新規データ ソース]ダイアログで、次の手順を実行します。
- [名前]フィールドに「WS_Flights」と入力します。
- <UFT One インストール・フォルダ>\samples\Flights Application ディレクトリに保存されている Excel ファイルを参照して選択します。
- [元の場所にある Excel ファイルへのリンク]を選択します。
[OK]をクリックして Excel データをテストに追加します。
- 「テスト・ステップのデータ・ソースへのリンク」に進んでください。
次の手順を実行します。
-
キャンバスで、[GetFlights]ステップを選択して、[プロパティ]表示枠を表示します。
-
[プロパティ]表示枠の[入力/チェックポイント]タブで、[GetFlights]ノードを展開します。
-
[DepartureCity]行にカーソルを合わせるか選択して、[データ ソースにリンク]ボタンをクリックします。
-
[リンク元の選択]ダイアログで、次の手順を実行します。
- 上部の[データ ソース カラム]を選択します。
- 左側で、[WS_Flights!Input]を選択します。
- 右側で、[DepartureCity]を選択します。
-
[OK]をクリックして、[DepartureCity]プロパティ値を、データ・テーブルの[DepartureCity]カラムにリンクします。
この変更内容が[プロパティ]表示枠に反映されます。
-
[ArrivalCity]および[FlightDate]値について、これまでの手順を繰り返します。
[FlightDate]値には[DepartureDate]を選択してください。
-
キャンバスに戻って、[CreateFlightOrder]ステップを選択します。
次の値について、これらの手順を再度繰り返します。
- Class
- CustomerName:この値については、最初に青いボックスをクリックして NIL 値を削除してから、このプロパティをリンクしてください。
- DepartureDate
- NumberofTickets
完了すると、[プロパティ]表示枠は次のようになります。
- 「データ・ソースのナビゲーションの設定」に進んでください。
テスト実行でのデータ処理方法を設定します。次の手順を実行します。
-
キャンバスで[テスト フロー]ボックスを選択して、テスト・フローの[プロパティ]表示枠を表示します。
-
[プロパティ]表示枠で[データ ソース]タブを選択します。
-
テーブルで[WS_Flights!Input]エントリを選択し、[編集]をクリックします。
-
[データ ナビゲーション]ダイアログで、データ・ナビゲーションの詳細を次のように指定します。
開始位置: 最初の行 移動単位: 3 行進む 終了位置: 最後の行 最終行への到達時: 折り返す -
[OK]をクリックして、テストを保存します。
-
「Web サービスのテストの実行」に進んでください。
Web サービスのテストの実行
前の手順で作成した Web サービス・テストを実行します。
次の手順を実行します。
-
Flight API アプリが起動中であることを確認します。詳細については、「テストの計画とソリューションの作成」を参照してください。
-
テストの反復回数を定義します。キャンバスで、[テスト フロー]ボックスを選択します。
-
[プロパティ]表示枠の[入力]タブで、次の操作を行います。
- ['For' ループ]オプションを選択します。
- [反復回数]フィールドに、「4」と入力します。
-
[実行]ツールバー・ボタンをクリックします。
MyFlightWebService テストが選択されていることを確認し、[実行]をクリックしてテストを実行します。
-
テストが完了して実行結果が表示されたら、[テスト フロー]内をいずれかの GetFlights ノードまで下に移動します。
ステップのキャプチャ・データで、[その他]領域が表示されるまで下にスクロールします。ここに、実行された Web サービス呼び出しの HTTP 要求および応答情報が表示されます。
例:
-
[完全要求]セルのリンクをクリックして、選択したステップに送信された入力プロパティを表示します。
例:
-
さらに下にスクロールし、[OutputXML]セルのリンクをクリックして、ステップの出力プロパティを表示します。
例:
-
さらに下にスクロールして[チェックポイント]領域を表示し、チェックポイントの結果を表示します。
例:
- チュートリアルの他の実習のいずれかに進んでください。
次のステップ: