#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 ). Просто переименовал файл, и все было готово.
Надеюсь, это поможет, хотя вопрос был задан некоторое время назад.