自动化测试实际是将测试人员手工进行的工作脚本化,这就需要在测试脚本运行完成后,展示一个明了的测试报告,供相关人员查看测试结果,判断系统的正确性,以下代码实现的是一个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进行测试用例的设计与执行。测试用例是测试过程中不可或缺的部分,它详细描述了如何对系统进行操作以验证其是否满足预期的功能和性能。每个Action...
《QTP自动化测试实践》源代码是一份宝贵的资源,它为深入理解和应用QuickTest Professional(QTP,现称为UFT,Unified Functional Testing)提供了一手的实践经验。QTP是一款功能强大的自动化测试工具,广泛用于软件...
【QTP订机票参数化测试代码】是一种自动化测试技术,主要应用于航空行业的在线订票系统。QuickTest Professional(QTP)是HP公司开发的一种功能强大的自动化测试工具,它支持多种应用环境,包括Web、Windows、Java等...
2. **脚本自动生成**:QTP测试脚本的编写是一项繁琐的任务,而辅助工具可能具有智能生成脚本的功能,通过对用户操作的录制和分析,自动生成对应的VBScript代码。这不仅减少了编写脚本的时间,还降低了错误率。 3. *...
2. **动作和步骤**:QTP测试通常由一系列的动作组成,每个动作可以包含多个步骤。动作可以被保存并重复使用,步骤则是执行具体操作的命令。 3. **数据驱动测试**:通过关联外部数据源(如Excel或数据库),可以根据...
10. **测试结果报告**:理解如何利用QTP生成和解析测试报告,以便于问题定位和测试结果分析。 通过详细研究《QTP自动化测试实践》的源代码,读者不仅可以掌握QTP的基础操作,还能提升在实际项目中应用自动化测试的...
它以程序测试程序、以代码代替思维、以脚本的运行代替手工测试。自动化测试同时涵盖各种各样的测试种类,常见的有以下几种:功能(黑盒/白盒)自动化测试、性能测试、压力测试、GUI测试、安全性测试,它们都可以由...
5. **测试步骤**:QTP测试脚本由一系列动作(Action)组成,每个动作代表一个或多个操作。动作可以重复使用,增强了脚本的可复用性。 **二、QTP高级特性** 1. **智能识别**:QTP的智能识别技术能适应对象的变化,...
本文将深入探讨QTP中自定义的常用函数,特别是涉及到FTP操作以及测试报告的生成。 首先,FTP(File Transfer Protocol)是网络上文件传输的标准协议,常用于在服务器之间或服务器与客户端之间上传和下载文件。在QTP...
【QTP测试框架(含源码)】是一个用于自动化测试的专业工具,由一位经验丰富的高手编写,旨在帮助用户根据自己的需求进行定制。QTP,全称为QuickTest Professional,现已被HP Unified Functional Testing(UFT)取代...
【QTP测试实例】是一个关于自动化测试工具QuickTest Professional(简称QTP)的应用示例,主要涉及的是如何利用QTP来实现一个简单的计算程序,即从1加到99的循环计算。这个实例旨在帮助用户了解QTP的基本操作以及...
描述中的“QTP测试系统自带的计算器的代码”,可能包含了如何调用和使用QTP内建计算器的VBScript代码。VBScript是QTP使用的脚本语言,通过它可以编写测试脚本来驱动应用程序。例如,下面是一段简单的VBScript代码,...
总结,QTP测试软件的使用涉及多个层面,包括基础操作、对象识别、脚本编辑、测试执行和报告生成。通过六个实际测试实验,学习者可以逐步掌握自动化测试的核心技巧,并了解如何在实际项目中应用这些知识。对于软件...
【QTP+自动化测试框架】是一种利用QuickTest Professional(QTP)进行自动化测试的方法,并结合VBScript进行二次开发,以提升测试效率和简洁性。QTP,现已被更名为UFT(Unified Functional Testing),是一款功能...
### QTP基础代码知识点概述 #### 一、生成随机数序列 在软件自动化测试中,经常需要使用随机数来模拟真实环境下的数据输入。QTP(Quick Test Professional)支持多种方式来生成随机数序列。 ##### 第一种方法 通过...
报告详细介绍了使用HP公司的QTP(QuickTest Professional)自动化测试工具进行飞机订票系统功能测试的过程。 **QTP自动化测试介绍** QTP是一款强大的功能自动化测试工具,它可以显著提高测试效率,减少人为错误。...