Java testng.testngeException:NullPointerException,通过reportng生成自定义报告
我最近在testng.xml中添加了这段代码Java testng.testngeException:NullPointerException,通过reportng生成自定义报告,java,maven,selenium,testng,reportng,Java,Maven,Selenium,Testng,Reportng,我最近在testng.xml中添加了这段代码 <listeners> <listener class-name="org.uncommons.reportng.HTMLReporter"/> <listener class-name="org.uncommons.reportng.JUnitXMLReporter"/> </listeners> 它给了我以下的错误 org.testng.TestNGExceptio
<listeners>
<listener class-name="org.uncommons.reportng.HTMLReporter"/>
<listener class-name="org.uncommons.reportng.JUnitXMLReporter"/>
</listeners>
它给了我以下的错误
org.testng.TestNGException: java.lang.NullPointerException
at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:341)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:88)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
Caused by: java.lang.NullPointerException
at org.testng.xml.TestNGContentHandler.xmlListeners(TestNGContentHandler.java:356)
at org.testng.xml.TestNGContentHandler.endElement(TestNGContentHandler.java:704)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endNamespaceScope(Unknown Source)
我添加了上面的侦听器,希望能够生成定制的报告。我在eclipse类路径中添加了报告的jar文件
那么,我如何修复错误呢
我是否将jar文件添加到其他地方?而不是添加到testng插件ant build.xml中
<testng classpath="class file path" suitename="suite1"
outputDir="test output"
haltonfailure="true"
useDefaultListeners="false"
listeners="org.uncommons.reportng.HTMLReporter,org.uncommons.reportng.JUnitXMLReporter"
>
<xmlfileset dir="${ws.home}" includes="testng.xml"/>
<sysproperty key="org.uncommons.reportng.title" value="Report"/>
</testng>
只需确保将所有jar文件放在一起。您会遇到此错误,因为您在套件之外添加了listeners标记 您应该使用testng.xml,如下所示
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Test">
<listeners>
<listener class-name="org.uncommons.reportng.HTMLReporter"/>
<listener class-name="org.uncommons.reportng.JUnitXMLReporter"/>
</listeners>
<test name="Round1">
<classes>
<class name="testcases.common.testCase"/>
</classes>
</test>
</suite>
这对我来说很好。我相信在更改xml文件后,您的问题将得到解决
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Test">
<listeners>
<listener class-name="org.uncommons.reportng.HTMLReporter"/>
<listener class-name="org.uncommons.reportng.JUnitXMLReporter"/>
</listeners>
<test name="Round1">
<classes>
<class name="testcases.common.testCase"/>
</classes>
</test>
</suite>