DevOpsポータルサイト

開発から運用まで、IT部門のお役に立つ情報をお届けするサイトです

テスト高度化

アプリケーション画面上に表示された値の外部ファイルへの出力/入力方法

公開日:
更新日:
テスト高度化
#OpenText Functional Testing

出力値機能を“200%”活用する

「画面に表示された値を、次の画面で入力値として使用したい。」
「でも値を編集しないと入力値としては使えない・・・」

OpenText Functional Testingならこんなご要望にもお応えします。

本ページでは、オブジェクトのプロパティ値をOpenText Functional Testingのデータテーブルに出力し、他の入力値として再利用する方法【基本編】と、出力した値を加工して入力する方法【上級編】をご紹介します。

基本編

基本編では、オブジェクトのプロパティ値をOpenText Functional Testingのデータテーブル上に出力し、その値を後続処理の入力値として使用する方法をご紹介します。

【STEP 1】オブジェクトのプロパティ値を出力する

OpenText Functional Testing付属のサンプルアプリケーション「フライト予約アプリケーション」を例に、発注処理を行った後に、画面に表示される「注文番号」を出力する方法をご紹介します。

<手順>

  1. 記録中に、[挿入] - [出力値] - [標準出力値]を選択します。

  2. 矢印が指差しアイコンに切り替わります。

  3. 出力させたいオブジェクトをクリックします。

  4. [オブジェクトの選択]ダイアログが表示されます。

  5. 出力させたいオブジェクトを選択します。

  6. オブジェクトに含まれるプロパティ値が表示されます。

  7. 出力させたいプロパティ値(例:Text情報)を選択します。

  8. OpenText Functional Testingのデータテーブルに出力させるカラム名、及びデータテーブルの出力先(Global/ActionSheet)を選択します。

上記手順で出力値の設定を行うと、OpenText Functional Testingスクリプトが以下のように記述されます。

<挿入前>

Window("フライト予約").WinButton("注文挿入(I)").Click

<挿入後>

Window("フライト予約").WinButton("注文挿入(I)").Click
Window("フライト予約").WinEdit("注文番号:").Output CheckPoint("注文番号:")

この操作を行うことで、「注文番号」をOpenText Functional Testingのデータテーブルに出力します。
出力された結果は、OpenText Functional Testingの結果レポートより確認することが可能です。(以下の画像を参照ください)

【STEP 2】出力値を後続処理の入力値に使用する

STEP 1で出力したデータを後続処理の入力値として使用する例をご紹介します。STEP 1と同様、フライト予約アプリケーションを例に見てみましょう。

STEP 1では「注文番号」の値を出力しましたが、その出力した注文番号を利用して、注文を確認する処理を自動化する手順をご紹介します。

<手順>

  1. [キーワードビュー]タブに切り替えます。

  2. 入力値として使用したい操作ステップの[値]カラムのボタンをクリックします。

  3. ここでは[注文を開く]オブジェクトの[値]をクリックします。

  4. [値設定]ダイアログが表示されます。ラジオボタンを[定数]から[パラメータ]に切り替えます。

  5. [名前]項目のリストボックスの中からSTEP 1で出力先として指定したカラム名、出力値の出力先(グローバルシート、現在のアクションシート)を選択します。

上記手順で入力値のパラメータ設定を行うと、エキスパートビューにてOpenText Functional Testingスクリプトが以下のように記述されます。

設定前

Window("フライト予約").WinMenu("Menu").Select "ファイル(F);注文を開く(O)..."
Window("フライト予約").Dialog("注文を開く").WinCheckBox("注文番号(O)").Set "ON"
Window("フライト予約").Dialog("注文を開く").WinEdit("Edit").Set "50"

設定後

Window("フライト予約").WinMenu("Menu").Select "ファイル(F);注文を開く(O)..."
Window("フライト予約").Dialog("注文を開く").WinCheckBox("注文番号(O)").Set "ON"
Window("フライト予約").Dialog("注文を開く").WinEdit("Edit").Set DataTable("注文番号", dtGlobalSheet)

上記操作を行うことで、出力値機能で出力したデータを後続処理の入力値としてご活用頂くことが可能です。

上級編

出力値を入力値として再利用したいけれど、そのままの値では入力値として不正となるので使えない!という課題もUFT Oneならハンドリングできます。

出力値機能の上級編活用例として、出力値を加工してデータテーブルに格納し、その値を加工して、後続の入力値として利用するという例をご紹介します。

例えば、フライト予約アプリケーションで「注文番号」を出力値としてデータテーブルに出力したとします。注文番号は数字で表示される仕様ですが、その後続の入力値として使用する場合は「0」で始まる必要があり、注文番号の先頭に「0」を追加することが必要だとします。

その場合のデータの加工方法【STEP 1】と入力値として使用する方法【STEP 2】をご説明します。

【STEP 1】出力値の文字列を加工する

まず、データの加工を行う前に、出力値を変数に格納する必要があります。
その際に使用するのが、Datatable.Value関数です。
この関数は、変数をデータテーブルに出力させ、後続処理の入力値として使用する際に利用するUFT One独自の関数です。出力データを変数として格納させるためのDatatable.Value関数は以下のとおり記述します。

変数名 = DataTable.Value(データテーブルのカラム名 , シート名)

サンプルスクリプト

注文番号をデータテーブルに出力します。
Window("フライト予約").WinEdit("注文番号:").Output CheckPoint("注文番号:")
出力した注文番号は変数 A に格納し、番号の先頭に[0]を追加した値を変数 B に格納します。
A = Datatable.Value("注文番号","Global")
B = "0"+A

上記の例では、UFT Oneのデータテーブル(Global)の注文番号カラムに含まれる値を変数 A に格納するという操作を行っています。

これで、出力値機能で出力させた値を変数に格納させることができます。

次に、変数 A に格納した値の先頭に「0」を追加し、その値を変数 B に格納します。つまり、データテーブル(Global)に出力された注文番号が「15」であれば、変数 B には「015」が格納されているということになります。

※注意事項※

追加させる文字列(上記の例では「0」)は、""(ダブルコーテーション)で囲む必要があります。

【STEP 2】加工したデータを後続処理の入力値に使用する

それでは、加工したデータ(変数)を後続処理の入力値として利用するサンプルスクリプトをご紹介します。

Window("フライト予約").WinEdit("注文番号:").Output CheckPoint("注文番号:")

A = Datatable.Value("注文番号","Global")
B = "0"+A

変数 B の値を「注文番号」に入力します。
Window("フライト予約_2").WinEdit("注文番号:").Set B