Запуск Тестов на Jenkins

Ребят помогите настроить запуск тестов на Jenkins. 

Использую Среду разработки Eclipse 

                                        анатация запуска тестов TestNG

сборщик проекта у меня Ant

--------

Локально я собираю у меня все работает все хорошо)

Стоит Jenkins на сервере. кидаю на сервер Build.xml запускается(собирается) но ничего не происходит,

скажите что я делаю не так? 

 

 

а есть хоть какие-то ошибки? что пишется в логах?

 

Started by user anonymous
Building in workspace /var/lib/jenkins/workspace/samsonOpt
[samsonOpt] $ /opt/cruisecontrol/apache-ant-1.7.0/bin/ant build
Buildfile: build.xml

setClassPath:

init:

build:

BUILD SUCCESSFUL
Total time: 0 seconds
TestNG Reports Processing: START
Looking for TestNG results report in workspace using pattern: testoutputng
Did not find any matching files.
Finished: SUCCESS

 

 

--------------------------

а в эклипсе при запуске Ant такой лог:

 

Buildfile: D:\users\workspace_eclipse\Zzzzzzz\build.xml
usage:
     [echo]             ant run will execute the test
     [echo]         
setClassPath:
setClassPath:
init:
all:
clean:
   [delete] Deleting directory D:\users\workspace_eclipse\Zzzzzzz\build
setClassPath:
init:
clean:
compile:
     [echo] making directory...
    [mkdir] Created dir: D:\users\workspace_eclipse\Zzzzzzz\build
    [echo] compiling...
    [javac] D:\users\workspace_eclipse\Zzzzzzz\build.xml:67: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 2 source files to D:\users\workspace_eclipse\Zzzzzzz\build
    [javac]           WARNING
    [javac] The -source switch defaults to 1.7 in JDK 1.7.
    [javac] If you specify -target 1.5 you now must also specify -source 1.5.
    [javac] Ant will implicitly add -source 1.5 for you.  Please change your build file.
    [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5
    [javac] 1 warning
setClassPath:
init:
build:
setClassPath:
init:
clean:
   [delete] Deleting directory D:\users\workspace_eclipse\Zzzzzzz\build
compile:
     [echo] making directory...
    [mkdir] Created dir: D:\users\workspace_eclipse\Zzzzzzz\build
    [echo] compiling...
    [javac] D:\users\workspace_eclipse\Zzzzzzz\build.xml:67: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 2 source files to D:\users\workspace_eclipse\Zzzzzzz\build
    [javac]           WARNING
    [javac] The -source switch defaults to 1.7 in JDK 1.7.
    [javac] If you specify -target 1.5 you now must also specify -source 1.5.
    [javac] Ant will implicitly add -source 1.5 for you.  Please change your build file.
    [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5
    [javac] 1 warning
run:
   [testng] [TestNG] Running:
   [testng]   D:\users\workspace_eclipse\Zzzzzzz\testng.xml
   [testng] Configurated Browser
   [testng] Configurated Browser
   [testng] ===============================================
   [testng] Officemagt
   [testng] Total tests run: 2, Failures: 0, Skips: 2
   [testng] Configuration Failures: 2, Skips: 2
   [testng] ===============================================
   [testng] The tests failed.
makexsltreports:
     [xslt] Processing D:\users\workspace_eclipse\Zzzzzzz\test-output\testng-results.xml to D:\users\workspace_eclipse\Zzzzzzz\XSLT_Reports\output\index.html
     [xslt] Loading stylesheet D:\users\workspace_eclipse\Zzzzzzz\src\xslt\testng-results.xsl
BUILD SUCCESSFUL
Total time: 2 seconds

 

да с таким логом тяжело поспорить, а еще тяжелее разобраться :)

видимо ant не подхватывает build file

покажите настройку запуска ант на дженкинс

Михаил спасибо большое!!!

 

проблема была в том что я в Jenkins в поле Цели (Выщвать ант) указывал build , так как думал что это идет обращение в самому файлу build.xml , а нужно было прописать туда 

clean compile run makexsltreports 

 

Скажите пожалуйста а как мне настроить testNG results в jenkins??

что писать сюда 

 

TestNG XML report pattern 

 

 

обычно туда пишется  путь к junit-report который будет подхватываться jenkins

какой плагин для отображения результатов вы используете?

потому что обычно используется "Publish JUnit test result report"

я использую Publish TestNG Results

ну для этого надо указать путь к файлу

sample-dir/testng-results.xml

В пост-билд экшенах нужно настроить Publish TestNG results:

1) TestNG XML report pattern: **/results/testng-results.xml.

2) Чекнуть 2 бокса.

Я еще добавлял отправку результатов на почту при помощи email-ext plugin + атач скриншотов.

Спасибо Ребят за помощь! ))

Кстати, об "Publish JUnit test result report" - а есть "честный" способ подкидывания сторонних отчётов в jenkins? "Нечестный", с созданием файла через джобу jenkins'а и перекидыванием туда контента, мы уже придумали. Но вдруг можно это сделать лучше?

Я так понимаю, что баг так и не начали чинить.

нечестный :) 

просто создаешь файл на воркспейсе и указываешь путь к нему

это можно сделать как шаг билд плане, других путей "честных" я не знаю :)

Создать файл дженкинсом, а потом положить в него контент? У нас как раз народ этот костыль использует.

Ещё подумалось, что вдруг возможно через какой-нибудь *unit или gallio плагин подсунуть, вдруг не проверяет, но пока не пробовали.

просто зачастую те фреймворки, которые используются они генерируют junit-report автоматично

потому таких костылей и не нужно

а таких автоматических инструментов нету

я так понимаю, что ты запускаешь C# юнит тесты? какой юнит фреймворк они используют?

Нет, как раз интеграционные и акцептанс (фреймворки свои, сделали JUnit XML отчёт, можем сделать в любом формате, да вот этого мало оказалось - дженкинс не потребляет).

Сам проект у нас собирается не в дженкинсе (возможно, будет позже, а, вероятнее всего, в тфс). Народ посмотрел, как в некоторых других отделах юзают дженкинс (кто-то держит дженкинс в облаке, там же и собирает, и тестит, кто-то имеет дженкинс локально), вот и начали тоже привинчивать.

Полностью автоматические тесты из дженкинса не очень удобно: дело в том, что и в гуёвом, и в системном тесте может что-то отвалиться и как результат работы программеров :), и просто потому, что у нас сейчас новые платформы начинают поддерживаться (линейка 2012-2013 от MS), т.е. может потребоваться ручная интервенция для исследования и подкручивания, и запуск теста из той точки, где тест остановился.

Сами тесты бегают часа два-три, так что каждый раз заново - досадный вариант. В идеале - вообще не зависеть от дженкинса - надо, в нём запустили, надо - отдельно, а отчёт подшили.

Похоже, дженкинс не согласен :)

 

А тесты тестов (юнит-тесты) я запускаю в галлио - привык почти ко всем проблемам, только вот жалко, что по категориям неудобно фильтровать.