Я использую Jenkins для автоматического тестирования и сборки моего приложения Java-EE-maven. Я реализовал тесты пользовательского интерфейса селена, но в другом проекте.
Поток сборки: 1) Дженкинс создает мое приложение Java-EE, а затем развертывает его на Tomcat. 2) Запускается другая задача с тестами селена, которая запускает тесты пользовательского интерфейса для проверки моего развернутого приложения.
Можно ли включить тесты Selenium в мой проект Java-EE? Я хотел бы иметь только один проект. Задач на Дженкинсе могло быть две.
Спасибо за любой ответ.


Да, это возможно.
Обычный способ установки имен тестов — завершить их с помощью IT и использовать maven-failsafe-plugin, чтобы они запускались на этапе интеграционного тестирования.
Для получения дополнительной информации о maven-failsafe-plugin посмотрите Здесь.
вы должны использовать mvn verify для запуска интеграционных тестов и mvn test для запуска модульных тестов (интеграционные тесты выполняются на этапе интеграционного тестирования, а не на этапе тестирования).
Вы также можете использовать определенные профили maven, чтобы еще больше разбить ситуацию, см. maven.apache.org/guides/introduction/…
Да спасибо. Но все же мне нужно две работы в Дженкинсе в одном проекте, но с разными командами mvn, верно?
mvn clean verify будут выполняться все этапы вплоть до проверки. Итак (при условии, что все пройдет), это создаст проект, запустит модульные тесты, создаст банку и вставит ее в локальный репозиторий maven, а затем использует созданную банку для запуска интеграционных тестов.
если вы просто запустите mvn clean test, он будет запускать только фазы до теста включительно. Таким образом, вы можете иметь 2 задания с разными командами или одно задание с одной командой, решать вам.
Я не могу иметь одно задание с двумя командами, потому что на этапе пост-сборки в первом задании я развернул .war на коте (после сборки и модульных тестов). Значит, мне нужно две работы, верно?
Я не могу добавить еще одну команду для ИТ-тестов после развертывания на tomcat, верно? На первой работе...
вы можете добавить несколько шагов к одному и тому же заданию в Jenkins, начать с mvn clean install, чтобы создать файл войны, затем добавить шаг для его развертывания на tomcat, а затем добавить шаг для запуска ИТ-тестов в среде, где война была развернут.
Или вы можете изменить свой POM, чтобы развернуть военный файл на tomcat на этапе тестирования перед интеграцией, чтобы вам не нужно было выполнять несколько шагов в Jenkins. все возможно и вариантов много
И нужны ли мне две работы одного и того же проекта в Дженкинсе?