51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1848|回复: 3
打印 上一主题 下一主题

[原创] 关于对象识别的问题,关注的同道请进,无法一句话描述清楚...

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-9-28 15:35:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
举个例子:
A窗口下有A1子窗口,B窗口下有B1子窗口,但是A1子窗口和B1子窗口中的控件是完全相同的,即在编写代码时用的是New XXXForm()这段代码。
针对这种情况,我们在识别对象时,也需要对A1和B1子窗口都进行识别和维护,那么,维护的内容(即修改对象名称)都是一样的,不知有没有比较省力的方法,让维护B1子窗口时,能直接利用A1子窗口的维护成果。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-9-28 16:08:11 | 只看该作者
关联对象库
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-9-28 16:09:12 | 只看该作者
这就是对象库的好处了,很多人都使用录制的方式在使用QTP,而我本人一直使用的是编写的方式在使用QTP,我都采用公共对象库~~~
每个控件也就是一个而已,用唯一的属性来标示他们,如果说他们属性改了,我根本不需要改对象库,仅仅是改对象的属性描述就OK了
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-9-29 15:15:46 | 只看该作者
编写脚本肯定会用对象仓库的啊,就是在建对象仓库的时候,遇到了上面的问题!!
重新把场景描述一下:
主窗口->(点击[功能1]出现)子窗口A->点击[功能A1出现]子子窗口A1
   ->(点击[功能2]出现)子窗口B->点击[功能B1出现]子子窗口B1
关键问题在于:子子窗口A1 和 子子窗口B1,它们具有完全一样的控件,从程序实现的角度而言,这两个子子窗口都来源于同一个窗口类(如 CFrameWin),即都是通过调用New CFrameWin()语句生成的,所不同的只是这段代码一个是出现在子窗口A的代码行中,一个是出现在子窗口B的代码行中。

那么,我们建立对象仓库的时候,在为子窗口A识别对象时,将识别到子子窗口A1,并且对它进行必要的维护,而在为子窗口B识别对象时,则将识别到子子窗口B1,并且也要对它进行必要的维护。这两次维护工作一般而言所做的工作是完全一样的! 试想,如果CFrameWin被应用到许多的功能之中,那么我们就需要做很多次相同的维护工作,很麻烦啊。

[ 本帖最后由 happychap 于 2008-9-29 15:36 编辑 ]
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-23 08:52 , Processed in 0.063856 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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