51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2629|回复: 4
打印 上一主题 下一主题

[原创] 获取页面上所有指定属性的对象

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-6-17 17:00:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
by jack
在QTP脚本编写的时候,我们可能会遇到这种检查点:比如获取checkbox的个数等等,这时会提出“获取页面上所有指定属性的对象”的需求。下面是用descrīption对象实现的一个函数,作用就是实现上述需求。
Function getItemList(PageObject,PropertyName,PropertyValue)
Dim oItemDesc
Dim n

Set ōItemDesc=descrīption.Create
If isarray(PropertyName) and isarray(PropertyValue) Then
  Dim iCountPropertyName
  Dim iCountPropertyValue
  
  iCountPropertyName = ubound(PropertyName)
  iCountPropertyValue = ubound(PropertyValue)

  If iCountPropertyName <= iCountPropertyValue Then
   For n=0 to ubound(PropertyName)
    oItemDesc(PropertyName(n)).value=PropertyValue(n)
   Next
  Else
   'lost property value
   'msgbox "lost property value"
   Exit Function
  End If
  
Else If (not isarray(PropertyName)) and (not isarray(PropertyValue)) Then
   oItemDesc(PropertyName).value=PropertyValue
  Else
   'error
   'msgbox "error"
   Exit Function
  End If
End If

Set getItemList=PageObject.childobjects(oItemDesc)
End Function
输入参数有3个,page对象,属性名,属性值;其中属性名和属性值可以为数组,应用举例:
'取出页面所有编辑框
set ōChildList = getItemList(page("51Testing软件测试网"),"micclass","WebEdit")
'编辑框数量
iCountChildList = oChildList.count
'取出页面所有name含有“测试”的链接

set ōChildList = getItemList(page("51Testing软件测试网"),array("micclass","name"),array("Link","测试.*"))
'点击第二个链接
oChildList(1).click
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2008-7-31 10:00:04 | 只看该作者
    不错,值得学习。不过,从“Set ōItemDesc=descrīption.Create” 这句话来看,是从哪个地方转载过来的。能否说明一下此文的出处?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2008-7-31 10:37:24 | 只看该作者
    原文就是LZ的博客上的,呵呵
    LZ是阿里巴巴一个QA架构师MS
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2008-7-31 11:09:35 | 只看该作者

    藏龙卧虎....

    zte_boy
    你知道的还不少哦
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2008-9-1 16:34:54 | 只看该作者

    回复 2# 的帖子

    Set ōItemDesc=descrīption.Create

    这个是QTP里面的一种用法。并非是引用自别的地方。。
    这个是QTP本身提供的一种Description对象。用于返回对象包含的属性。
    Set ōItemDesc=descrīption.Create( )
    这句话就是创建Description的一种典型的用法。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-9-21 00:41 , Processed in 0.075045 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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