Good to Know Database

Fehlgeschlagene Tests aus dem CANoe XML-Report exportieren


Das folgende Visual Basic Script extrahiert aus einem von CANoe generierten XML-Report alle fehlgeschlagenen Test Steps und die dazugehörigen Test Cases und speichert diese Informationen in eine zweite XML-Datei. Dadurch kann man auch ohne HTML-Report die fehlgeschlagenen Test Steps und die dazugehörigen Zeitstempel herausfinden und sich einen Überblick über den Testlauf verschaffen.

Option Explicit

' Declaration of variables
Dim strInFile
Dim strOutFile
Dim objFileSystem
Dim objInFile
Dim objOutFile
Dim strTextLine
Dim strFirstSearch
Dim strSecondSearch
Dim intNextLine

' Define search string
strFirstSearch = "result=""fail"""
strSecondSearch = "endtime"
intNextLine = 0

' Check arguments
If WScript.Arguments.Count < 1 Then
  ' No arguments specified
  WScript.Echo "No file specified." & vbCrLf & "Visual Basic Script has been aborted!"
  WScript.Quit()
Else
  ' Store specified file name
  strInFile = WScript.Arguments(0)

  ' Check specified file name
  If InStr(strInFile,".xml") <> 0 Then
    ' Create output file name
    strOutFile = Replace(strInFile,".xml","_FailOnly.xml")
  Else
    ' No XML file specified
    WScript.Echo "Specified file is no XML file." & vbCrLf & "Visual Basic Script has been aborted!"
    WScript.Quit()
  End If
End If

' Create object for filesystem access
Set objFileSystem = WScript.CreateObject("Scripting.FileSystemObject")

' Open input XML file for reading
Set objInFile = objFileSystem.OpenTextFile(strInFile,1)

' Create output XML file
Set objOutFile = objFileSystem.CreateTextFile(strOutFile,True)

' Parse input file line by line for search strings and write lines to output file
Do While objInFile.AtEndOfStream <> True
  strTextLine = objInFile.Readline

  ' Write line to output file
  If intNextLine = 1 Then
    objOutFile.WriteLine(strTextLine)
    intNextLine = 0
  End If

  ' Check current line for first search string
  If InStr(strTextLine,strFirstSearch) <> 0 Then
    objOutFile.WriteLine(strTextLine)

    ' Check current line for second search string
    If InStr(strTextLine,strSecondSearch) <> 0 Then
      intNextLine = 1
    End If
  End If
Loop

' Close input XML file
objInFile.Close

' Deallocate input file object
Set objInFile = Nothing

' Close output XML file
objOutFile.Close

' Deallocate output file object
Set objOutFile = Nothing

' Deallocate filesystem object
Set objFileSystem = Nothing

' Quit Visual Basic Script
WScript.Echo "All done."
WScript.Quit()


Dieser Eintrag wurde am 16.12.2012 erstellt und zuletzt am 22.12.2012 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_25_2015.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer