• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package org.testng.xml;
2 
3 import org.testng.TestNGException;
4 import org.testng.remote.strprotocol.GenericMessage;
5 import org.testng.remote.strprotocol.IRemoteSuiteListener;
6 import org.testng.remote.strprotocol.IRemoteTestListener;
7 import org.testng.remote.strprotocol.SuiteMessage;
8 import org.testng.remote.strprotocol.TestMessage;
9 import org.testng.remote.strprotocol.TestResultMessage;
10 import org.xml.sax.SAXException;
11 
12 import java.io.File;
13 import java.io.FileInputStream;
14 import java.io.FileNotFoundException;
15 import java.io.IOException;
16 import java.io.InputStream;
17 
18 /**
19  * Parses testng-result.xml.
20  *
21  * @see ResultContentHandler
22  *
23  * @author Cedric Beust <cedric@beust.com>
24  */
25 public class ResultXMLParser extends XMLParser<Object> {
26   private IRemoteTestListener m_testListener;
27   private IRemoteSuiteListener m_suiteListener;
28 
ResultXMLParser(IRemoteSuiteListener suiteListener, IRemoteTestListener testListener)29   public ResultXMLParser(IRemoteSuiteListener suiteListener, IRemoteTestListener testListener) {
30     m_suiteListener = suiteListener;
31     m_testListener = testListener;
32   }
33 
parse()34   public void parse() {
35   }
36 
37   @Override
parse(String currentFile, InputStream inputStream, boolean loadClasses)38   public Object parse(String currentFile, InputStream inputStream, boolean loadClasses) {
39     ResultContentHandler handler = new ResultContentHandler(m_suiteListener, m_testListener,
40         loadClasses);
41 
42     try {
43       parse(inputStream, handler);
44 
45       return null;
46     } catch (SAXException | IOException e) {
47       throw new TestNGException(e);
48     }
49   }
50 
main(String[] args)51   public static void main(String[] args) throws FileNotFoundException {
52     IRemoteSuiteListener l1 = new IRemoteSuiteListener() {
53 
54       @Override
55       public void onInitialization(GenericMessage genericMessage) {
56       }
57 
58       @Override
59       public void onStart(SuiteMessage suiteMessage) {
60       }
61 
62       @Override
63       public void onFinish(SuiteMessage suiteMessage) {
64       }
65 
66     };
67 
68     IRemoteTestListener l2 = new IRemoteTestListener() {
69 
70       @Override
71       public void onStart(TestMessage tm) {
72       }
73 
74       @Override
75       public void onFinish(TestMessage tm) {
76       }
77 
78       @Override
79       public void onTestStart(TestResultMessage trm) {
80       }
81 
82       @Override
83       public void onTestSuccess(TestResultMessage trm) {
84       }
85 
86       @Override
87       public void onTestFailure(TestResultMessage trm) {
88       }
89 
90       @Override
91       public void onTestSkipped(TestResultMessage trm) {
92       }
93 
94       @Override
95       public void onTestFailedButWithinSuccessPercentage(TestResultMessage trm) {
96       }
97 
98     };
99     ResultXMLParser parser = new ResultXMLParser(l1, l2);
100     String fileName = "/Users/cbeust/java/testng/test-output/testng-results.xml";
101     parser.parse(fileName, new FileInputStream(new File(fileName)), false /* don't load classes */);
102   }
103 }
104