页面上有4个静态文本
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
为什么会这样?由于这个问题,我无法执行预期的任务
答案 0 :(得分:1)
索引选择器是UFT在无法唯一标识对象时使用的最后一个回退。如果您有更好的方法来识别对象(例如,使用"附加文本" 属性),您应该使用它。
基本上索引意味着"来自此描述所描述的对象集合返回第N个" 所以如果UFT获取对象中的对象不同的顺序,您将获得相同索引的不同对象。
我不熟悉Java,所以我不知道返回对象的顺序。此外,我不知道您的用例是什么,但我非常确定您可以找到更好的方法来验证您的情况。
可能有用的一点是使用位置选择属性,该属性取决于对象的相对位置,在您的情况下可能更加一致。 位置选择器首先按x
坐标,然后按y
对对象进行排序。
For i = 0 to 3
jWin.JavataStaticText("toolkit class:=nz.vdi","Location:=" & i).GetROProperty("attached text")
Next