動的なコンテンツを使った作業
関連:GUI テストおよびコンポーネント
表示するたびに動的に変化するオブジェクトを対象としたテストまたはコンポーネントを作成し、実行するにはどうすればよいでしょうか。
アプリケーション内のオブジェクトで動的コンテンツを持つものは内容が変化することがあります。正規表現、Description オブジェクト、リポジトリ・パラメータ、または SetTOProperty ステップを使用して、テストまたはコンポーネントを実行するときに、それらのオブジェクトが OpenText Functional Testing によって認識されるように、オブジェクトの動的記述を作成できます。
オブジェクトまたは子オブジェクトが存在する(あるいは存在しない)ことを確認するには、どうすればよいですか。
一部のオブジェクトは、操作を実行した後にのみアプリケーションで作成されます。たとえば、1 つのウィンドウ内のリンクが別のウィンドウを作成することがあります。新たに作成されたウィンドウは、独立したオブジェクトまたは元のウィンドウの子である場合があります。
実行セッション中に作成されるオブジェクトで操作を実行する前に、オブジェクトがすでに存在することを確認してください。
Exist プロパティを使用してオブジェクトがアプリケーションに存在するかどうかを確認します。このプロパティは、アプリケーションでテスト・オブジェクトの記述と一致するオブジェクトを検索します。次に例を示します。
If Window("Main").ActiveX("Slider").Exist Then
. . .
また、ChildObjects メソッドを使用して、デスクトップ上あるいはほかの親オブジェクト内のすべての子オブジェクト(または、ある記述と一致する子オブジェクトのサブセット)を取得することもできます。
Set oDesc = Description.Create
oDesc("Class Name").Value = "Window"
Set coll = Desktop.ChildObjects(oDesc)
For i = 0 to coll.count -1
msgbox coll(i).GetROProperty("text")
Next
-
ChildObjects メソッドを使用してオブジェクトを取得した後に、OpenText Functional Testing はアプリケーション内のオブジェクトに直接アクセスしますが、オブジェクトの記述を保存しません。したがって、アプリケーションの変更前に、オブジェクトの取得直後にオブジェクトを使用する必要があります。
-
Exist プロパティは、オブジェクトの記述に基づいてオブジェクトを検索するため、ChildObjects メソッドによって取得されるオブジェクトには関連していません(このようなオブジェクトに対して呼び出されると、Exist プロパティは常に true を返します)。
Exist プロパティおよび ChildObjects メソッドの詳細については、『Object Model Reference for GUI Testing』の「Common Methods and Properties」の項を参照してください。
OpenText Functional Testing は、動的に生成される URL や Web ページをどのようにして記録するのでしょうか。
OpenText Functional Testing は、リンクがページに表示されると、実際にそのリンクをクリックします。そのため、OpenText Functional Testing はオブジェクト自体ではなく、ページ上のリンクなど特定のオブジェクトを検索する方法を記録します。たとえば、動的に生成された URL へのリンクが画像である場合、OpenText Functional Testing は「IMG」という HTML タグと、その画像の名前を記録します。これにより、それ以後 OpenText Functional Testing はこの画像を検索し、その画像をクリックできるようになります。
OpenText Functional Testing は、タブをどのように処理するのでしょうか。
OpenText Functional Testing が提供しているいくつかのメソッドを Browser テスト・オブジェクトで使用することにより、Web ブラウザのタブを管理できます。
-
OpenNewTab は、現在の Web ブラウザで新しいタブを開きます。
-
IsSiblingTab は、指定したタブが同じブラウザ・ウィンドウ内の現在のタブ・オブジェクトの兄弟タブかどうかを示します。
-
Close は、タブが複数存在する場合は現在のタブを閉じ、ブラウザにタブが 1 つしか含まれていない場合はブラウザ・ウィンドウを閉じます。
-
CloseAllTabs は、ブラウザ内のすべてのタブを閉じ、ブラウザ・ウィンドウを閉じます。
これらの Browser 関連メソッドの詳細については、『Object Model Reference for GUI Testing』の「Web」の項を参照してください。
その他の参照項目: