【在线等待】增加层级结构导致下一级对象无法在对象库中找到
我的脚本语句如下:Bowser(A).Page(B).WebElement(C).WebEdit(D).set "abc"QTP在录制上述语句时,仅录制成:Bowser(A).Page(B).WebEdit(D).set "abc"
WebElement(C)对象是我手动添加到对象库,并修改脚本,目的是更好的将WebEdit(D)与父页面其它WebEdit(D)区别
但QTP在运行时,却提示WebEdit(D)不存在对象库中,但对象库是有此对象的
如果我将句子修改成:Bowser(A).Page(B).WebElement(C).WebEdit("index:=0").set "abc" (0是WebEdit(D)的index值),则可成功运行
为什么? 我还真没见过两个底层对象碰到一起的情况~~
如果整个页面中Bowser(A).Page(B).WebElement(C).下面根本没有WebEdit这个控件,当然找不到。另外属性描述错误肯定也找不到
以上,我个人觉得,WebElement下面压根没有WebEdit这个控件,LZ无中生有,画蛇添足。。。想当然了吧? Bowser(A).Page(B).WebElement(C).WebEdit("index:=0")
是可以这样找的,原则上WebElement和WebEdit 是有上下层关系的,但是QTP在一般情况下会忽略WebElement层,因为在page下就能直接找到WebEdit,所以省略了一层而已
自己加上也是可以的
但如果你要写成Bowser(A).Page(B).WebElement(C).WebEdit(D),那就在对象库中一定要层次相同,否则这个代码在对象库中就找不到了,而QTP默认是同层的
回复 3# 的帖子
有道理,我也是怀疑QTP不承认这两个对象之间的父子关系。我看看,在对象库中保证他们层次关系看看,谢谢回复 3# 的帖子
OK,搞定。谢谢三楼
页:
[1]