51Testing软件测试论坛

标题: 我遇到一个奇怪的现象:QTP不支持参数化对象的属性! [打印本页]

作者: JiangMeng    时间: 2006-6-26 18:30
标题: 我遇到一个奇怪的现象:QTP不支持参数化对象的属性!
我的一台新装机器(XP SP2)在安装了QTP后,发现一个有趣的现象:脚本中只要将对象的属性通过DATATABLE参数化,QTP肯定执行到这就死机。
比如,界面上有Yes 和No 两个按钮, 对象 Button的 text参数化为DataTable("buttonName", dtLocalSheet), buttonName 值为“Yes” 或 “No”, 以动态指定点击那个button.
假设执行点击按钮操作的语句如下:
Browser("xxxx"). Frame("xxxx").Button.Click

现在的问题是脚本一运行到Button.click就吊死在这里了,不响应任何操作,只能通过TASK MANAGER KILL掉这个进程。

这个问题很着急,如果有人遇到过类似的问题,请指点了!谢先!!
作者: xiaonan    时间: 2006-6-27 08:43
Browser("xxxx"). Frame("xxxx").Button.Click
你参数化的是哪个值, Frame("xxxx")里面的吗?这个是存在于对象库里的对象的属性名,不能就这样轻易的修改.比如你录制时是YES的,然后你参数成
NO.如果只是改一下这边的值的话,QTP会执行不了.因为对象库里没这个NO对象,QTP找不到合适的测试对象去匹配运行时对象.如果这里只有YES或者 NO两种情况的话,请把NO也填加到对象库中

[ 本帖最后由 xiaonan 于 2006-6-27 12:15 编辑 ]
作者: walker1020    时间: 2006-6-27 11:12
简单的说,buttonName 值为“Yes” 和 “No”的时候是两个不同的Object。
如果你要参数化,那么首先要保证它在对象库里面,然后才能对它的可以接受的输入值等进行参数化。这是参数化的一般用法。
作者: JiangMeng    时间: 2006-6-27 17:16
脚本在其他PC上运行正常,只在一台PC上有QTP吊死的情况。我想问QTP对象参数化与操作系统有什么联系?
作者: xiaonan    时间: 2006-6-27 18:14
与操作系统没什么关系,但可能每台机器的环境不是一样,可能会有问题
作者: hongtang    时间: 2006-6-30 14:18
标题: 对,有些XP的机器安装了QTP会出现这种情况
你可以安装一下PS2的补丁。或是重装一下QTP




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