WADL サービスの API テストの作成と実行

このレッスンでは、Web アプリケーション記述言語(WADL)ファイルから UFT One にインポートされたカスタム・アクティビティを使用して、Web アプリケーション・サービスの API テストを作成して実行する方法について説明します。

WADL ファイルにサービスの記述を保存し、サービスのメタデータと操作またはメソッドを定義できます。UFT One で WADL を読み取り、[ツールボックス]表示枠にサービスのメソッドとアクティビティを作成できます。

標準アクティビティがアプリの実行プロセスと一致しない場合は、カスタム・インポート・サービスを使用してください。

Web アプリケーション・サービス・テスト用のテストの作成

MyFlight アプリケーション・ソリューションに Web アプリケーション・サービスのテストを追加して、MyFlights アプリの Web(API)層をテストします。

次の手順を実行します。

  1. UFT One を起動し、MyFlight アプリケーション・ソリューションを開きます。

    詳細については、「テストの計画とソリューションの作成」を参照してください。

  2. ツールバーの[追加]ドロップダウンを選択し、[新規テストの追加]を選択します。
  3. [新規テストの追加]ダイアログで、次の操作を行います。

    • API テスト]を選択します。
    • 名前]フィールドに「MyFlightWADL」と入力します。
    • 場所]フィールドで、テストが C:\%HOMEPATH%\Unified Functional Testing ディレクトリに保存されることを確認します。

    追加]をクリックして、テストをソリューションに追加します。

  4. 「MyFlight Web アプリケーション・サービス・モデルのインポート」に進んでください。

先頭に戻る

MyFlight Web アプリケーション・サービス・モデルのインポート

MyFlight WADL サービスの記述とそのメソッドを UFT One にインポートします。

次の手順を実行します。

  1. Flight API アプリを起動します。詳細については、「Flights API 層」を参照してください。

    注意: このレッスンを行っている間は[Micro Focus Service APIs]ダイアログを開いたままにし、UFT One でテストが実行されている間、確実に Flights API サービスが実行されているようにしてください。

  2. Micro Focus Service APIs]ダイアログで、[Copy WADL Path]をクリックして、サービス・パスをクリップボードにコピーします。
  3. UFT One で、ツールバーの[REST サービスの追加ドロップダウンを選択して、[WADL を URL からインポート]を選択します。

  4. WADL を URL からインポート]ダイアログで、[Micro Focus Service APIs]ダイアログからコピーした WADL パスの URL を貼り付けます。

  5. OK]をクリックしてサービスを UFT One にインポートします。

    これで、[ツールボックス]表示枠にメソッドが表示されるようになりました。

  6. 「テストでの Web アプリケーション・サービスのメソッドの編集」に進んでください。

先頭に戻る

テストでの Web アプリケーション・サービスのメソッドの編集

この実習では、WADL ファイルからインポートされたサービスの記述にプロパティを追加する方法について説明します。このプロパティは、テストにメソッドを追加するときには常にプロトタイプとして使用されます。

WADL ファイルからインポートされた元のデータは読み取り専用であり、インポート後に変更することはできません。

