51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1481|回复: 4
打印 上一主题 下一主题

[原创] 【在线等待】增加层级结构导致下一级对象无法在对象库中找到

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-8-25 09:45:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的脚本语句如下: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值),则可成功运行

为什么?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-8-25 09:52:17 | 只看该作者
我还真没见过两个底层对象碰到一起的情况~~

如果整个页面中Bowser(A).Page(B).WebElement(C).下面根本没有WebEdit这个控件,当然找不到。另外属性描述错误肯定也找不到

以上,我个人觉得,WebElement下面压根没有WebEdit这个控件,LZ无中生有,画蛇添足。。。想当然了吧?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-8-25 10:30:39 | 只看该作者
Bowser(A).Page(B).WebElement(C).WebEdit("index:=0")
是可以这样找的,原则上WebElement和WebEdit 是有上下层关系的,但是QTP在一般情况下会忽略WebElement层,因为在page下就能直接找到WebEdit,所以省略了一层而已
自己加上也是可以的
但如果你要写成Bowser(A).Page(B).WebElement(C).WebEdit(D)  ,那就在对象库中一定要层次相同,否则这个代码在对象库中就找不到了,而QTP默认是同层的
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2010-8-25 10:40:21 | 只看该作者

回复 3# 的帖子

有道理,我也是怀疑QTP不承认这两个对象之间的父子关系。我看看,在对象库中保证他们层次关系看看,谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-8-25 11:16:22 | 只看该作者

回复 3# 的帖子

OK,搞定。谢谢三楼
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-26 07:37 , Processed in 0.060980 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表