51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3069|回复: 14
打印 上一主题 下一主题

[原创] 关于qtp录制tree问题(附图片)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-2-28 12:03:09 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
问题是这样的:
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的事件不能直接跨越,但实际又都是同一个图片,请问一下怎么解决这个问题?是否可以实现参数化直接在表中添加预算科目的方法来运行?

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

15#
 楼主| 发表于 2007-3-2 19:17:47 | 只看该作者
xyz66 兄弟正确
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2007-3-2 19:15:39 | 只看该作者
经高人研究,问题已解决,方法:参数化图片和选项,代码:

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

其他问题迎刃而解啦,,,,
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2007-3-2 19:08:05 | 只看该作者
原帖由 denisye 于 2007-2-28 14:32 发表
能不能换个想法去做?
比如说双击后面的容易参数化的WebElement?
我的经验是,一般这种展开式的Tree,就算不展开,也可以选中下面的WebRadioGroup,不知你的系统是否也是一样。


这个做法对于有的系统可行
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2007-3-2 19:04:47 | 只看该作者
Browser("预算科目").Page("预算科目").Image("index:=XXX").Click
Browser("预算科目").Page("预算项目").WebRadioGroup("inde:=XXX").Select "#XXX"
XXX为数字
式样就能在到楼主的目的了
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2007-3-1 09:04:45 | 只看该作者
各位达人知道的帮帮忙啊,其实这个问题我觉得很容易碰到,目前软件中用到树的蛮多的吧
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2007-2-28 16:50:19 | 只看该作者
原帖由 denisye 于 2007-2-28 14:32 发表
能不能换个想法去做?
比如说双击后面的容易参数化的WebElement?
我的经验是,一般这种展开式的Tree,就算不展开,也可以选中下面的WebRadioGroup,不知你的系统是否也是一样。

1\我真不知道哪个容易参数化
2\不展开的话,不能选中下面的WebRadioGroup,因为它显示不出来啊,怎么选啊,,,--是不是我理解错你的意思啦?
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2007-2-28 16:44:33 | 只看该作者
原帖由 xiaonan 于 2007-2-28 14:02 发表
虽然是同样的对象,但可能在QTP中它还是加以区别了,你可以录制两个打开+的操作,看QTP对象库是这么记录的,然后再找规律进行参数化

先前已经录制比较过了,从代码上来看,是一点区别没有,但是在active screem显示时,位置不一样,所以,就导致录制的305下的预算项目后,再运行306下的预算项目提示不匹配,即,click nodecenterclose的位置与对应的子节点不匹配
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-2-28 14:32:03 | 只看该作者
能不能换个想法去做?
比如说双击后面的容易参数化的WebElement?
我的经验是,一般这种展开式的Tree,就算不展开,也可以选中下面的WebRadioGroup,不知你的系统是否也是一样。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-2-28 14:02:30 | 只看该作者
虽然是同样的对象,但可能在QTP中它还是加以区别了,你可以录制两个打开+的操作,看QTP对象库是这么记录的,然后再找规律进行参数化
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2007-2-28 12:43:20 | 只看该作者
WebRadioGroup("ocx")
305,306WebRadioGroup对象的属性是不是都是ocx,如果不是的话要修改还要ocx
-------------
都是oxc,只不过父节点不一样,一个是305,一个是306
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-2-28 12:25:46 | 只看该作者
WebRadioGroup("ocx")
305,306WebRadioGroup对象的属性是不是都是ocx,如果不是的话要修改还要ocx
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-2-28 12:20:40 | 只看该作者
在设置30501->30502还是30601的时候,有个是否需要单击nodecenterclose的操作
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-2-28 12:16:57 | 只看该作者
图片中我已经参数化该科目,左下方表中设置305001和306001,结果不通过
是否是父节点不同导致的问题?有没有好的办法解决?
谢谢了

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2007-2-28 12:07:38 | 只看该作者
对象属性的问题,楼主把对象属性参数化一下,可能可以的。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-10 16:04 , Processed in 0.080947 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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