次の手順を実行します。

  1. 次のコード行をテキスト・エディタにコピーし、response.xml としてファイルを保存します。

    <ArrayOfFlight xmlns="HP.SOAQ.SampleApp" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
     <Flight>
       <Airlines>AA</Airlines>
       <ArrivalCity>Denver</ArrivalCity>
       <ArrivalTime>01:23 PM</ArrivalTime>
       <DepartureCity>London</DepartureCity>
       <DepartureTime>06:12 AM</DepartureTime>
       <FlightNumber>20279</FlightNumber>
       <Price>112.2</Price>
     </Flight>
    </ArrayOfFlight>
    
  2. ツールボックス]表示枠で、[Flight Service]ノードを右クリックし、[サービスの編集]を選択します。

  3. [REST サービスの編集]ダイアログで、左側の[Flight Service]>[Flights_REST]>[Flights]>[GetFlights]ノードを選択します。

  4. 右側で、[HTTPタブを選択し、[応答本文]を[XML]として定義します。

  5. 応答本文]セクションでをクリックし、ステップ 1 で作成した response.xml ファイルを参照して選択します。

    インポートされたプロパティがグリッドに表示されます。

  6. をクリックして、コピーしたプロパティをグリッド・ビューで表示します。これらは、このテストで使用するプロパティの一部です。

  7. [REST サービスの編集]ダイアログで、[Flight Service]>[Flights_REST]>[FlightOrders]>[ReserveOrder]ノードを選択します。

  8. 右側で、[HTTPタブを選択し、[要求本文]を[XML]として定義します。

  9. ビューを選択した状態で、次のコードを XML の編集ボックスにコピーします。

    <?xml version="1.0" encoding="utf-8"?>
    <FlightOrderDetails xmlns="HP.SOAQ.SampleApp">
     <Class>Business</Class>
     <CustomerName>John Doe</CustomerName>
     <DepartureDate>2019/12/12</DepartureDate>
     <FlightNumber>1304</FlightNumber>
     <NumberOfTickets>21</NumberOfTickets>
    </FlightOrderDetails>
  10. をクリックして、コピーしたプロパティをグリッド・ビューで表示します。これらは、このテストで使用する残りのプロパティです。

  11. OK]をクリックしてテストを保存し、WADL ファイルからインポートしたサービス・モデルへの変更を保存します。
  12. 「MyFlight Web アプリケーション・サービスのテストの構築」に進んでください。

先頭に戻る

MyFlight Web アプリケーション・サービスのテストの構築

この実習では、テストでインポートおよび変更した MyFlight サービス・メソッドを使用して Web アプリケーション・サービスのテストを作成する方法について説明します。完了すると、テストに、フライトを取得して航空券の申し込みを行うステップが含められます。

API サービスのテスト・フローは、アプリケーション・フローのステップと可能な限り一致する必要があります。アプリでの、GUI 層用に作成したテストのステップを十分に理解しておく必要があります。詳細については、「GUI テストの作成と実行」を参照してください。

テスト構造の作成

  1. [ツールボックス]表示枠で、[ローカル アクティビティ]>[REST サービス]>[Flight Server]>[Flights_REST]>[Flights]ノードを展開します。

  2. GetFlights メソッドをキャンバスにドラッグして、最初のステップを作成します。

  3. [ツールボックス]表示枠で[FlightOrders]ノードを展開し、ReserveOrder メソッドをキャンバスにドラッグして、2 番目のステップを追加します。

  4. 「FlightNumber 値の GetFlights 出力へのリンク」に進んでください。

FlightNumber 値の GetFlights 出力へのリンク

次の手順を実行します。

  1. キャンバスで、[ReserveOrder]ステップを選択して、右側に[プロパティ]表示枠を表示します。
  2. [プロパティ]表示枠で、[HTTP]タブを選択します。

  3. FlightNumber]の値セルにカーソルを合わせるかクリックして、[データ ソースにリンク]ボタンをクリックします。

  4. ['FlightNumber' のリンク元の選択]ダイアログで、次の手順を実行します。

    • 上部の[利用可能なステップ]を選択します。
    • 左側で、[GetFlights]ステップを選択します。
    • 右側で、[FlightNumber]プロパティを選択します。

  5. OK]をクリックすると、UFT One が[GetFlights]ステップの出力を元にパラメータ化された FlightNumber 値を更新します。

  6. 「テストで使用するデータ・ソースの追加」に進んでください。

テストで使用するデータ・ソースの追加

次の手順を実行します。

  1. [データ]表示枠が表示されていない場合は表示します([表示]>[データ])。
  2. [データ]表示枠で、[新規データ ソースをクリックして[Excel]を選択します。

  3. [新規データ ソース]ダイアログで、次の手順を実行します。

    • 名前]フィールドに「WADL_Flights」と入力します。
    • <UFT One インストール・フォルダ>\samples\Flights Application ディレクトリに保存されている Excel ファイルを参照して選択します。
    • 元の場所にある Excel ファイルへのリンク]を選択します。

    OK]をクリックして Excel データをテストに追加します。

  4. 「テスト・ステップをデータ・ソースにリンク」に進んでください。

テスト・ステップをデータ・ソースにリンク

次の手順を実行します。

  1. キャンバスで、[GetFlights]ステップを選択して、右側に[プロパティ]表示枠を表示します。

  2. [プロパティ]表示枠の[入力/チェックポイントタブで DepartureCity Value セルにカーソルを合わせるかクリックし、[データ ソースにリンク]ボタンをクリックします。

  3. リンク元の選択]ダイアログで、次の手順を実行します。

    1. 上部の[データ ソース カラム]を選択します。
    2. 左側で、[WADL_Flights!Input]を選択します。
    3. 右側で、[DepartureCity]を選択します。

  4. OK]をクリックして、[DepartureCity]プロパティ値を、データ・テーブルの[DepartureCity]カラムにリンクします。

  5. ArrivalCity]および[Date]値について、これまでの手順を繰り返します。

    Date]値には[DepartureDate]を選択してください。

  6. キャンバスに戻り、[ReserveOrder]ステップを選択して、右側に[プロパティ]表示枠を表示します。

  7. HTTP]タブでこれらの手順を再度繰り返して、以下の値をパラメータ化します。

    • Class
    • CustomerName
    • DepartureDate
    • NumberofTickets

    完了すると、[プロパティ]表示枠は次のようになります。

  8. テストを保存して、「データ・ソースのナビゲーションの設定」に進んでください。

データ・ソースのナビゲーションの設定

テスト実行でのデータ処理方法を設定します。次の手順を実行します。

  1. キャンバスで[テスト フロー]ボックスを選択して、テスト・フローの[プロパティ]表示枠を表示します。

  2. [プロパティ]表示枠で[データ ソース]タブを選択します。

  3. テーブルで[WADL_Flights!Input]エントリを選択し、[編集]をクリックします。

  4. データ ナビゲーション]ダイアログで、データ・ナビゲーションの詳細を次のように指定します。

    開始位置: 最初の行
    移動単位: 3 行進む
    終了位置: 最後の行
    最終行への到達時: 折り返す
  5. OK]をクリックして、テストを保存します。

  6. 「MyFlight WADL サービスのテストの実行」に進んでください。

先頭に戻る

MyFlight WADL サービスのテストの実行

前の手順で作成した WADL Web アプリケーション・サービス・テストを実行します。

次の手順を実行します。

  1. Flight API アプリが起動中であることを確認します。詳細については、「Flights API 層」を参照してください。

  2. テストの反復回数を定義します。キャンバスで、[テスト フロー]ボックスを選択します。

  3. [プロパティ]表示枠の[入力]タブで、次の操作を行います。

    • 'For' ループ]オプションを選択します。
    • 反復回数]フィールドに、「8」と入力します。
  4. 実行]ツールバー・ボタンをクリックします。

    MyFlightWADL テストが選択されていることを確認し、[実行]をクリックしてテストを実行します。

  5. テストが完了して実行結果が表示されたら、[テスト フロー]内を[ReserveOrder]ノードまで下に移動します。実行結果に、ステップのサマリが表示されます。

  6. キャプチャ・データで、要求と応答の情報を確認します。

    要求本文および応答本文セル内のリンクをクリックして、XML 要求と応答の情報をブラウザ・ウィンドウで開きます。

    要求本文

    <FlightOrderDetails xmlns="HP.SOAQ.SampleApp">
    	<Class>Economy</Class>
    	<CustomerName>Clark Frank</CustomerName>
    	<DepartureDate>2115/06/01</DepartureDate>
    	<FlightNumber>1089</FlightNumber>
    	<NumberOfTickets>3</NumberOfTickets>
    </FlightOrderDetails>
    

    応答本文

    <CreatedOrderParams xmlns="HP.SOAQ.SampleApp" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    	<OrderNumber>87</OrderNumber>
    	<TotalPrice>1767.6</TotalPrice>
    </CreatedOrderParams>
    
  7. チュートリアルの他の実習のいずれかに進んでください。

先頭に戻る

次のステップ: