51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4344|回复: 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空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

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

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

使用道具 举报

该用户从未签到

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
回复 支持 反对

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

  • 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
    回复 支持 反对

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-13 03:51 , Processed in 0.073469 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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