51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2717|回复: 9
打印 上一主题 下一主题

[原创] 如何用script动态添加Object Repository 中的对象?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-8-6 17:45:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我要网上找到了以下的代码,但是却总是不成功。
以下是 Example script:
' 載入 Object Repository
Set oru = CreateObject ("Mercury.ObjectRepositoryUtil")
oru.LoadActionRepository "C:\Temp\Login","Action1"

' 取得 Parent Object
Set ParentObj = oru.GetObjectByParent( NULL, "Dialog(""Login"")" )

' 創建新的 Test Object ( A Stdbutton in this case ) 並設置其屬性
set StdButton = CreateObject("Mercury.WinButton")
StdButton.SetTOProperty "text","Cancel"
StdButton.SetTOProperty "nativeclass","Button"

' 將新的 Test Object (StdButton) 加到 parent object
' ( DialogBox). Set the logical name of the new Test Object to "Cancel"
oru.AddObject StdButton, ParentObj, "Cancel"

' 儲存 Object Repository
oru.Save
Set ParentObj = nothing
Set StdButton = nothing
Set oru = nothing

它总是要那它红色的代那里出错。提示为:'GetObjectByParent' - Object cannot be found.。
我用的是QTP 8.2

[ 本帖最后由 hcgzzz 于 2007-8-6 17:51 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-8-6 17:53:33 | 只看该作者
应该是需要父类对象在库里面已经存在,你的估计是不存在。Dialog(""Login"")
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-8-6 17:59:24 | 只看该作者
那要如何添加其父类对象阿?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-8-7 10:33:25 | 只看该作者
应该是把dialog先添加到对象库。感觉是。
原帖由 hcgzzz 于 2007-8-6 17:59 发表
那要如何添加其父类对象阿?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-8-7 10:51:47 | 只看该作者
我昨天也试过了。还是不行。我将Login 对象增加进入去了。还是相同的错误。我用的是飞机的那个例子。用动态增加Object Repository 的话,就可以尽量使测试与环境的关系分开。
      您有没有自动测试的框架的例子代码阿?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-8-7 11:10:13 | 只看该作者
我现在用的vista装的qtp,不能创建这种类型程序对象,不然就给你试试看了。。。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2007-8-7 12:08:51 | 只看该作者
哦。您平时做测试是用手工的还是自动的阿?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-8-7 13:27:57 | 只看该作者
manual.....
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-8-7 14:20:37 | 只看该作者
我想"Dialog(""Login"")"应该还有个父对象吧
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2007-8-7 15:31:52 | 只看该作者
原帖由 overfly 于 2007-8-7 14:20 发表
我想"Dialog(""Login"")"应该还有个父对象吧


Dialog(""Login"")"是一个启动的登陆窗体,没有父对象的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-29 07:30 , Processed in 0.096977 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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