是这样,用 Rational Functional Tester 做自动化测试的时候,
发现 RFT 对网页结构的解析有些不是很好,对于 div 和 span 对象都没办法识别,
于是我自己定义了两个 HTML 对象,Html.DIV 和 Html.SPAN,都具有 .class .name .id 三个属性。
比如现在网页上有这样两个一摸一样的 span
<SPAN CLASS="cssClassStyle" NAME="myName">
我用
RootTestObject.find(RationalTestScript.atDexxx(".class", "Html.SPAN"))
得到一个 TestObject 数组,里面根本就没有上面的 myName 的 SPAN,而是其他的 SPAN。
不知道有没有人知道怎么解决呢?
有好的回复再加分,怕分流了。
------解决方案--------------------------------------------------------
你如果用class来查找的话,TestObject[]数组里应该会有两个元素,你需要用索引指定你要获取的是哪一个元素。一般这样的对象属性都会有.name来进行查找,而且你那样的代码我倒是没试过,我一般都这样写:
RootTestObject root = this.getRootTestObject();
TestObject[] to = root.find(this.atDescendant(".name","myName"));
另外,你说的两个一模一样的span我觉的有点不太理解,因为如果两个span是完全一样的,那么开发人员他们在处理事件响应的时候又如何去区分的,我觉的在实际的开发过程中,既然指定了name属性,那么这个对象必定是唯一的。