QTP中对象的索引值

QTP中对象的索引值,qtp,Qtp,我有两个问题。 1) 假设我们在网页中有5个对象,那么如何在运行时找到这些对象的索引值呢。 2) 假设在下一个版本中,如果索引被更改,我们的代码肯定会失败。那么在这种情况下,如何编写代码呢。在不更改代码的情况下,是否有任何逻辑可以克服这个问题?根据我的经验,webelements的索引总是按照它们在DOM中出现的顺序进行。请记住,DOM中webelements的数量和位置是动态的,可以不同于通过“查看页面源”获得的源 当索引是唯一的唯一标识符并且索引发生更改时,您必须更改代码。尝试查找唯一的标识

我有两个问题。 1) 假设我们在网页中有5个对象,那么如何在运行时找到这些对象的索引值呢。
2) 假设在下一个版本中,如果索引被更改,我们的代码肯定会失败。那么在这种情况下,如何编写代码呢。在不更改代码的情况下,是否有任何逻辑可以克服这个问题?

根据我的经验,webelements的索引总是按照它们在DOM中出现的顺序进行。请记住,DOM中webelements的数量和位置是动态的,可以不同于通过“查看页面源”获得的源

当索引是唯一的唯一标识符并且索引发生更改时,您必须更改代码。尝试查找唯一的标识符,然后索引或标识符组合以使其唯一。如果可用,它更喜欢使用
html id
,因为这应该是唯一的,但是
innerhtml
outerhtml
也可以是很好的选择


如果这一切都是可以实现的,并且测试自动化在您的公司中是一个重要的项目,那么您应该与您的开发人员交谈(当然,当软件在内部创建时)。解释你在做什么(他们会感兴趣,你知道他们是你公司的解决方案怪胎),解释你的问题以及他们是否能帮助你。让他们中的一个想出主意,给每个html对象添加一个
id
,瞧,问题解决了。

它们是什么类型的对象?索引通常是识别/操作对象的糟糕方法。将对象添加为表并使用子项进行测试可能是更好的解决方案