2014-10-10 82 views
2

有頁4靜態文本序識別問題 - QTP

jWin.JavataStaticText("toolkit class:=nz.vdi","index:=0").GetROProperty("attached text") 
jWin.JavataStaticText("toolkit class:=nz.vdi","index:=1").GetROProperty("attached text") 
jWin.JavataStaticText("toolkit class:=nz.vdi","index:=2").GetROProperty("attached text") 
jWin.JavataStaticText("toolkit class:=nz.vdi","index:=3").GetROProperty("attached text") 

當我運行此腳本,然後我得到的輸出方式如下

VM 
Host 
Host Server 
Storage Volume 

當我4-後運行相同的腳本5分鐘然後我輸出序列變更

Host Server 
VM 
Storage Volume 
Host 

爲什麼會發生?由於這個問題,我無法執行預期的任務

回答

1

索引選擇器是UFT在無法唯一標識對象時使用的最後一個回退。如果您有更好的方法來識別對象(例如,通過使用「附加文本」屬性),則應該使用該方法。

基本上什麼指數手段是「從一組由本說明書中描述的對象返回的第n個」所以如果UFT得到不同的順序,你會得到不同的對象進行相同指數的對象。

我對Java不熟悉,所以我不知道對象返回的順序。另外我不知道你的用例是什麼,但我很肯定你可以找到一個更好的方法來驗證你的條件。

可能有用的一件事是使用位置選擇屬性取決於對象的相對位置,並可能在您的情況下更一致。 位置選擇器首先按其對象x座標,然後按y

For i = 0 to 3 
    jWin.JavataStaticText("toolkit class:=nz.vdi","Location:=" & i).GetROProperty("attached text") 
Next 
+0

感謝您的回覆...它的工作原理採用位置...現在我能夠做我預期的任務....再次感謝 – onkar 2014-10-28 05:48:59

+1

@onkar,如果這回答了你的問題,你可以考慮標記答案已被接受(通過點擊複選標記),這將讓人們知道問題得到了解答。 – Motti 2014-10-28 07:19:51

+1

對不起Moti ..我不知道這個...我點擊了複選標記 謝謝 – onkar 2014-10-31 06:00:05