Всем привет! Написано несколько тестов на Java, собираются с помощью Ant, запускаются через TestNG.
Тесты находятся в одном троекте/пакете.
При запуске всех (трех тестов) через IDE (Eclipse), или через Ant (с консоли) - тесты запускаются по очереди и сборка успешно отрабатывает.
А вот при запуске той же сборки с помощью Jenkins (через build.xml Ant): после отработки функционала первого теста - вся сборка зависает (на длительный строк) - никаких результатов (pass/fail) Jenkis не выдает, просто висит.
Так, как со сборками запуска тестов не очень знаком, думаю, что проблема может быть в конфиг-файле, он следующий:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="Regress test suite!"> <test name="Test1_regress"> <classes> <class name="tests.Test1_regress"></class> </classes> </test> <test name="Test2_regress"> <classes> <class name="tests.Test2_regress"></class> </classes> </test> <test name="Test3_regress"> <classes> <class name="tests.Test3_regress"></class> </classes> </test> </suite> Может кто-то сталкивался с подобной проблемой?
streLer
(streLer)
17.Январь.2013 06:28:09
#2
Сам работаю с jUnit.
покажите build.xml
Ваш Конфиг файл вроде корректный.
можно скрин с Jenkins прикрепить?
Мой build.xml:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- WARNING: Eclipse auto-generated file. Any modifications will be overwritten. To include a user specific buildfile here, simply create one in the same directory with the processing instruction <?eclipse.ant.import?> as the first entry and export the buildfile again. --><project basedir="." default="build" name="com.regress"> <property environment="env"/> <property name="ECLIPSE_HOME" value="D:/eclipse-jee-juno-win32-x86_64/eclipse"/> <property name="debuglevel" value="source,lines,vars"/> <property name="target" value="1.7"/> <property name="source" value="1.7"/> <path id="LogsLibrary.userclasspath"> <pathelement location="C:/Users/klimchukivan/Desktop/myTest/resource/logs-resource/logback-classic-1.0.7.jar"/> <pathelement location="C:/Users/klimchukivan/Desktop/myTest/resource/logs-resource/logback-core-1.0.7.jar"/> <pathelement location="C:/Users/klimchukivan/Desktop/myTest/resource/logs-resource/slf4j-api-1.7.2.jar"/> </path> <path id="screen-recorder.userclasspath"> <pathelement location="C:/Users/klimchukivan/Desktop/myTest/resource/screen-player-r2.2.jar"/> <pathelement location="C:/Users/klimchukivan/Desktop/myTest/resource/screen-recorder-r2.2.jar"/> </path> <path id="Selenium-2-27.userclasspath"> <pathelement location="C:/Users/klimchukivan/Desktop/myTest/resource/selenium-java-2.27.0.zip"/> <pathelement location="C:/Users/klimchukivan/Desktop/myTest/resource/selenium-server-standalone-2.27.0.jar"/> </path> <path id="org.testng.reporters.XMLReporter.userclasspath"> <pathelement location="C:/Users/klimchukivan/Desktop/myTest/resource/org.testng.reporters.XMLReporter/testng-5.7-jdk15.jar"/> </path> <path id="com.regress.classpath"> <pathelement location="bin"/> <path refid="LogsLibrary.userclasspath"/> <path refid="screen-recorder.userclasspath"/> <path refid="Selenium-2-27.userclasspath"/> <path refid="org.testng.reporters.XMLReporter.userclasspath"/> </path> <target name="init"> <mkdir dir="bin"/> <copy includeemptydirs="false" todir="bin"> <fileset dir="src"> <exclude name="**/*.java"/> </fileset> </copy> </target> <target name="clean"> <delete dir="bin"/> </target> <target depends="clean" name="cleanall"/> <target depends="build-subprojects,build-project" name="build"/> <target name="build-subprojects"/> <target depends="init" name="build-project"> <echo message="${ant.project.name}: ${ant.file}"/> <javac debug="true" debuglevel="${debuglevel}" destdir="bin" includeantruntime="false" source="${source}" target="${target}"> <src path="src"/> <classpath refid="com.regress.classpath"/> </javac> </target> <target description="Build all projects which reference this project. Useful to propagate changes." name="build-refprojects"/> <taskdef resource="testngtasks" classpathref="com.regress.classpath"/> <target name="run" depends="build"> <mkdir dir="test-report"/> <testng> <classpath refid="com.regress.classpath" /> <xmlfileset dir="." includes="testng-customsuite.xml" /> <reporter classname="org.testng.reporters.XMLReporter"/> </testng> </target> </project>
screen c Jenkins
streLer
(streLer)
17.Январь.2013 08:40:07
#4
1. Обновите Селениум до 2.28
2. Если используете FF то какая версия?
3. Зачем вы вызываете ант через командную строку?
если уж через командную то , что у вас прописано в ant.bat ??
должно быть : ant clean compile run
4. Jenkins стоит локально я так понимаю?
1. Обновил Селениум до 2.28
2, FireFox 17.0.1
4,Jenkins стоит локально
3, Вызываю Ант через командную строку, потому, что так советовали настраивать проект в Jenkins и в build.xml прописывать:
<target name="run" depends="build">
По поводу ant.bat - там все дефолтное (ничего не менял после загрузки с оф.сайта) у меня файл следующего содержания
Подскажите, что нужно исправить в ant.bat, или по-другому вызывать ант (не через консоль)?
Разобрался с проектом: была изменена структура (добавлен новый пакет), а в build.xml изменения не внесены. Огромное спасибо за помощь streLer !!!