51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1736|回复: 7
打印 上一主题 下一主题

[原创] QTP日志实践的几点总结

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-8-29 12:37:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
背景:在日常使用QTP中,因为有QC的存在,导致了QTP的察看结果的功能并不是用的很顺手,所以笔者在脱离开QC的情况下,在工作实践中总结了QTP的日志实现的一些方法。
                  1、生成txt文件。这是从开发那边得到的启示。
                  首先定义一个sub:
                  Public Sub WriteLineToFile(message)
                  Const ForReading = 1, ForWriting = 2, ForAppending = 8
                  Dim fileSystemObj, fileSpec
                  Dim currentTime
                  currentDate = Date
                  currentTime = Time
                  testName = "log"
                  Set fileSystemObj = CreateObject("scrīpting.FileSystemObject")
                  fileSpec ="C:\" &testName& ".txt" 'change this according to your directory
                  If Not (fileSystemObj.FileExists(filespec)) Then  
                  Set logFile = fileSystemObj.CreateTextFile(fileSpec, ForWriting, True)  
                  logFile.WriteLine
      ("#######################################################################")
                  logFile.WriteLine (currentDate & currentTime & " Test: " & environment.Value("TestName") )  
                  logFile.WriteLine
        ("#######################################################################")
                  logFile.Close  
                  Set logFile = Nothing
                  End If
                  Set logFile = fileSystemObj.OpenTextFile(fileSpec,
                  ForAppending, False, True)
                  logFile.WriteLine (currentDate & currentTime & " " & message)
                  logFile.Close
                  Set logFile = Nothing
                  Set fileSystemObj = Nothing
                  End Sub        
这样就能在txt中直接明了的看到自己的日志了。(个人感觉比看QTP的results好多了了,当然QTP自身的results还有错误图片等等,下面会介绍我的解决方案)
题外话:在实际应用中,我会在sub中增加一个flag,来标志不同的严重等级,在不同的情况下控制输出不一样类型的日志。
2、使用QTP自身的抓图功能
                  Public Function capture_desktop()
                  Dim datestamp
                  Dim filename
                  datestamp = Now()
                  filename = Environment("TestName")&"_"&datestamp&".png"
                  filename = Replace(filename,"/","")
                  filename = Replace(filename,":","")
                  filename = "C:\QTP_ScreenShots"&""&filename
                  Desktop.CaptureBitmap filename
                  Reporter.ReportEvent micFail,"image","<img src='" & filename & "'>"
                  End Function
该函数主要就是用到Desktop.CaptureBitmap的这个方法,把桌面的图片抓下来,这样比较自由的抓下任意时候桌面的图片,方便我们检查结果。
题外话:可以通过Function的返回值和上面提到的方法结合在一起的话,效果会更好的。
3、使用outlook发送邮件
                  Public Sub
                  SendEmail(testname,strsubject,stremailcontent,attachment,strrecipient)

                  Set out = CreateObject("Outlook.Application")
                  Set mapi = out.GetNameSpace("MAPI")
                  Set email = out.CreateItem(0)
                  email.Recipients.Add(strrecipient)
                  email.Subject = strsubject
                  email.Body = stremailcontent
                  Set oAttachment = email.Attachments.Add(attachment)
                  email.Send
                  Set outlook = Nothing
                  Set mapi = Nothing
                  End Sub
题外话:假如我们把日志和抓图都结合在一起作为附件发出去的话,在自动化测试中后期会很有用,当然前提是不使用QC的情况下。
4、这是一个针对上面第3点如何把抓图放在一个doc中。
                  Set oWord = CreateObject("Word.Application")
                  oWord.DisplayAlerts = False
                  oWord.Visible = False
                  oWord.documents.open "testWordDoc.doc"
                  Set oDoc = oWord.ActiveDocument
                  Set oRange = oDoc.content
                  oRange.ParagraphFormat.Alignment = 0
                  oRange.insertafter vbcrlf '& " " & vbcrlf
                  oRange.collapse(0)
                  oRange.InlineShapes.AddPicture "ImagePath.bmp", False, True
                  oWord.ActiveDocument.Save
                  oWord.Application.Quit True
                  Set oRange = Nothing
                  Set oDoc = Nothing
                  Set oWord = Nothing
当然QTP和excel,word结合的不错的,所以在测试中灵活运动,效果会很好的。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-8-29 12:45:37 | 只看该作者
楼主真好,最近我在找这方面的资料呢,谢谢了
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2022-7-13 15:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
    发表于 2007-8-29 13:05:11 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2007-8-29 13:15:35 | 只看该作者
    最开心看见自己的文章被转载了,呵呵.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2007-8-29 13:44:44 | 只看该作者
    呵呵,我在风过无息的空间的确看到过
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2007-8-31 17:08:02 | 只看该作者
    1. 稍微改改呢。
    复制代码
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2007-9-1 02:51:48 | 只看该作者
    原帖由 风过无息 于 2007-8-29 13:15 发表
    最开心看见自己的文章被转载了,呵呵.


    被转载时要是有注明自己的名字就更开心了!
    不过大多数转载的人都是很懒的,所以我干脆帮忙帮到底,自己在文章里注明作者了,这样也好给自己打广告sdlkfj3
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2007-9-3 11:58:24 | 只看该作者
    免费的广告。。
    最好标上原著
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-10-5 21:21 , Processed in 0.113014 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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