51Testing软件测试论坛

标题: 关于qtp录制tree问题(附图片) [打印本页]

作者: zhaoaihua305    时间: 2007-2-28 12:03
标题: 关于qtp录制tree问题(附图片)
问题是这样的:
1.录制脚本,选择预算科目30501,录制完毕
2.修改预算科目30501->30502,run成功
3.修改预算科目30502->30601,run失败,提示不匹配问题
脚本:
Browser("预算科目").Page("预算科目").Image("nodecenterclose").Click
Browser("预算科目").Page("预算项目").WebRadioGroup("ocx").Select "305001"
Browser("预算科目").Page("预算项目").WebButton("确定").Click

其中Image("nodecenterclose")是tree中展开的+号,我这边录制脚本后,希望通过参数化,将预算科目写入datatable中,然后循环运行,目前的问题是,在305×××->306×××之间转化时有个click nodecenterclose的事件不能直接跨越,但实际又都是同一个图片,请问一下怎么解决这个问题?是否可以实现参数化直接在表中添加预算科目的方法来运行?
作者: 风过无息    时间: 2007-2-28 12:07
对象属性的问题,楼主把对象属性参数化一下,可能可以的。
作者: zhaoaihua305    时间: 2007-2-28 12:16
图片中我已经参数化该科目,左下方表中设置305001和306001,结果不通过
是否是父节点不同导致的问题?有没有好的办法解决?
谢谢了
作者: zhaoaihua305    时间: 2007-2-28 12:20
在设置30501->30502还是30601的时候,有个是否需要单击nodecenterclose的操作
作者: sidneylover    时间: 2007-2-28 12:25
WebRadioGroup("ocx")
305,306WebRadioGroup对象的属性是不是都是ocx,如果不是的话要修改还要ocx
作者: zhaoaihua305    时间: 2007-2-28 12:43
WebRadioGroup("ocx")
305,306WebRadioGroup对象的属性是不是都是ocx,如果不是的话要修改还要ocx
-------------
都是oxc,只不过父节点不一样,一个是305,一个是306
作者: xiaonan    时间: 2007-2-28 14:02
虽然是同样的对象,但可能在QTP中它还是加以区别了,你可以录制两个打开+的操作,看QTP对象库是这么记录的,然后再找规律进行参数化
作者: denisye    时间: 2007-2-28 14:32
能不能换个想法去做?
比如说双击后面的容易参数化的WebElement?
我的经验是,一般这种展开式的Tree,就算不展开,也可以选中下面的WebRadioGroup,不知你的系统是否也是一样。
作者: zhaoaihua305    时间: 2007-2-28 16:44
原帖由 xiaonan 于 2007-2-28 14:02 发表
虽然是同样的对象,但可能在QTP中它还是加以区别了,你可以录制两个打开+的操作,看QTP对象库是这么记录的,然后再找规律进行参数化

先前已经录制比较过了,从代码上来看,是一点区别没有,但是在active screem显示时,位置不一样,所以,就导致录制的305下的预算项目后,再运行306下的预算项目提示不匹配,即,click nodecenterclose的位置与对应的子节点不匹配
作者: zhaoaihua305    时间: 2007-2-28 16:50
原帖由 denisye 于 2007-2-28 14:32 发表
能不能换个想法去做?
比如说双击后面的容易参数化的WebElement?
我的经验是,一般这种展开式的Tree,就算不展开,也可以选中下面的WebRadioGroup,不知你的系统是否也是一样。

1\我真不知道哪个容易参数化
2\不展开的话,不能选中下面的WebRadioGroup,因为它显示不出来啊,怎么选啊,,,--是不是我理解错你的意思啦?
作者: zhaoaihua305    时间: 2007-3-1 09:04
各位达人知道的帮帮忙啊,其实这个问题我觉得很容易碰到,目前软件中用到树的蛮多的吧
作者: xyz66    时间: 2007-3-2 19:04
Browser("预算科目").Page("预算科目").Image("index:=XXX").Click
Browser("预算科目").Page("预算项目").WebRadioGroup("inde:=XXX").Select "#XXX"
XXX为数字
式样就能在到楼主的目的了
作者: xyz66    时间: 2007-3-2 19:08
原帖由 denisye 于 2007-2-28 14:32 发表
能不能换个想法去做?
比如说双击后面的容易参数化的WebElement?
我的经验是,一般这种展开式的Tree,就算不展开,也可以选中下面的WebRadioGroup,不知你的系统是否也是一样。


这个做法对于有的系统可行
作者: zhaoaihua305    时间: 2007-3-2 19:15
经高人研究,问题已解决,方法:参数化图片和选项,代码:

Browser("预算科目").Page("预算科目").Image("index:=*").Click //展开+图片
Browser("预算科目").Page("预算项目").WebRadioGroup("index:=0").Select "#0"  //选择第一个radio下的第一个选项

其他问题迎刃而解啦,,,,
作者: zhaoaihua305    时间: 2007-3-2 19:17
xyz66 兄弟正确




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