使用HttpWatch来辅助QTP自动化测试

发表于:2011-8-02 11:48

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:文青山    来源:51Testing软件测试网原创

#
QTP
#
qtp
分享:

  一、HttpWatch是什么

  HttpWatch是一款强大的网页数据分析工具,安装后集成在IE或Firefox工具栏中。它实现了在不改变浏览器和网络设置的基础上捕捉底层Http和Https数据,同时还能统计客户端发送请求到服务器返回请求的时间,并提供了记录日志的方法。同时还具有完备的COM接口,用于给用户通过编程的方式操纵HttpWatch。

  二、HttpWatch的基本用法

  点击如图中的Record按钮后,HttpWatch就会记录用户在系统上的操作,并返回软件设定的相关Http底层数据,点击如图Stop按钮后,HttpWatch将会停止记录。并在软件中列出相关Http流的数据信息。

  三、HttpWatch提供给自动化测试的接口

  Httpwatch自动化对象的结构图在其帮助文档中有如下的介绍:

  Controller类用于创建一个新的HttpWatch的接口或者打开某个日志文件,它支持IE或FireFox去创建或附加到新的接口。当使用New()或Attach()方法之后,浏览返回一个Plugin类的对象,这个对象可以控制HttpWatch这个软件去记录或停止或保存等相关操作,并且可以使用GotoURL()方法加载相关页面到浏览器。Log属性可以用来维护Plugin对象的日志,并可以用来激活相关日志文件里的信息,并且可以通过该属性访问Entry类中的一些属性,可以获取如headers,cookies,content等信息。

  从上面的对象结构图和文字信息的描述,HttpWatch的自动化接口,主要使用以下类和属性:

  ……………………

  查看全文请点击下载:http://www.51testing.com/html/13/n-241113.html

  五、在QTP中实际应用的方向

  1、验证链接的连通性

  检查其返回的状态码来判断是否链接成功,抛弃使用检查点的方式来判断,这样的话判断结果将会更准确,避免QTP检查点所选的界面元素被更改时导致QTP报错。

  如实例:

Dim URL'存放待测试的地址
Dim linkStatue '' 链接所返回的状态码
URL="www.baidu.com"
'从Com中创建一个control对象
Set control=CreateObject("HttpWatch.Controller")
'再创建一个plugin对象
Set plugin=control.IE.New()
'设置是否开启日志过滤器
plugin.Log.EnableFilter(false)
'清除历史HttpWatch的记录
plugin.Clear()
'导航到指定的浏览器地址
plugin.GotoURL(URL)
'等待2秒
wait(2)
'开始记录Http底层数据
plugin.Record()
''录制或用描述性编程生成点击百度首页中的新闻链接
Browser("title:="&"百度一下,你就知道").Page("title:="&"百度一下,你就知道").Link("name:=新 闻").Click
'等待让页面加载完全
control.Wait plugin,-1
'停止记录Http底层数据
plugin.Stop
'获取返回的状态码
Set  statuscode=plugin.Log.Entries.Item(0)
linkStatue=statuscode.StatusCode
If 400>linkStatue Then
Reporter.ReportEvent micPass,"返回状态码是否正确","返回状态码正确,为:"&linkStatue
else
Reporter.ReportEvent micFail,"返回状态码是否正确","返回状态码错误,为:"&linkStatue
End If
''关闭浏览器窗口
plugin.CloseBrowser()
''回收对象
Set control=nothing
Set plugin=nothing
Set statuscode=nothing

21/212>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • liujia114207
    2013-3-20 16:17:59

    为什么我的返回码一直是0

  • wolaizhinidexin
    2011-8-15 11:20:33

    版本不对吧。请注意QTP和HTTPWatch的版本。

  • jiguoling
    2011-8-10 13:16:54

    control.IE.New()  写法 QTP不支持,查了一下,没有.ie.new  这个属性,请帮忙解决!

  • sunzhenguo1010
    2011-8-02 21:00:56

    你好我运行的时候报错了:Internet Explorer terminated (Error 0x1) 请给予指导一下谢谢,qq346927930

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号