Qtp-ordinal-identifier
提供:Dev Guides
QTP-順序識別子
時々、同じクラス名とプロパティを持つ一連のオブジェクトがあります。 ウィンドウに、同じプロパティのセットを持つ一連のチェックボックスがあるとしましょう。 これらのオブジェクトに作用する場合、QTPが作用できるように、それらを一意に識別する必要があります。
順序識別子は、数値をテストオブジェクトに割り当てます。これは、グループに対する相対的な位置または順序を示します。 順序付けされた値により、QTPは、組み込みプロパティがそれを行うのに十分でない場合に一意にそれを認識できます。
異なるコンテキストで使用できるQTPには3つの順序識別子があります-
- 索引
- ロケーション
- 作成時間
索引
ページ/ウィンドウで最初に表示されるオブジェクトは、同じページ/ウィンドウで後で表示される別のオブジェクトと比較すると、インデックス値が小さくなります。
テキストボックスのグループのインデックスの値は次のようになります-
Object Name | Index Value |
---|---|
TextBox 1 | 0 |
TextBox 4 | 1 |
TextBox 2 | 2 |
TextBox 5 | 3 |
TextBox 3 | 4 |
TextBox 6 | 5 |
ロケーション
Locationプロパティは、上から下、左から右に垂直に機能します。 したがって、同じ場合、テキストボックスのグループの場所の値は次のようになります-
Object Name | Index Value |
---|---|
TextBox 1 | 0 |
TextBox 2 | 1 |
TextBox 3 | 2 |
TextBox 4 | 3 |
TextBox 5 | 4 |
TextBox 6 | 5 |
作成時間
Creation Timeプロパティは、Webベースのアプリケーションにのみ有効です。 同じWebサイトの2つのブラウザーセッションを開くと、QTPは両方のウィンドウに同じプロパティセットがあるため、ウィンドウを認識できません。 したがって、作成時間を使用して、QTPがウィンドウで動作できるようになります。
'Will have CreationTime value = 0
SystemUtil.Run "iexplore.exe", "http://www.google.com"
'Will have CreationTime value = 1
SystemUtil.Run "iexplore.exe", "http://www.yahoo.com"
'Will have CreationTime value = 2
SystemUtil.Run "iexplore.exe", "http://www.microsoft.com"
'Will have CreationTime value = 3
SystemUtil.Run "iexplore.exe", "http://www.facebook.com"
したがって、特定のブラウザで動作するには、ORで作成時間を明示的に指定する必要があります。または、オブジェクトの説明を使用できます。詳細については、説明的なプログラミングのセクションで説明します。
'Sync's www.google.com
Browser("creationtime:=" ).Sync
'Gets the RO text property of www.yahoo.com
Browser("creationtime:=1").GetROProperty("text")
'Highlights microsoft.com
Browser("creationtime:=2").Highlight