TOP>製品/サービス>カテゴリから探す>品質強化対策>HPE Unified Functional Testing>事例>出力値機能を“200%”活用する

HPE Unified Functional Testing

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

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

QuickTest Professional(以下、QTP)ならこんなご要望にもお応えします。

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

基本編

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

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

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

<手順>

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

<挿入前>

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

<挿入後>

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

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

フライト予約アプリケーション画面
赤枠の「注文番号」を出力します(クリックで拡大します)

出力値結果画面
スクリプトを繰り返すごとに値が出力されます


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

STEP 1で出力したデータを後続処理の入力値として使用する例をご紹介します。STEP 1と同様、フライト予約アプリケーションを例に見てみましょう。
STEP 1では「注文番号」の値を出力しましたが、その出力した注文番号を利用して、注文を確認する処理を自動化する手順をご紹介します。

<手順>

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

<設定前>

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)

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



上級編

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

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

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

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

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

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

サンプルスクリプト

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

上記の例では、QTPのデータテーブル(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

このような手順で設定やスクリプトの編集を行うことで、画面に表示された値を加工し、入力値として利用することを自動化できるスクリプトが作成できます。
テストの実行だけでなく、入力データを用意する手間も省けますので、ぜひ参考にしてみてください。

編集スクリプト画面
コメントやオブジェクト名は色を分けて表示されます


  • * この記事はバージョン11.0以前を前提に書かれています。

お求めの情報は見つかりましたでしょうか。

資料請求/お問い合わせはこちら(専門の担当者が確認し、ご対応します。)

お客様の状況に合わせて詳しい情報をお届けできます。お気軽にご相談ください。

ページの先頭へ戻る