`
tengzejun508
  • 浏览: 26051 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

QTP测试报告代码

    博客分类:
  • QTP
阅读更多

自动化测试实际是将测试人员手工进行的工作脚本化,这就需要在测试脚本运行完成后,展示一个明了的测试报告,供相关人员查看测试结果,判断系统的正确性,以下代码实现的是一个EXCEL格式的测试报告,以Function为单位记录脚本的执行情况,若完成则显示Complete,在Comment中显示验证点检查结果情况,以此来判断系统运行的正确行;若由于一些突发的异常情况导致脚本未执行完成,则显示Fail,在Comment中显示Err.Descrīption信息
当然,要达到以上效果,要求在业务脚本的检查点按照指定的格式书写,我的做法是设置一个全局变量记录所有检查点信息,然后传入给日志函数
以下是代码,希望对有需要的朋友有所帮助:)
Function ExcelReport(ReportExcelFile,sStatus,sDetails)
  '定义变量
  Dim fso
  Dim oExcel
  Dim ExcelFile
  Dim TestcaseName
  Dim objWorkBook 
  Dim objSheet
'  Dim Environment("Row"), Environment("TCRow"), NewTC 
  
  Set fso = CreateObject("scrīpting.FileSystemObject")
  Set ōExcel = CreateObject("Excel.Application")
'   oExcel.Visible = True
  
  '设置Excel报告样式
  If  Not fso.FileExists(ReportExcelFile) Then
   oExcel.Workbooks.Add
   
   '获取工作簿的第一个Sheet页
   Set ōbjSheet = oExcel.Sheets.Item(1)
   oExcel.Sheets.Item(1).Select
   
   With objSheet
    '更改sheet名
    .Name = "Test_Summary"
    
    '设置列宽
    .Columns("A:A").ColumnWidth = 5
    .Columns("B:B").ColumnWidth = 35
    .Columns("C:C").ColumnWidth = 10
    .Columns("D:D").ColumnWidth = 60
    .Columns("A:D").HorizontalAlignment = -4131
    .Columns("A:D").WrapText = True
    
    '设置显示区域的字体类型和大小


    .Range("A:D").Font.Name = "Arial"
    .Range("A:D").Font.Size = 10
    
    '设置文件头格式
    .Range("B1").Value = "Test Result"
    .Range("B1:C1").Merge 
     
    '设置文件头格式字体和颜色
    .Range("B1:C1").Interior.ColorIndex = 53
    .Range("B1:C1").Font.ColorIndex = 19
    .Range("B1:C1").Font.Bold = True
    
    '设置执行的日期和时间
    .Range("B3").Value = "Test Data:"
    .Range("B4").Value = "Test Start Time:"
    .Range("B5").Value = "Test End Time:"
    .Range("B6").Value = "Test Duration: "    
    .Range("C3").Value = Date
    .Range("C4").Value = Time
    .Range("C5").Value = Time
    .Range("C6").Value = "=R[-1]C-R[-2]C" 
    .Range("C6").NumberFormat = "[h]:mm:ss;@"
    
    '设置日期和时间cell的边界
    .Range("C3:C8").HorizontalAlignment = 4 '右边对齐
'     .Range("C3:C8").Font.Bold = True
'     .Range("C3:C8").Font.ColorIndex = 7
    .Range("B3:C8").Borders(1).LineStyle = 1 
    .Range("B3:C8").Borders(2).LineStyle = 1
    .Range("B3:C8").Borders(3).LineStyle = 1
    .Range("B3:C8").Borders(4).LineStyle = 1
    
    '设置日期和时间Cell的样式
    .Range("B3:C8").Interior.ColorIndex = 40
    .Range("B3:C8").Font.ColorIndex = 12
    .Range("C3:C8").Font.ColorIndex = 7
    .Range("B3:A8").Font.Bold = True
    
    .Range("B7").Value = "No Of Function:"
    .Range("C7").Value = "0"
    .Range("B8").Value = "Test Machine" 
    .Range("C8").Value = GetIP()
    .Range("B10").Value = "TestCase"
    .Range("C10").Value = "Finish"
    .Range("D10").Value = "Comment"
    
    '为Result Summery设置格式
    .Range("B10:D10").Interior.ColorIndex = 53
    .Range("B10:D10").Font.ColorIndex = 19
    .Range("B10:D10").Font.Bold = True
  
    '为Result Summery设置边界
    .Range("B10:D10").Borders(1).LineStyle = 1 
    .Range("B10:D10").Borders(2).LineStyle = 1
    .Range("B10:D10").Borders(3).LineStyle = 1
    .Range("B10:D10").Borders(4).LineStyle = 1
    .Range("B10:D10").HorizontalAlignment = 3
    .Range("C11:C1000").HorizontalAlignment = 3
  
    .Columns("B:D").Select
'     .Columns("B:D").Autofit
    .Range("B11").Select  
   End With
   oExcel.ActiveWindow.FreezePanes = True
   oExcel.ActiveWorkbook.SaveAs ReportExcelFile
   oExcel.Quit
   
   Set ōbjSheet = Nothing
  End If
  
  TestcaseName = Environment("TCase")
'   MsgBox TestcaseName
  Set ōbjWorkBook = oExcel.Workbooks.Open(ReportExcelFile)
  Set ōbjSheet = oExcel.Sheets("Test_Summary")
  
  With objSheet
   '设置行数和是否NewTc标识
   Environment("Row") = .Range("C7").Value + 11
   'NewTC = False
   
   If TestcaseName <> objSheet.Cells(Environment("Row")-1,2).value Then
    .Cells(Environment("Row"),2).value = TestcaseName
    .Cells(Environment("Row"), 3).Value = sStatus 
    .Cells(Environment("Row"), 4).value = sDetails
    
    Select Case sStatus
     Case "Fail"
      .Range("C" & Environment("Row")).Font.ColorIndex = 3
     Case "Complete"
      .Range("C" & Environment("Row")).Font.ColorIndex = 50
    End Select
    
    'NewTC = True
    .Range("C7").Value = .Range("C7").Value + 1
    '设置边界
    .Range("B" & Environment("Row") & ":D" & Environment("Row")).Borders(1).LineStyle = 1 
    .Range("B" & Environment("Row") & ":D" & Environment("Row")).Borders(2).LineStyle = 1
    .Range("B" & Environment("Row") & ":D" & Environment("Row")).Borders(3).LineStyle = 1
    .Range("B" & Environment("Row") & ":D" & Environment("Row")).Borders(4).LineStyle = 1 
    '设置字体和颜色?
    .Range("B" & Environment("Row") & ":D" & Environment("Row")).Interior.ColorIndex = 19
    .Range("B" & Environment("Row")).Font.ColorIndex = 53
    .Range("D" & Environment("Row")).Font.ColorIndex = 41
    .Range("B" & Environment("Row") & ":D" & Environment("Row")).Font.Bold = True
   End If
   
   If (Not NewTC) And (sStatus = "Fail") Then
    .Cells(Environment("Row"), 3).Value = "Fail"
    .Range("C" & Environment("Row")).Font.ColorIndex = 3
   End If
   
   '更新结束时间
   .Range("C5").Value = Time
   
   .Columns("B:D").Select
'    .Columns("B:D").Autofit
  End With
  oExcel.ActiveWindow.FreezePanes = True
  
  '保存结果
  objWorkBook.Save
  oExcel.Quit 
  
  Set ōbjSheet = Nothing
  Set ōbjWorkBook = Nothing
  Set ōExcel = Nothing
  Set fso = Nothing
End Function
 

分享到:
评论

相关推荐

    QTP订机票参数化测试代码

    本人调试无错的QTP订机票参数化测试代码

    【QTP】QTP基础代码.pdf

    【QTP】QTP基础代码 供大家下载学习

    QTP自动化测试

    它以程序测试程序、以代码代替思维、以脚本的运行代替手工测试。自动化测试同时涵盖各种各样的测试种类,常见的有以下几种:功能(黑盒/白盒)自动化测试、性能测试、压力测试、GUI测试、安全性测试,它们都可以由...

    《QTP自动化测试实践》源代码

    《QTP自动化测试实践》源代码

    QTP自动化测试实践》源代码

    QTP自动化测试实践》源代码QTP自动化测试实践》源代码QTP自动化测试实践》源代码QTP自动化测试实践》源代码QTP自动化测试实践》源代码

    软件测试 QTP

    QTP的基本使用 插入检查点,step等 关联action 参数化等

    《QTP自动化测试进阶》源代码

    《QTP自动化测试进阶》一书的附带源代码 http://www.china-pub.com/196842 《QTP自动化测试进阶》是《QTP自动化测试实践》的升级版 http://blog.csdn.net/Testing_is_believing/category/699049.aspx

    jisuanqi.rar_qtp_qtp测试计算器

    QTP测试系统自带的计算器的代码,大家可以看看

    qtp对于web测试

    qtp web功能测试,里面有代码,应该是基础的吧,现在还看不大懂

    QTP+自动化测试框架

    用VBscritp在QTP的基础上进行二次开发,是自动化测试更加简洁高效。其中包含所有源代码和文档。

    qtp录制页面的解释

    给初级学习qtp的测试人员提供的在录制时不理解的描述信息

    QTP从excel中读取测试数据,写入测试结果源代码

    QTP从excel中读取测试数据,写入测试结果源代码 其中《calcexcel.vbs》为封装的函数,《calcexcl.txt》为QTP中代码

    非常全的QTP学习资料

    1 自动化测试的实践-应用QTP测试框架.ppt 3 TD+QTP实用操作手册—银行付款实例讲解.ppt RegexTester.zip VBscript错误处理.txt WEB通用功能的测试用例设计.docx 读取EXCEL用例中的参数到QTP中去.txt 相对路径和绝对...

    QTP自动化测试践源代码

    QTP自动化测试践源代码,对看这本书的人有些帮助!

    《用户体验测试的自动化实现》QTP源代码

    《用户体验测试的自动化实现》一文结合QTP的脚本编写,介绍了几个用户体验和界面规范测试方面的测试用例的自动化实现方法,通过工具的自动检查和比较,可避免人工检查的时间、精力的耗费,以及人工检查的误差。...

    QTP AOM帮助文档

    使用QTP的automation object model,可以对QTP进行自动化编程,从而自动对QTP进行选项设置、自动运行测试(或组件),而无需使用QTP界面手工进行这些操作。 如果要重复多次的完成同一项工作任务,或重复多次运行同一...

    QTP的详细基础代码

    QTP的详细基础代码,帮组初学的人利用qtp完成自动化测试

    QTP常用技巧应用与代码实践

    QTP常用技巧应用 1、QTP的Action间的信息共享的4种方 2、TD与QTP连接 3、QTP读取Excel数据的方法 4、QTP连接数据库 5、QuickTest Plus小工具,大作用 6、基础知识 7、对象库和对象属性 ...17、向测试结果报告事件

    QTP下载链接.txt

    QTP为DataTable提供了许多方法供存取数据,在对测试代码进行参数化的时候,这些方法非常有用。 11)环境变量(EnvironmentVariables)。在一个test中,环境变量可以被当前test中所有action共享。环境变量也有两种...

Global site tag (gtag.js) - Google Analytics