github.com/kubeshop/testkube@v1.17.23/contrib/executor/jmeter/pkg/parser/xjtl.go (about) 1 package parser 2 3 import ( 4 "encoding/xml" 5 ) 6 7 // TestResults is a root element of junit xml report 8 type TestResults struct { 9 XMLName xml.Name `xml:"testResults"` 10 HTTPSamples []Example `xml:"httpSample,omitempty"` 11 Samples []Example `xml:"sample,omitempty"` 12 } 13 14 // Example is example details 15 type Example struct { 16 Time int `xml:"t,attr"` 17 Success bool `xml:"s,attr"` 18 Label string `xml:"lb,attr"` 19 ResponseCode string `xml:"rc,attr"` 20 AssertionResult *AssertionResult `xml:"assertionResult"` 21 } 22 23 // AssertionResult contains assertion 24 type AssertionResult struct { 25 XMLName xml.Name `xml:"assertionResult"` 26 Name string `xml:"name"` 27 Failure bool `xml:"failure"` 28 Error bool `xml:"error"` 29 FailureMessage string `xml:"failureMessage"` 30 } 31 32 func ParseXML(data []byte) (results TestResults, err error) { 33 err = xml.Unmarshal(data, &results) 34 35 return results, err 36 }