#selenium #maven #jenkins #junit #maven-surefire-plugin
#selenium #мавен #дженкинс #юнит #maven-surefire-plugin #maven #junit
Вопрос:
У меня есть большое количество тестов Junit, в которых selenium выполняется в eclipse, что я хотел бы сделать, это сгенерировать отчет Junit или surefire для тестов после того, как все они будут запущены. Я знаю, что с maven вы можете сделать это для отдельных тестов, запустив mvn test на консоли и сгенерировав отчет с помощью:
mvn surefire-report:report-only
Тем не менее, это тестирует и создает отчет для каждого отдельного теста, есть ли способ заставить это работать для нескольких тестов? Причина этого в том, что я запускаю эти тесты без головы в Jenkins, я знаю, что плагин электронной почты jenkins может позволить мне передавать html-отчет после сборки, который даст мне представление об успехе и неудаче теста.
Комментарии:
1. Первые тесты selenium — это интеграционные тесты, которые должны обрабатываться maven-failsafe-plugin. Кроме того, если вы хотите получить отчет о Jenkins, настройте Jenkins соответствующим образом… нет необходимости использовать surefire-report? Или вы создаете сайт в сборке?
Ответ №1:
Вы можете попробовать использовать эту команду:
#mvn чистый тест
Это очистит существующие отчеты и запустит все тестовые примеры за один раз и сгенерирует безошибочные отчеты для всех.
Пожалуйста, дайте мне знать, если это то, что вы ищете. 🙂
Комментарии:
1. Спасибо за ваш ответ, я запустил его, и, к сожалению, в моем проекте playground был запущен только 1 из 2 моих тестов, у меня есть несколько модульных тестов, которые являются частью других пакетов, если это поможет? На самом деле он очистил старый отчет, но не сгенерировал новый. Есть идеи?
2. Вы можете попробовать #mvn очистить тестовый сайт
Ответ №2:
Во-первых, вам нужно иметь все нужные плагины и зависимости в вашем pom.xml файл.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M4</version>
</plugin>
</plugins>
</build>
<!-- `mvn clean test site` to generate the junit html report-->
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>3.0.0-M4</version>
</plugin>
</plugins>
</reporting>
После этого добавьте команду maven в свою сборку maven, как показано.
После запуска этого ваша IDE запустит все тесты в этой сборке maven и сгенерирует surefire.html отчет, который можно найти в target/site/surefire-report.html (Возможно, вам потребуется обновить свой проект maven, чтобы папка появилась в первый раз, щелкнув правой кнопкой мыши проект, затем наведите указатель мыши на maven и нажмите обновить проект maven.)
Я бы посоветовал сделать это, поскольку затем он работает с jenkins, когда запускает ваши тесты в безголовом режиме, который затем может быть прикреплен к вашему плагину расширения электронной почты.
Комментарии:
1. Если вы запустите тест из своей IDE, вы получите отчет автоматически, нет необходимости генерировать репозиторий HTML через отчет surefire?…
2. Вы делаете да, однако, если вы запускаете тесты без головы в jenkins и хотите, чтобы отчет был отправлен вам по электронной почте, вы можете получить отчет surefire html, чтобы отправить его как часть электронного письма для простого и понятного вывода ситуации 🙂
3. Если вы используете Jenkins, вам следует настроить это в Jenkins с помощью шаблона электронной почты и т.д. Намного проще и быстрее…
4. Шаблон электронной почты jenkins настроен, однако, как я уже говорил выше, я хотел, чтобы отчет отправлялся по этому электронному письму… Когда вы запускаете jenkins, в результате появляется много информации, полезно иметь хороший, хорошо структурированный отчет, прикрепленный к электронному письму. Отчет предоставляет простой способ увидеть, что не удалось и прошло.
5. Я настоятельно рекомендую заглянуть в плагины. jenkins.io/email-ext