51Testing软件测试论坛

标题: 非常奇怪的OR对象加载问题 [打印本页]

作者: jeremywu    时间: 2007-11-8 15:37
标题: 非常奇怪的OR对象加载问题
QTP是9.2版本

只有写了一段脚本,把涉及的对象存储到了一个对象文件里,举例叫test.tsr里。

这段脚本有类似内容:
-------------------------------------------------------------
msgbox Browser("admin页面").Page("日志列表").Frame("tblog_3").WebEdit("WebEdit").GetTOProperty("value")
Browser("admin页面").Page("日志列表").Frame("tblog_3").WebEdit("WebEdit").SetTOProperty  "value","aaa"
msgbox Browser("admin页面").Page("日志列表").Frame("tblog_3").WebEdit("WebEdit").GetTOProperty("value")
-------------------------------------------------------------
先显示一下当前WebEdit的value属性值,然后执行过程种,用SetTOProperty修改value属性,然后再用GetTOProperty获取并显示出来

当把test.tsr通过下面方法加载时:
在QTP里,点击菜单Resource->Associate Repositories, 然后把test.tsr加载进去
上述代码可以正确得到期望的结果,最后显示出“aaa”

但如果使用动态加载方法,类似下面:
---------------------------------------------
方法一:
Set App = CreateObject("QuickTest.Application")
Set qtRepositories = App.Test.Actions("Action1").ObjectRepositories
qtRepositories.RemoveAll
qtRepositories.Add "D:\QTPArch\OR\test.tsr", 1
---------------------------------------------
或者:
---------------------------------------------
方法二:
RepositoriesCollection.RemoveAll()
RepositoriesCollection.Add("D:\QTPArch\OR\test.tsr")
---------------------------------------------

则上面脚本最后显示的不为”aaa”

试了几个不同的对象,象Link等,统统都有这种现象,这种情况都无法动态运行脚本了,这是QTP9.2的Bug还是使用有问题?

请各位大侠提供帮助
作者: danmy    时间: 2007-11-8 16:14
LZ看一下你不用AutoMation的时候,对象库里面是不是除了tsr文件,还有local的对象

我觉得应该是修改了Local的对象属性,直接修改tsr貌似不行.打开对象库也还需要enable edit
作者: tony4141    时间: 2007-11-8 16:18
标题: ding ding ding
hahahaha
作者: tony4141    时间: 2007-11-8 16:26
标题: ding ding ding
hahahaha
作者: hsjzfling    时间: 2007-11-8 18:41
楼主先确认下这些AOM的方法是否能在9.2中正常工作,就是说对象是否加载成功,并且是可以编辑的

[ 本帖最后由 hsjzfling 于 2007-11-8 18:54 编辑 ]
作者: jeremywu    时间: 2007-11-8 20:00
我已经看过了,在实际运行时已经清空了所有的tsr文件,不知是不是9.2的Bug
作者: hsjzfling    时间: 2007-11-8 20:49
不会啊,我的脚本中一直用的该方法动态加载对象库的,不过应该如2楼所说,你加载过来的对象库是不能被编辑的,需要copy to local

还是不太建议使用SetTOProperty方法在运行时动态改对象库




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2