51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4345|回复: 13
打印 上一主题 下一主题

[求助] 描述性编程中遇到的问题,请各位指导一下,谢谢先

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-9-27 09:55:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在使用QTP描述性编程中遇到这样一个问题:
set LinkDesc=Description.Create()'创建一个空对象
然后我想取出某查询结果页中的某些链接,并且输出这些链接的主题名称。此时想使用描述性编程解决这个问题。将对象值url匹配出来,但不知道下面这句要怎么写才正确?
LinkDesc("url").value=""'此时添加过滤条件,想找出结果页面上url中包含"http://www.baidu.com/"的所有链接,请问:
LinkDesc("url").value应该等于什么?怎么写这里的正则表达式?可以写成:
LinkDesc("url").value="http://www.baidu.com/*"吗?????
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-9-27 10:33:09 | 只看该作者
应该是LinkDesc("url").value="http://www.baidu.com/.*"吧?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-9-27 10:52:57 | 只看该作者
感谢楼上的回答,我刚才尝试过了,这样写不对,希望高手指教,在线等!!
谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-9-27 10:58:35 | 只看该作者
关注ing
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2018-4-22 12:50
  • 签到天数: 393 天

    连续签到: 1 天

    [LV.9]测试副司令

    5#
    发表于 2007-9-27 11:04:11 | 只看该作者
    能不能用instr函数,,LinkDesc("url").value中含有http://www.baidu.com
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2007-9-27 12:43:30 | 只看该作者
    LinkDesc("url").value="http://www\.baidu\.com/.*"
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2007-9-27 13:59:33 | 只看该作者
    同意楼上的。
    Description的属性默认使用正则表达式,. 可以代表任意字符,所以需要将“http://www.baidu.com"中的. 做转义处理。
    如果不希望使用正则表达式,可以用:
    PropertiesColl(Property).RegularExpression = BooleanSetting
    这里就是:
    LinkDesc("url").RegularExpression = False
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2007-9-27 14:19:45 | 只看该作者
    我不是太明白楼上的意思,那么要实现我的需求,应该怎么写呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2007-9-27 14:41:20 | 只看该作者
    Coral,按hsjzfling给出的方法应该就可以了,我只是补充说明一下。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2007-9-27 14:47:00 | 只看该作者
    如果是用ChildObject方法来获得一个link的对象集合,那么LinkDesc还要加一个属性
    LinkDesc("micclass") = "link"
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2007-9-27 15:07:06 | 只看该作者
    学习了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2007-9-27 17:25:11 | 只看该作者
    "http://www\.baidu\.com/.*"
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2007-9-27 18:04:56 | 只看该作者
    我以前写的一个例子,你拿去看看吧,你的问题不是描述性编程,而是正则表达式

    Private Function check(url)
    Set xmlhttp_obj = createobject("microsoft.xmlhttp")
    xmlhttp_obj.open "get",url,False
    xmlhttp_obj.send
    MsgBox xmlhttp_obj.readystate &xmlhttp_obj.status
    If xmlhttp_obj.readystate <> 4 Then
            MsgBox xmlhttp_obj.readstate
    Else
            If xmlhttp_obj.status>=200 And xmlhttp_obj.status<300 Then
                    Stream.writeline url&" valided"
                    content=xmlhttp_obj.responsetext
                    'MsgBox content
                    Set re = New RegExp
                    re.Pattern = "<A HREF\=\D?(\/[a-z]+)+"
                    re.Global = True
                    re.IgnoreCase = True
                    Set matches = re.execute(content)
                    For each match in matches
                    cutstring=Right(match,match.length-13)
                    newurl=url&cutstring
                    MsgBox Newurl
                    check Newurl
                    Next
            End If
    End If

    End Function

    Set re = New RegExp
    re.Pattern = ""
    re.Global = True
    re.IgnoreCase = True
    Set matches = re.execute(content)
    For each match in matches
    Next
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2007-9-28 15:11:40 | 只看该作者
    学习了,谢谢谢谢~~

    [ 本帖最后由 冰河 于 2007-9-28 15:15 编辑 ]
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-14 11:00 , Processed in 0.078047 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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