2016-08-04 25 views
0

Ich versuche, ein Profil mit mvn -ProfileName auszuführen Aber ich bekomme Fehler, es scheint, dass meine pom.xml korrekt ist und testngsuite.xml ist auch korrekt . Ich kann meinen Code aus dem .java- ohne ProblemeTestNG Test Suite kann nicht in einem Maven-Projekt ausgeführt werden

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.bilog</groupId> 
    <artifactId>IncidentDashboardAutomation</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>IncidentDashboardAutomation</name> 
    <url>http://maven.apache.org</url> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>org.testng</groupId> 
      <artifactId>testng</artifactId> 
      <version>6.9.10</version> 
     </dependency> 
     <dependency> 
      <groupId>org.seleniumhq.selenium</groupId> 
      <artifactId>selenium-java</artifactId> 
      <version>2.53.0</version> 
     </dependency> 
     <dependency> 
      <groupId>com.relevantcodes</groupId> 
      <artifactId>extentreports</artifactId> 
      <version>2.40.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.ini4j</groupId> 
      <artifactId>ini4j</artifactId> 
      <version>0.5.4</version> 
     </dependency> 
     <dependency> 
      <groupId>com.paulhammant</groupId> 
      <artifactId>ngwebdriver</artifactId> 
      <version>0.9.6</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
      <version>1.2.17</version> 
     </dependency> 
    </dependencies> 


    <profiles> 
     <profile> 
      <id>RegressionTest</id> 
      <build> 
       <plugins> 
        <plugin> 
         <groupId>org.apache.maven.plugins</groupId> 
         <artifactId>maven-surefire-plugin</artifactId> 
         <version>2.19.1</version> 
         <configuration> 
          <suiteXmlFiles> 
           <suiteXmlFile>regression.xml</suiteXmlFile> 
          </suiteXmlFiles> 
         </configuration> 
        </plugin> 
       </plugins> 
      </build> 
     </profile> 
     <profile> 
      <id>Theriaque</id> 
      <build> 
       <plugins> 
        <plugin> 
         <groupId>org.apache.maven.plugins</groupId> 
         <artifactId>maven-surefire-plugin</artifactId> 
         <version>2.19.1</version> 
         <configuration> 
          <suiteXmlFiles> 
           <suiteXmlFile>theriaque.xml</suiteXmlFile> 
          </suiteXmlFiles> 
         </configuration> 
        </plugin> 
       </plugins> 
      </build> 
     </profile> 
    </profiles> 

</project> 

regression.xml

<suite name="IncidentDashboardSuite"> 
    <test name="Incident Dashboard Templae" preserve-order="true"> 
     <class name="com.bilog.IncidentDashboardAutomation.IncidentDashboardMainTestSuite.java"> 
     </class> 
    </test> 
</suite> 

Fehler Ich erhalte in Eclipse-Konsole ausführen :

[TestNGContentHandler] [WARN] It is strongly recommended to add "<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >" at the top of your file, otherwise TestNG may fail or not work as expected. 
org.testng.TestNGException: java.lang.NullPointerException 
    at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:325) 
    at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:90) 
    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:206) 
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:177) 
Caused by: java.lang.NullPointerException 
    at org.testng.xml.TestNGContentHandler.endElement(TestNGContentHandler.java:722) 
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(Unknown Source) 
    at javax.xml.parsers.SAXParser.parse(Unknown Source) 
    at org.testng.xml.XMLParser.parse(XMLParser.java:39) 
    at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:16) 
    at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:9) 
    at org.testng.xml.Parser.parse(Parser.java:172) 
    at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:305) 
    ... 3 more 

Fehler ich erhalte nach mvn Test-PRegressionTest

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 6.584 s 
[INFO] Finished at: 2016-08-04T14:12:31+02:00 
[INFO] Final Memory: 11M/245M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project IncidentDashboardAutomation: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test failed: There was an error in the forked process 
[ERROR] org.testng.TestNGException: java.lang.NullPointerException 
[ERROR] at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:325) 
[ERROR] at org.testng.TestNG.run(TestNG.java:1036) 
[ERROR] at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:281) 
[ERROR] at org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:75) 
[ERROR] at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:121) 
[ERROR] at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290) 
[ERROR] at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242) 
[ERROR] at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:121) 
[ERROR] Caused by: java.lang.NullPointerException 
[ERROR] at org.testng.xml.TestNGContentHandler.endElement(TestNGContentHandler.java:722) 
[ERROR] at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609) 
[ERROR] at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1783) 
[ERROR] at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2970) 
[ERROR] at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) 
[ERROR] at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:118) 
[ERROR] at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) 
[ERROR] at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) 
[ERROR] at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) 
[ERROR] at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) 
[ERROR] at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) 
[ERROR] at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643) 
[ERROR] at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327) 
[ERROR] at javax.xml.parsers.SAXParser.parse(SAXParser.java:195) 
[ERROR] at org.testng.xml.XMLParser.parse(XMLParser.java:39) 
[ERROR] at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:16) 
[ERROR] at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:9) 
[ERROR] at org.testng.xml.Parser.parse(Parser.java:172) 
[ERROR] at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:305) 
[ERROR] ... 7 more 
[ERROR] -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException 

PS: wenn ich mvn Test -PRegressionTest schreiben, erhalte ich: Unknown Phase des Lebenszyklus "test-PRegressionTest"

Dank!

+0

würde ich empfehlen, auch das Hinzufügen eines ' Test' zu Ihrer TestNG Abhängigkeitserklärung pom, wie Sie wollen es nicht als transitive Abhängigkeit identifiziert werden Ihrer verpacktes Glas. – Hatley

Antwort

3

Es scheint, dass Sie das Element <classes> in Ihrer TestNG-Konfigurationsdatei fehlen. Versuchen Sie, diese mit für Ihre regression.xml Datei ...

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > 
<suite name="IncidentDashboardSuite"> 
    <test name="Incident Dashboard Templae" preserve-order="true"> 
     <classes> 
      <class name="com.bilog.IncidentDashboardAutomation.IncidentDashboardMainTestSuite.java"/> 
     </classes> 
    </test> 
</suite> 
+0

@Hamza Amami - Hat das dein Problem gelöst? Wenn nicht, lassen Sie es uns bitte wissen ... Wenn ja, würde es Ihnen etwas ausmachen, die Antwort zu akzeptieren, indem Sie auf das grüne Häkchen klicken? Es wäre sehr wünschenswert, wie auch immer =) – Hatley