アクション情報の共有
関連:GUI テストのみ
アクションどうしで値を共有したり,互いに受け渡したりする方法は複数あります。
グローバル ・ データ ・ テーブル
データ・テーブルに値を格納することによって,あるアクションで生成された値をテスト内でほかのアクションと共有できます。値の格納先は,グローバル・シートまたはアクション・シートのいずれかを選択できます。グローバル・シートに値を格納すると,他のアクションは[データ]表示枠の値を入力パラメータとして使用できるようになります。データ表示枠に値を格納するには,グローバル・データ・テーブルに値を出力するか,エディタで DataTable,Sheet,Parameter オブジェクトおよびメソッドを使用して値を追加または変更します。
アクションにデータ・テーブル・パラメータまたは出力値ステップを作成し,[現在のアクション シート(ローカル)]オプションを使用するよう選択した場合は,アクションに関連する実行設定が,[アクション呼び出しプロパティ]ダイアログ・ボックスの[実行]タブで設定されているかどうかを確認します。
例:
フライト予約アプリケーションをテストするとします。ユーザがアプリケーションにログインすると,ページの最上部にユーザの氏名が表示されます。操作を進め,チケットを購入する場合,ユーザはクレジット・カードに表示されている名前を入力する必要があります。
テストに Login,SelectFlight,PurchaseTickets の 3 つのアクションがあり,反復ごとに異なるログイン名を使って複数の反復を実行するように設定されているとします。Login アクションで,表示されたユーザ名を格納するテキスト出力値を作成できます。PurchaseTickets アクションでは,ユーザの氏名を含む[データ]表示枠カラムを使用して,[Credit Card Owner]エディット・ボックスで設定する値をパラメータ化できます。
環境変数
テストの反復を何度も実行する必要がない場合,または共有している値をすべての反復で一定に保つ場合は,テストのすべてのローカル・アクションがアクセスできる,内部のユーザ定義環境変数を使用できます。
たとえば,ユーザが入力するクレジット・カードの失効日を,フライト予約アプリケーションが正確に検査するかどうかをテストするとします。入力された失効日が,予定されたフライト出発日以前の場合,アプリケーションは別のクレジット・カードを要求するはずです。SelectFlight アクションで,出発日エディット・ボックスに入力された値を環境変数に格納できます。そして PurchaseTickets アクションで,失効日エディット・ボックスの値と環境変数に格納された値を比較できます。
Dictionary オブジェクト
アクション間で値を共有するために環境変数を使用する代わりに,VBScript Dictionary オブジェクトを使用できます。Dictionary オブジェクトを使用すると,Dictionary オブジェクトが作成されるテストで呼び出される,ローカルおよび外部のすべてのアクションからアクセス可能な変数に,値を割り当てることができます。
Dictionary オブジェクトを使用するには,最初に ProgID = "Scripting.Dictionary" を使って,予約オブジェクトをレジストリ(HKEY_CURRENT_USER\Software\Mercury Interactive\QuickTest Professional\MicTest\ReservedObjects\)に追加する必要があります。
HKEY_CURRENT_USER\Software\Mercury Interactive\QuickTest Professional\MicTest\ReservedObjects\GlobalDictionary
予約 Dictionary オブジェクトをレジストリに追加し,UFT One を再起動すると,あるアクションでディクショナリを対象に値の追加と削除を行い,同じテスト内で呼び出された別のアクションでその値を取得できるようになります。
注: 後方互換性を考慮して,一部のレジストリ・キーには以前の会社のブランドが意図的に使用されています。
詳細については,VBScript リファレンスを参照してください。
例:
SelectFlight アクションで設定された出発日を PurchaseTickets アクションで利用したいとします。その場合は,DepartDate WebEdit オブジェクトの値を,次のようにして,SelectFlight アクションのディクショナリに追加できます。
GlobalDictionary.RemoveAll
これによって,次のように PurchaseTickets アクションから日付を取得できます。
Dim CompareDate
CompareDate=GlobalDictionary("DateCheck")
出力値
ステップの出力を渡す出力値ステップをアクション内で作成することができます。出力オプションで,出力値をアクションの出力パラメータに渡すことができます。この出力パラメータには,後続のアクションや兄弟アクションすべてがアクセスできます。