With ステートメント

関連:GUI アクションおよびスクリプト GUI コンポーネント

With ステートメントで,同じ親階層を持つ連続するステートメントをグループ化することによって,スクリプトが短くなり,読み書きと編集がしやすくなります。

さらに,With ステートメントを使用すると,スクリプトの実行を高速化するのに役立ちます。With ステートメントを実行する場合,UFT One により,最初のステートメントを実行する前にアプリケーション内のオブジェクトが識別されますが,各ステートメントを実行する前に再識別されることはありません。

一方,With ステートメントによって参照されているオブジェクトが,何らかの方法で With ステートメントの実行中にアプリケーション内で更新,再描画,または変更される場合,このことが,テストの実行に影響する場合があります。次のステートメントを実行する前にアプリケーション内のオブジェクトを再識別するように UFT One に指示するには,RefreshObject テスト・オブジェクト操作を呼び出すステートメントを追加します。

With ステートメントの構文は,次のとおりです。

With object
	statements
End With

項目

説明

object

オブジェクトまたはオブジェクトを返す関数

statements

オブジェクトに対して実行する 1 つ以上のステートメント

例: たとえば,次のようなスクリプトがあったとします。

Window("Flight Reservation").WinComboBox("Fly From:").Select "London"
Window("Flight Reservation").WinComboBox("Fly To:").Select "Los Angeles"
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinList("From").
	Select "19097 LON"
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click

これは,次のスクリプトで置き換えることができます。

With Window("Flight Reservation")
	.WinComboBox("Fly From:").Select "London"
	.WinComboBox("Fly To:").Select "Los Angeles"
	.WinButton("FLIGHT").Click
	With .Dialog("Flights Table")
		.WinList("From").Select "19097 LON"
		.WinButton("OK").Click
	End With 'Dialog("Flights Table")
End With 'Window("Flight Reservation") 

注: With ステートメントは手動で入力することもできますが,記録時に With ステートメントを自動生成させたり,既存のテストに基づいて With ステートメントを生成させたりもできます。詳細については,With ステートメントの生成を参照してください。