Как открыть allure report chrome
Обучение в Нетологии.
Домашнее задание по курсу Автоматизированное тестирование
Тема: Репортинг: Report Portal
- Настройка Allure, интегрированного с Selenide
- Настройка ReportPortal
Инструкция по настройке Allure
Для запуска использовать команду
Краткая инструкция по установке ReportPortal
- Создать проект в IDEA на базе Gradle
- build.gradle должен выглядеть как
(В данном файле также интегрирован selenide)
- Создать файл docker-compose.yml и скопировать файл из docker-compose.yml для windows
- Раскомментировать строки 'for windows host'
- Создать папку /META-INF/services в resources
- Положить туда файл, названный org.junit.jupiter.api.extension.Extension
- В данный файл прописать имплементацию одной строкой
- Создать файл log4j2.xml file в папке resources и прописать
- Создать файл logback.xml file в папке resources и прописать
- Для загрузки и запуска ReportPortal прописать в терминале команду
- Далее добавляем пользователя в проект по шагам, открывая вкладки:
- Вводим имя и пароль для нового пользователя.
- Необходимо перелогиниться под только что созданным пользователем.
- Нажать на иконку пользователя(user) и выбрать Profile
- Во вкладке Configuration Examples будет пример файла reportportal.properties для данного пользователя.
- Создать в проекте в IDEA также в папке resources файл reportportal.properties
- Скопировать данные из Configuration Examples в данный файл в IDEA
- Создать в папке resources файл junit-platform.properties и добавить в него строку:
- После того, как JUnit подключился к ReportPortal нужно запустить приложение и запустить тесты.
- На странице с ReportPortal слева нажать на вкладку Launches, после чего справа появится название launches эквивалентное указанному в файле reportportal.properties
- Нажав на нее, появится список тестов. Если нажать на каждый из них, то можно увидеть отчеты и логи.
Для запуска проекта:
- Открыть склонированный проект в Intellij IDEA
- Открыть в терминале каталог artifacts
- Для запуска приложения ввести команду java -jar app-card-delivery.jar
- Запустить команду gradlew test
- Открыть инструкцию выше и следовать шагам 19-21
About
💻 📂 📊 Настройка Allure, интегрированного с Selenide. Настройка ReportPortal.
Столкнулся с проблемой, что Allure не поддерживает мульти браузерный отчет из коробки.
Первым делом пошел гуглить. На форумах не нашел решения.
Тогда появилась мысль как это могло бы работать.
Способ нашел не самый изящный, но простой и рабочий.
Кратко какие инструменты и фреймворки у меня были. Java, Maven, Selenium, Jinut 4. В качестве CI/CD инструмента Teamcity.
Первым делом нужно добавить в помник следующий код
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>process-test-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>$/target/CHROME/allure-results</outputDirectory> <resources>
<resource>
<directory>$/target/allure-results</directory>
<includes>
<include>*</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions> </plugin>
С помощью данного кода будет происходить копирование файлов папки allure-result в папку target/CHROME/allure-results
Происходить копирование, в моем случаи, будет в фазу <phase>process-test-resources</phase>
Дальше нужно произвести настройки в CI/CD инструменте.
Пайплайн в CI/CD следующий
1) mvn clean
2) Execute API tests
3) set browser CHROME (переменную окружения делаем Chrome, потом дергаю её в коде, тем самым задаю в каком браузере выполнять тесты)
4) Execute tests CHROME
5) Chrome collect report (На данном этапе происходит копирование файлов из папки allure-results в папку target/CHROME/allure-results/
Это происходит mvn командой
то есть я запускаю фазу, которую написал в помники.
6) set browser MS EDGE (Изменяю переменную на EDGE)
7) Execute tests EDGE (EDGE перезаписывает данные о прогоне в хроме в папке allure-results.)
8) Allure Report edge
9) Allure report CHROME
После прогона, я создаю 2 отчета, для каждого браузера.
(Api тесты попадут в оба отчета, так как не перезаписываются во время прогона в EDGE, если этого не нужно можно сделать clean перед прогоном в edge)
ВАЖНО! правильно настроить шаги с отчетами.
Чтобы все работало один отчет должен публиковаться как архив, другой как простой отчет это делается настройкой "Publish mode"
Так же надо не забыть указать правильные Result directory, те что прописаны в помники
На данном этапе после прогона мы получи папку с отчетом allure-report и zip архив allure-report
,,
Остается настроить только переменные для красивых табов в отчете
Для TeamCity настройка происходит в Administrtion/Root project/Report Tabs
Настроить нужно 2 переменные. У меня они "build report tab". но думаю можно настроить и на уровне проекта
Если что-то написал не так, не пинайте. Мой первый пост.
Надеюсь статья кому-нибудь поможет.
Я пытаюсь использовать Allure-framework для создания отчета для моего Selenium WebDriver. Я использую рамки JUnit и allure-maven-plugin с версией 1.3.9 Allure. Я запускаю тесты с помощью mvn test , а затем создаю отчет, используя mvn site . Я вижу сгенерированный отчет в каталоге target/site/allure-maven-plugin/ . Когда я открываю страницу index.html с Firefox, она работает нормально. Однако, делая то же самое в Chrome или Safari , я ничего не вижу.
Что случилось? Я что-то упускаю? Мой pom.xml файл находится здесь.
ОТВЕТЫ
Ответ 1
Эта проблема связана с настройками безопасности Webkit по умолчанию, которые запрещают выполнение Ajax-запросов в локальной файловой системе. У вас есть как минимум два возможных решения:
- Служите index.html с помощью какого-либо веб-сервера, такого как Nginx или Apache. Это будет эмулировать удаленный веб-сайт и, таким образом, обмануть ваш браузер. С помощью Allure CLI 2.0+ это можно сделать, используя следующую команду:
- Используйте флаг - разрешить доступ к файлу Chrome. Подробнее см. этот вопрос.
Ответ 2
В дополнение к вышеуказанному ответу, используя "-ignore-certifcate-errors" с помощью chromeOptions, может быть полезно.
Ответ 3
Чтобы использовать Allure Report в Chrome, у вас есть два варианта:
НЕ используйте флаг --allow-file-access-from-files , это DANDEGEROUS
Ответ 4
Ошибка Allure 404:
- Открыть отчет в Firefox
- Отключить параметр политики перекрестного происхождения в Chrome - очень плохая идея, поскольку ваш chrome станет уязвимым для вторжения третьих лиц. Не делай этого!
- Вы можете использовать команду allure serve allure-report - она раскрутит небольшой веб-сервер, который будет обслуживать ваш отчет, и вы сможете просмотреть его в своем любимом браузере Chrome :)
Ответ 5
Я также не могу просмотреть отчет Allure в браузере Firefox (69.X.X).
Есть ли какое-либо другое альтернативное решение для браузера Chrome, кроме подхода "опция политики"?
Allure Test Report
Структура отчета о тестировании, которая не только выглядит красиво, но и облегчает интеграцию CI.
1. Конфигурация среды
Установите Python-зависимые библиотеки:
pip3 install pytest
pip3 install pytest-allure-adaptor
Установите Command Tool:
brew tap qatools/formulas
brew install allure-commandline
Во-вторых, создать команду отчета HTML
1. Добавьте –alluredir к команде pytest для генерации xml-отчета.
После того, как вариант использования будет завершен, он будет [xml_report_path] Куча файлов создается в каталоге xml Файл отчета, конечно, это не тот эстетический отчет, который нам нужен в конечном итоге.
2. Вам нужно использовать Command Tool для создания прекрасных отчетов, которые нам нужны.
Откройте index.html, отчет о ситуации, написанный ранее, будет представлен вам следующим образом:
Замечания: Откройте отчет напрямую в браузере Chrome, отчет может быть пустой страницей.
Решение:
1. Щелкните правой кнопкой мыши index.html в pycharm и выберите «Открыть в браузере».
2. Используйте Firefox, чтобы напрямую открыть index.html.
3. Индивидуальный отчет
Особенность: аннотировать основные функциональные модули
Story: аннотируйте функцию ветвления в функциональном модуле функций
Серьезность: отметьте уровень важности контрольных примеров
Шаг: важные шаги для пометки контрольных примеров
Issue and TestCase: пометьте Issue and Case, вы можете добавить URL
1. Подробная настройка функций
Добавьте функцию, отчет показан на рисунке ниже:
2. Подробная настройка истории
Добавьте историю, и отчет будет показан на рисунке ниже:
3. Используйте заголовок и настройку описания варианта использования.
Добавьте заголовок варианта использования и описание варианта использования. Отчет показан на рисунке ниже:
4. Подробное объяснение настройки серьезности
Добавьте серьезность, отчет показан на рисунке ниже:
5. Шаг настройки
Добавить шаг, отчет показан на рисунке ниже:
6. Подробная настройка Issue и TestCase
Добавьте Issue и TestCase, отчет показан на рисунке ниже:
8. Подробное объяснение настройки прикрепления
Добавьте приложения к отчету: allure.attach («arg1», «arg2», «arg3»):
arg1: имя вложения, отображаемого в отчете
arg2: указывает на содержание вложения
arg3: указывает добавленный тип (поддержка: HTML, JPG, PNG, JSON, OTHER, TEXTXML)
Добавьте параметр attach, отчет показан ниже:
Запускаю выполнение автотеста с помощью junit: при выполнении не создается папка allure-results и получаю следующие ошибки:
При запуске с помощью maven, получаю следующий ворнинг:
Если я создаю папку allure-results вручную, то при исполнении mvn удалит ее и вернет тот же самый ворнинг.
Структура теста: TestCase5986:
У меня два предположения:
- чего-то не хватает в pom.xml;
- некорректное использование аннотаций.
UPD2: Лог Maven при выполнении кейса:
Итак, я смог решить проблему, опишу шаги:
Поскольку у меня было мало примеров написания автотестов на junit, а те, что были - не работали, я перешел на TestNG - это будем считать первым шагом.
Далее я отредактировал свой pom.xml:
Благодаря комментарию @Alexandr, я заметил ошибку в maven command line, убрал лишнее .xml, теперь maven стал видеть мой suite-файл;
Затем я заметил в выводе maven такую строку:
[INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
Тут до меня дошло, что не смотря, что тест выполняется, информация о нем никак не передается allure (или maven, или maven, а затем allure) и у меня строится пустой отчет. Тогда я обратил внимание на свой testng.xml. Так он выглядел в старой версии:
Я ожидал, что maven будет забирать классы из пакета, в которых присутствуют аннотации @test и @class, поскольку это не работало, я указал классы и методы более конкретно, тогда мой testng.xml стал выглядеть следующим образом:
Теперь тест-кейс выполняется и allure отчет строится корректно. Всем спасибо за помощь!
Читайте также: