Получение java.lang.Ошибки NullPointerException при запуске testng.xml

#java #testng

#java #testng

Вопрос:

Я получаю следующую ошибку при запуске testng.xml

ant run_testNG

 Buildfile: build.xml
run_testNG:
   [testng] Exception in thread "main" java.lang.NullPointerException
   [testng]     at org.testng.xml.Parser.parse(Parser.java:189)
   [testng]     at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:351)
   [testng]     at org.testng.TestNG.run(TestNG.java:854)
   [testng]     at org.testng.TestNG.privateMain(TestNG.java:1178)
   [testng]     at org.testng.TestNG.main(TestNG.java:1137)
   [testng] The tests failed.
BUILD SUCCESSFUL
Total time: 0 seconds
  

мой testng.xml выглядит так :

 <project default="test">

 <path id="cp">
   <pathelement location="/softwares/lib/testng-5.13.1.jar"/>
   <pathelement location="/softwares/cruisecontrol-bin-2.8.3/run_test/run_test/build"/>
 </path>

 <taskdef name="testng" classpathref="cp" classname="org.testng.TestNGAntTask" />

 <target name="test">
   <testng classpathref="cp" groups="fast">
     <classfileset dir="build" includes="com/example/test/*.class"/>
   </testng>
 </target>

</project>
  

мой build.xml файл находится:

 <property name="lib.dir"   value="/softwares/lib"/>
<property name="src.dir" value="/softwares/src" />
  

 <target name="run_testNG" description="Run TestNG">
    <testng classpathref="compile.classpath" haltOnfailure="false">
        <xmlfileset dir="/softwares/cruisecontrol-bin-2.8.3/run_test/" includes="testng.xml" />
    </testng>
</target>
<target name="start-server">
    <java jar="/softwares/selenium/selenium-server-standalone-2.0b2.jar" fork="true" spawn="true">
        <arg line="-timeout 30"/>
        <jvmarg value="-Dhttp.proxyHost=proxy.corporate.com"/>
        <jvmarg value="-Dhttp.proxyPort=3128"/>
    </java>
</target>
<target name="stop-server">
    <get taskname="selenium-shutdown"
        src="http://localhost:4444/selenium-server/driver/?cmd=shutDownSeleniumServer"
        dest="result.txt" ignoreerrors="true" />
    <echo taskname="selenium-shutdown" message="DGF Errors during shutdown are expected" />
</target>
<taskdef resource="testngtasks" classpath="/softwares/selenium/selenium-2.0b2/libs/testng-5.14.1.jar" />
  

Кто-нибудь может мне помочь … почему я получаю эту ошибку. Мы будем признательны за вашу помощь

Комментарии:

1. Что делают вызовы в Parser.java и TestNG.java как выглядит? исключение NullPointerException возникает не из XML, а из кода JAVA

Ответ №1:

Похоже, проблема в том, что это не XML-файл testng. Это файл сборки Ant.

Для получения информации о том, как должен выглядеть реальный XML-файл testng, смотрите здесь. В качестве альтернативы, переименуйте файл и используйте Ant для запуска тестов; например

 $ mv testng.xml build.xml
$ ant test
  

Однако любопытно, что testng завершается с таким впечатляющим сбоем, когда вы предоставляете ему XML-файл, что он не запускается. Возможно, недостаточное тестирование? 🙂

Комментарии:

1. Исправьте, похоже, что ваш testng.xml файл на самом деле является build.xml .

Ответ №2:

Мне кажется, что он не может найти ваш testng.xml файл. Это одна из возможных причин для NPE, выдаваемого синтаксическим анализатором XML: null ввод. Я вижу, что по ant умолчанию используется значение build.xml . У вас тоже есть build.xml файл?

Посмотрите на run_testNG скрипт, возможно, вы можете / должны добавить полный путь к вашему файлу.

Ответ №3:

У меня была та же проблема,
но я обнаружил, что я собирал файл DBUnit dataset, который совпал с шаблоном, который я настроил для получения XML-файла testng (*test.xml ). Просто переименовал файл, и все было готово.

Надеюсь, это поможет, хотя вопрос был задан некоторое время назад.