チュートリアル:イベント・ハンドラ・コードによる Web サービス呼び出しのプロパティ値の設定

このチュートリアルでは、Web サービス呼び出しステップの入力プロパティの設定を、プロパティ値のグリッドではなく、イベント・ハンドラ・コードを使用して行います。これは、プロパティの値がテストの実行中に動的に生成される場合に役立ちます(テスト実行の前に存在していないプロパティは、[プロパティ]表示枠の[入力プロパティ/チェックポイントのプロパティ]タブでは設定できません)。

注意: REST サービスまたは WADL ステップの入力、出力、チェックポイントのプロパティは、標準的なアクティビティと同じ方法で設定します。これらのプロパティを設定する方法は、「チュートリアル:イベント・ハンドラ・コードによるテスト・ステップの入力プロパティの設定」および「チュートリアル:イベント・ハンドラ・コードによるテスト・ステップのチェックポイントのプロパティの設定」を参照してください。

このチュートリアルでは、サンプル・アプリケーション API に付属する GetFlights メソッドの入力値プロパティを設定します。

注意: このチュートリアルをサンプル API テストで実行する前に、このトピックを印刷するか、ブラウザ・ウィンドウを別の画面に移しておくことをお勧めします。

Web サービスのインポート

このチュートリアルでは、UFT One インストールにあるサンプルのフライト予約アプリケーションで提供される Web サービスを使用します。

  1. [スタート]メニューから、[API Flights application]を開きます([スタート]>[すべてのプログラム]>[Micro Focus]>[Micro Focus Unified Functional Testing>[Sample Applications]>[Flight API])。Flights API ウィンドウが開きます。

  2. UFT One ツールバーで[WSDL のインポート]ボタンをクリックします。

  3. [WSDL を URL または UDDI からインポート]ダイアログ・ボックスで、次の URL を入力します:http://localhost:8000/Flights_SOAP?WSDL

  4. OK]をクリックして、Web サービス・モデルをテストにインポートします。

    Web サービス・モデルのメソッドが、ツールボックスの[ローカル アクティビティ]セクションに追加されます。

先頭に戻る

GetFlights ステップの追加

[ツールボックス]表示枠の[ローカル アクティビティ]セクションで、[Micro Focus Flights_Service]および[FlightServiceMethods]ノードを展開し、GetFlights ステップをキャンバスにドラッグします。

先頭に戻る

GetFlights のイベント・ハンドラの作成

このテスト・ステップでは、テスト・ステップを実行する前にデータ・ソースをインポートする必要があります。これは、テスト・ステップのプロパティが、データ・ソースに格納されている値にアクセスできるようにするためです。したがって、このテスト・ステップの前に実行するイベント・ハンドラを選択する必要があります。

  1. [プロパティ]表示枠で、[イベント]タブをクリックします。

  2. [イベント]タブの[BeforeExecuteStepEvent]行で、下矢印をクリックし、[標準設定のハンドラの作成]を選択します。

    ドキュメント表示枠に[TestUserCode.cs]という別のタブが開き、OnBeforeExecuteStep セクション用に、コードのセクションがこのファイルに追加されます。

先頭に戻る

