51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2978|回复: 16
打印 上一主题 下一主题

[原创] QTP如何做关联?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-8-9 10:02:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
QTP11,系统win2003,需要添加一条数据然后选择这条数据,删除。在loadrunner中,这种情况可以做关联,在QTP中 怎么办呢?由于录制时候与运行脚本时候添加数据的ID是不一样的,运行脚本时候 找不到录制时的ID,新手求教。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2012-8-9 10:30:08 | 只看该作者
有人么?QTP的这种关联是怎么做的?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2012-8-9 10:30:18 | 只看该作者
新手求助!!
回复 支持 反对

使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    4#
    发表于 2012-8-9 11:12:47 | 只看该作者
    回复 3# cuijianwww


        不是很明白,不过QTP是可以在运行时,获取这个控件在运行时的值进行操作
        可以使用描述性编程解决
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2012-8-9 12:36:17 | 只看该作者
    回复 4# 黑羽祭


        就是我录制脚本时候,添加了一条数据,系统给的ID是1,删除时候选中ID为1的数据,点击删除。但是我在运行脚本时候,添加了一条数据,系统肯定两次给的是不一样的ID,比如ID是2,删除时候,脚本里写的ID还是1,那么ID为1的数据就找不到了,就会报错。怎样解决?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2012-8-9 12:37:29 | 只看该作者
    这种情况在loadrunner中做个关联就可以了,但是QTP中不知道是怎么处理的。新手求教。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2012-8-9 12:37:40 | 只看该作者
    用childobject+getroproperty实现的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2020-12-8 11:20
  • 签到天数: 605 天

    连续签到: 1 天

    [LV.9]测试副司令

    8#
    发表于 2012-8-9 12:41:56 | 只看该作者
    getRoproperty 拿对象属性啊。。。QTP 里没有关联这一说。。。。。
    你说的关联应该是指TO 和RO  的关系
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2012-8-9 12:45:17 | 只看该作者
    那是楼上你不懂而已。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2012-8-9 12:48:32 | 只看该作者
    回复 7# 云层


        呃。。。云层老师能说的具体点么?刚接触QTP。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    11#
    发表于 2012-8-9 13:36:59 | 只看该作者
    回复 10# cuijianwww


    这个在平时的使用中经常遇到,我都是使用getRoproperty + 描述性编程来完成。

    1.用getRoproperty 获取当前页面上的id值2至一个变量MyID,然后根据属性表述  如 XXXXXX(“name:=MyID”).Click     (例子随便写的)  进行操作
    2.如果是表格里的点选点击删除,还是先getRoproperty 获取当然的ID,然后把WebTable保存成对象otable,用otable.GetCellData(i,j)得到指定表格内容,然后和当前ID比对,一样的则勾选,点击删除按钮

    想看看 云层 的比较正式的答案是什么。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2012-8-11 08:57:57 | 只看该作者
    简单写一下,其实到处都有类似的写法

    set ob=descrption.create()
    ob("html tag").value="A"

    set x=browser(":=").page(":=").childobjects(ob)
    for i=0 to x.count-1
    print x.item(i).getroproperty("innerttext")
    next
    这样就可以获得当前页面上所有超链接对应问文字了。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2012-8-13 10:06:16 | 只看该作者
    概念上来看,也就是一个参数化的问题。只需要将所有ID=1这个常量替换成ID=intID或者DataTable("ID",dtLocalSheet)等变量即可,包括对象库中与该ID相关的对象属性的值也需做参数化。
    ID的值可以用GetROProperty,Output Value等方式去获取系统给的ID。然后,一切就都搞定咯。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    14#
    发表于 2012-8-13 10:52:33 | 只看该作者
    呵呵~继续关注~~~~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2012-8-15 17:49:20 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2012-8-15 17:52:46 | 只看该作者
    回复 1# cuijianwww


        你的问题我遇到过,可是QTP并没有关联,你只能获取孩子节点。不过具体方法希望你能找到。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2012-8-16 18:34:59 | 只看该作者
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-24 17:05 , Processed in 0.086040 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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