org.testng.TestNGException:NullPointerException при создании пользовательских отчетов reportng
Я недавно добавил этот код в свой testng.xml
<listeners>
<listener class-name="org.uncommons.reportng.HTMLReporter"/>
<listener class-name="org.uncommons.reportng.JUnitXMLReporter"/>
</listeners>
Я использую следующие файлы JAR
velocity-dep-1.4.jar
reportng-1.1.4.jar
guice-3.0.jar
это дает мне следующую ошибку
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)
Я добавил вышеупомянутого слушателя в надежде сделать индивидуальные отчеты. Я добавил jar-файлы reportng в classpath eclipse?
так как я могу исправить ошибку?
добавить файлы jar где-нибудь еще?
2 ответа
Решение
Вместо добавления в 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-файл.