Перейти к содержимому

Фотография

Создание джобов в Jenkins под конкретный набор тестов


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 Denis13th

Denis13th

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Синкевич Денис Сергеевич
  • Город:Гродно


Отправлено 20 января 2016 - 11:45

Тесты пишу на Java + TestNG. Храню в гите.

Список запускаемых тестов хранится в testng.xml. 

Мне надо создать несколько задач в дженкинсе, где каждая задача будет запускать свой набор тестов.

Надеюсь, что можно реализовать один из вариантов:

1) передача параметра из джобы в профиль Maven и запуск конкретного suite из testng.xml(как реализовать вторую часть?)

2) передача фала testng.xml из джобы, где будут указаны нужные тесты(как заменить им дефолтный testng.xml?)

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


  • 0

#2 Vad1m198

Vad1m198

    Активный участник

  • Members
  • PipPip
  • 115 сообщений
  • ФИО:Вадим


Отправлено 20 января 2016 - 11:55

А чем собираете проект?

Если мавен, то можно попробовать такое решение http://www.vazzolla....urefire-plugin/


  • 0

#3 Denis13th

Denis13th

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Синкевич Денис Сергеевич
  • Город:Гродно


Отправлено 20 января 2016 - 12:02

А чем собираете проект?

Если мавен, то можно попробовать такое решение http://www.vazzolla....urefire-plugin/

Maven. Буду пробовать это решение.


  • 0

#4 Vad1m198

Vad1m198

    Активный участник

  • Members
  • PipPip
  • 115 сообщений
  • ФИО:Вадим


Отправлено 20 января 2016 - 12:02

2) передача фала testng.xml из джобы, где будут указаны нужные тесты(как заменить им дефолтный testng.xml?).

 

Как вариант, можно в воркспейсе каждой джобы хранить отдельный testng.xml файл с набором тестов для этой конкретной джобы. И перед стартом сборки скриптом копировать testng.xml из воркспейса и заменять существеющий testng.xml в проекте


  • 1

#5 Denis13th

Denis13th

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Синкевич Денис Сергеевич
  • Город:Гродно


Отправлено 20 января 2016 - 14:36

 

А чем собираете проект?

Если мавен, то можно попробовать такое решение http://www.vazzolla....urefire-plugin/

Maven. Буду пробовать это решение.

 

Вариант из следующего поста показался более предпочтительным.

 

 

2) передача фала testng.xml из джобы, где будут указаны нужные тесты(как заменить им дефолтный testng.xml?).

 

Как вариант, можно в воркспейсе каждой джобы хранить отдельный testng.xml файл с набором тестов для этой конкретной джобы. И перед стартом сборки скриптом копировать testng.xml из воркспейса и заменять существеющий testng.xml в проекте

 

Добавил шаг сборки "Выполнить команду shell" и команду

#!/bin/sh
/bin/cp testng.xml /test/src/test/resources/testng.xml
Тут ошибок нет?
 
Джоба не выполнилась:
[Session 22_0444 check close] $ /bin/sh C:\Users\user\AppData\Local\Temp\hudson7852007530252716315.sh
The system cannot find the file specified
FATAL: command execution failed
java.io.IOException: Cannot run program "/bin/sh" (in directory "C:\Users\user\.jenkins\workspace\Session 22_0444 check close"): CreateProcess error=2, The system cannot find the file specified
	at java.lang.ProcessBuilder.start(Unknown Source)
	at hudson.Proc$LocalProc.<init>(Proc.java:244)
	at hudson.Proc$LocalProc.<init>(Proc.java:216)
	at hudson.Launcher$LocalLauncher.launch(Launcher.java:816)
	at hudson.Launcher$ProcStarter.start(Launcher.java:382)
	at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:97)
	at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:66)
	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:785)
	at hudson.model.Build$BuildExecution.build(Build.java:205)
	at hudson.model.Build$BuildExecution.doRun(Build.java:162)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:537)
	at hudson.model.Run.execute(Run.java:1741)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
	at hudson.model.ResourceController.execute(ResourceController.java:98)
	at hudson.model.Executor.run(Executor.java:410)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
	at java.lang.ProcessImpl.create(Native Method)
	at java.lang.ProcessImpl.<init>(Unknown Source)
	at java.lang.ProcessImpl.start(Unknown Source)
	... 16 more
Build step 'Execute shell' marked build as failure
TestNG Reports Processing: START
Did not find any matching files.
Finished: FAILURE
И файл testng.xml класть в папку \.jenkins\workspace\<job_name>\ ? При первом запуске файл оттуда удалился.

  • 0

#6 Vad1m198

Vad1m198

    Активный участник

  • Members
  • PipPip
  • 115 сообщений
  • ФИО:Вадим


Отправлено 20 января 2016 - 15:25

Раз джоба не выполнилась, значит ошибка есть.)))

Я такое решение у себя не внедрял и по скриптам не могу ничего подсказать. Но ГУГЛ может.


  • 0

#7 Denis13th

Denis13th

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Синкевич Денис Сергеевич
  • Город:Гродно


Отправлено 20 января 2016 - 16:07

Раз джоба не выполнилась, значит ошибка есть.)))

Я такое решение у себя не внедрял и по скриптам не могу ничего подсказать. Но ГУГЛ может.

Нашёл ошибку и решение:

Вместо шага сборки "Execute shell"(Выполнить команду shell) нужен "Execute Windows batch command" - видимо раз джоба под Windows запускается) И соответственно сама команда

copy testng.xml test\src\test\resources\testng.xml

  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных