このトピックでは、UFT Developer の AI 機能を使ってアプリケーションのオブジェクトを一意に識別するためのキー ポイントについて説明します。
オブジェクトに関連付けられたテキストは、オブジェクトを一意に識別するのに役立ちます。たとえば、
desktop.findWithAI( "input" , "USER NAME" ).typeKeys( "admin" )
では、テキスト "USER NAME" を使ってオブジェクトを識別することで、正しい入力フィールドに文字列が入力されるようにしています。
アプリケーションのオブジェクトを検出するときに、フィールドの周りに複数のラベルが存在する場合は、UFT Developer はオブジェクトを識別する上で最も論理的なものを使用します。しかし、オブジェクトを表すラベルとしてユーザーが別のラベルを使用しても、UFT Developer はオブジェクトを識別できます。
例:アプリケーションのオブジェクトを検出するときに、ボタンはボタンのテキストと関連付けられますが、フィールドは、そのコンテンツではなく、ラベルに関連付けられます。
フィールドに複数のラベルがある場合、UFT Developer はそのうちの 1 つを使って検出を行いますが、フィールドを表すのに他のラベルを使ってテスト操作を実行しても、 UFT Developer がこのフィールドを正しく識別できることもあります。
UFT Developer では、オブジェクトに対して操作を実行するときに、オブジェクトを一意に識別する必要があります。指定したオブジェクトを表すテキストに対して、複数のオブジェクトが一致してしまう場合は、オブジェクトの位置を指定することで、一意に識別できるようになります。位置として指定できるのは、アプリケーションの類似オブジェクトに相対的な順番、または他の AI オブジェクト(アンカーと呼びます)からの近接方向の 2 種類です。.
findWithAI オブジェクトの識別では、occurrence および Direction 引数を使って、順番によるオブジェクトの位置情報を指定します。
findWithAIAnchor オブジェクトの識別では、Position および anchor 引数を使って、近接方向によるオブジェクトの位置情報を指定します。
たとえば、desktop.findWithAI("button", "ON", 2, Direction.LEFT).click() の場合は、アプリケーションの左から 2 番目の "ON" ボタンをクリックします。
UFT Developer は、アンカーから指定した方向にあり、最も近く、最も位置の揃ったテキストに一致する AIObject を返します。
たとえば、次のテストは、Latest Edition テキストの下にあり、Linux テキストの右にある download ボタンをクリックします。
AIObject latestEdition = desktop.findWithAI("text_block", "Latest Edition")
AIObject linux = desktop.findWithAIAnchor("text_block" , "Linux" , Position.BELOW, latestEdition)
desktop.findWithAIAnchor("button", "download", Position.RIGHT_OF, linux).click()