イベント・ハンドラ・コードの追加

  1. [TestUserCode.cs]タブで、コードの StServiceCallActivity<#>_OnAfterExecuteStep 部分の下にある //TODO: ここにコードを追加してください... セクションを探します。

  2. //TODO:ここにコードを追加してください... 文字列を削除します。

    注意: TODO 行の上下の行の括弧は削除しないようにしてください。この括弧は、コード構文を正しく保つために必要です。

  3. 同じ行に「this.」とピリオドを含めて入力します(入力するときにはオートコンプリート・リストが表示され、this オブジェクトは、このリストから探すことができます)。

    this. オブジェクトを入力すると、別のオートコンプリート・リストが表示されます。

  4. オートコンプリート・リストから StServiceCallActivity<#> 変数を選択し、ENTER キーを押します。

    注意: アクティビティの番号は、UFT One セッション間で異なり、これまで、ほかのどのアクティビティをキャンバスに追加したかによって異なります。

  5. StServiceCallActivity<#> 変数の後に、ピリオド(.)文字を入力します。別のオートコンプリート・リストが表示されます。

  6. オートコンプリート・リストから InputEnvelope オブジェクトを選択し、ENTER キーを押します。

  7. InputEnvelope オブジェクトの後に、ピリオド(.)文字を入力します。別のオートコンプリート・リストが表示されます。
  8. オートコンプリート・リストから SelectSingleNode メソッドを選択し、ENTER キーを押します。

  9. SelectSingleNode メソッドの後に、開き括弧 ( 文字を入力します。SelectSingleNode メソッドの色が変化します。

  10. キャンバスで、[GetFlights]ステップを選択します。

  11. [プロパティ]表示枠で、[入力/チェックポイント]タブを開きます。

  12. 出発地]行の[]セルで、セルの右側にある三角形を緑色になるまでクリックします。

  13. ]セルを右クリックし、[完全修飾 XPath のコピー]を選択します。

  14. TestUserCode.cs ファイルで、SelectSingleNode メソッドに続けて入力した開き括弧の後に、今コピーした完全修飾 XPath を貼り付けます(XPath 式は引用符で囲みます)。

  15. XPath 式の後に、閉じ括弧 ) 文字とピリオド(.)文字を入力します。別のオートコンプリート・リストが表示されます。

  16. オートコンプリート・リストから InnerText オブジェクトを選択し、ENTER キーを押します。

  17. InnerText メソッドの後に、等号(=)文字を追加します。

  18. 等号文字の後に、「"Denver"」(引用符を含む)と入力します。これで、ステップの DepartureCity プロパティの値が Denver に設定されます。

  19. "Denver" の後に、セミコロン(;)文字を入力します。

    これで、イベント・ハンドラ・コードは次のようになります。

    this.StServiceCallActivity4.InputEnvelope.SelectSingleNode("/*[local-name(.)='Envelope'][1]/*[local-name(.)='Body'][1]/*[local-name(.)='GetFlights'][1]/*[local-name(.)='DepartureCity'][1]").InnerText="Denver";
  20. 保存をクリックします。

先頭に戻る

処理の繰り返し

前述と同じ処理で、ArrivalCity プロパティが "Los Angeles" になるように設定します。

ArrivalCity プロパティを入力したら、イベント・ハンドラ・コードは次のようになります。

this.StServiceCallActivity4.InputEnvelope.SelectSingleNode("/*[local-name(.)='Envelope'][1]/*[local-name(.)='Bthis.ody'][1]/*[local-name(.)='GetFlights'][1]/*[local-name(.)='DepartureCity'][1]").InnerText="Denver"; 
this.StServiceCallActivity4.InputEnvelope.SelectSingleNode("/*[local-name(.)='Envelope'][1]/*[local-name(.)='Body'][1]/*[local-name(.)='GetFlights'][1]/*[local-name(.)='ArrivalCity'][1]").InnerText="LosAngeles";

先頭に戻る

テストの実行

  1. ツールバーで[実行]ボタンをクリックします。

  2. [実行]ダイアログ・ボックスで、[実行]をクリックします。イベント・ハンドラ・コードで指定するプロパティ値が、テスト・ステップの入力プロパティ値として使用され、テストが実行されます。

    テストの実行が完了したら、結果を表示して、イベント・ハンドラのコードによってプロパティ値が正しく提供されたことを確認できます。

    [出力]表示枠

    出力表示枠の[User Logger]セクションに、出力ログを表示できます。このログには、出発地と目的地の値のエントリがあります。

    実行結果

    実行結果で、ステップのキャプチャ・データを見ると、使用された値を確認できます。

チェックポイントのプロパティを設定する場合、その処理はわずかに異なります。

先頭に戻る