TA的每日心情 | 奋斗 2018-8-27 15:56 |
---|
签到天数: 322 天 连续签到: 1 天 [LV.8]测试军长
|
接 【seagull1985-QTP】EXCEL测试报告生成一 因为代码过长,导致贴子字符数过长,所以分开2个贴子发。
代码PART2 衔接代码PART1
- Public Sub Report (sStatus, sStepName,sExpected,sActual, sDetails)
- Dim TestcaseName
- Dim Row, TCRow, NewTC
- 'TestcaseName = Environment("ActionName") & " > Iteration (Test-Action) = " & Environment("TestIteration") & "-" & Environment("ActionIteration")
- TestcaseName = sStepName & " > Iteration (Test-Action) = " & Environment("TestIteration") & "-" & Environment("ActionIteration")
- 'Open the Result file
- ' Set objWorkBook = oEngine.Workbooks.Open (oSettings("File"))
- 'Select the Summery Sheet
- Set objSheet = oEngine.Sheets("Test_Summary")
- oEngine.Sheets("Test_Summary").Select
- With objSheet
- 'Note the Row No. on which to Report the result
- Row = .Range("C8").Value + 2*.Range("C7").Value + 2
- TCRow = .Range("C7").Value + 11
- NewTC = False
- .Range("F" & TCRow).Font.ColorIndex = 3
- .Range("E" & TCRow).Font.ColorIndex = 50
- .Range("G" & TCRow).Font.ColorIndex = 46
- 'Check if it is a new Tetstcase
- If objSheet.Cells(TCRow - 1, 2).Value <> TestcaseName Then
- .Cells(TCRow, 2).Value = TestcaseName
- oEngine.ActiveSheet.Hyperlinks.Add objSheet.Cells(TCRow, 2), "", "Test_Result!A" & Row+1, TestcaseName
- .Cells(TCRow, 3).Value = sStatus
- .Range("F" & TCRow).Value = "0"
- .Range("E" & TCRow).Value = "0"
- .Range("G" & TCRow).Value = "0"
- Select Case sStatus
- Case "Fail"
- .Range("C" & TCRow).Font.ColorIndex = 3
- .Range("F" & TCRow).Value = "1"
- Case "Pass"
- .Range("C" & TCRow).Font.ColorIndex = 50
- .Range("E" & TCRow).Value = "1"
- Case "Warning"
- .Range("C" & TCRow).Font.ColorIndex = 46
- .Range("G" & TCRow).Value = "1"
- End Select
- 'The first step.
- .Cells(TCRow, 4).Value = 1 '(D,11)
- NewTC = True
- 'it is a new Testcase
- .Range("C7").Value = .Range("C7").Value + 1 'count the cases.
- 'Set the Borders for the Result Header
- .Range("B" & TCRow & ":G" & TCRow).Borders(1).LineStyle = 1
- .Range("B" & TCRow & ":G" & TCRow).Borders(2).LineStyle = 1
- .Range("B" & TCRow & ":G" & TCRow).Borders(3).LineStyle = 1
- .Range("B" & TCRow & ":G" & TCRow).Borders(4).LineStyle = 1
- 'Set color and Fonts for the Header
- .Range("B" & TCRow & ":G" & TCRow).Interior.ColorIndex = 2
- .Range("B" & TCRow).Font.ColorIndex = 23
- .Range("B" & TCRow & ":G" & TCRow).Font.Bold = True
- '====NOT A NEW CASE================================================================
- Else
- .Range("D" & TCRow-1).Value = .Range("D" & TCRow-1).Value + 1
- Select Case sStatus
- Case "Fail"
- .Range("F" & TCRow-1).Value = .Range("F" & TCRow-1).Value +1
- Case "Pass"
- .Range("E" & TCRow-1).Value = .Range("E" & TCRow-1).Value +1
- Case "Warning"
- .Range("G" & TCRow-1).Value = .Range("G" & TCRow-1).Value +1
- End Select
- End If
- If (Not NewTC) And (sStatus = "Fail") Then
- .Cells(TCRow-1, 3).Value = "Fail"
- .Range("C" & TCRow-1).Font.ColorIndex = 3
- End If
- If (Not NewTC) And (sStatus = "Warning") Then
- If .Cells(TCRow-1, 3).Value = "Pass" Then
- .Cells(TCRow-1, 3).Value = "Warning"
- .Range("C" & TCRow-1).Font.ColorIndex = 46
- End If
- End If
- .Range("C8").Value = .Range("C8").Value + 1
- 'Update the End Time
- .Range("C5").Value = Time
- 'Set Column width
- .Columns("B:D").Select
- .Columns("B:D").Autofit
- End With
- 'Select the Result Sheet
- Set objSheet = oEngine.Sheets("Test_Result")
- oEngine.Sheets("Test_Result").Select
- With objSheet
- 'Enter the Result
- If NewTC Then
- .Range("A" & Row & ":E" & Row).Interior.ColorIndex = 37
- .Range("A" & Row & ":E" & Row).Merge
- Row = Row + 1
- .Range("A" & Row & ":E" & Row).Merge
- .Range("A" & Row).Value = TestcaseName
- 'Set color and Fonts for the Header
- .Range("A" & Row & ":E" & Row).Interior.ColorIndex = 2
- .Range("A" & Row & ":E" & Row).Font.ColorIndex = 23
- .Range("A" & Row & ":E" & Row).Font.Bold = True
- Row = Row + 1
- End If
- .Range("A" & Row).Value = sStepName
- 'oEngine.Selection.ShapeRange.ScaleWidth 1.72, msoFalse, msoScaleFromTopLeft
- 'oEngine.Selection.ShapeRange.ScaleHeight 1.81, msoFalse, msoScaleFromTopLeft
- .Range("B" & Row).Value = sStatus
- .Range("B" & Row).Font.Bold = True
- Select Case sStatus
- Case "Pass"
- .Range("A" & Row & ":E" & Row).Font.ColorIndex = 50
- Case "Fail"
- .Range("A" & Row & ":E" & Row).Font.ColorIndex = 3
- Case "Warning"
- .Range("A" & Row & ":E" & Row).Font.ColorIndex = 46
- End Select
- .Range("B" & Row).Font.Bold = True
- .Range("C" & Row).Value = sExpected
- .Range("D" & Row).Value = sActual
- .Range("E" & Row).Value = sDetails
- 'Set the Borders
- .Range("A" & Row & ":E" & Row).Borders(1).LineStyle = 1
- .Range("A" & Row & ":E" & Row).Borders(2).LineStyle = 1
- .Range("A" & Row & ":E" & Row).Borders(3).LineStyle = 1
- .Range("A" & Row & ":E" & Row).Borders(4).LineStyle = 1
- .Range("A" & Row & ":E" & Row).VerticalAlignment = -4160
- End With
- oEngine.Sheets("Test_Summary").Select
- oEngine.Sheets("Test_Summary").Range("B1").Select
- 'Save the Workbook
- objWorkBook.Save
- End Sub
- End Class
- Set oReporterManager = new excelreporterengine
复制代码
|
|