2014-10-10 80 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