t.me/atinfo_chat Telegram группа по автоматизации тестирования

Открытие отчета Allure в браузере Chrome

jenkins
allure
chrome
Теги: #<Tag:0x00007f21d242c840> #<Tag:0x00007f21d242c6d8> #<Tag:0x00007f21d242c520>

(Максим Лаптев) #1

Отчет Allure строится в Jenkins, помимо просмотра отчета в самом Jenkins по ссылке (открывается в любом браузере) можно скачать архив .zip и открыть отчет на локально машине.
Но есть проблема, в браузере Chrome при открытии файла .html отчет не прогружается, в браузере Fierfox все нормально.

Из того что нашел:
Эта проблема связана с настройками безопасности Webkit по умолчанию, которые запрещают выполнение Ajax-запросов в локальной файловой системе. У вас есть как минимум два возможных решения:

  • Служите index.html с помощью какого-либо веб-сервера, такого как Nginx или Apache. Это будет эмулировать удаленный веб-сайт и, таким образом, обмануть ваш браузер. С помощью Allure CLI 2.0+ это можно сделать, используя следующую команду:

$allure report open

  1. Используйте флаг - разрешить доступ к файлу Chrome

Вопрос, каким образом обойти данную проблему не прибегая к консольному открытию файла через cmd? Например, если простой пользователь откроет данный отчет у себя локально?
Либо мы поднимаем сервер где это все дело крутится, либо мы открываем отчет в Fierfox, есть ли третий вариант? каким образом у вас решена данная проблема?


(Vladislav Abramov) #2

усложняете все ппц как

если у вас уже есть дженкинс, зачем скидывать архивы какие-то? письма рассылать он сам может, в письмо можете класть распаршенный лог тестов и там же ссылку на пайплайн и отчёт, который сам дженкинс на себе хостит


(Максим Лаптев) #3

если у человека нет доступа к дженкинсу и к проекту, он же не сможет пройти по ссылке которую ему дженкинс предложит.
Если 10-20-30 человек зайдет по ссылке, сервер дженкинса сильно загрузится? помимо всей кучи которой на нем крутится.
По каждому прогону тестов аллур поднимает свой сервачок и держит его запущенным до какого момента? получается в один момент времени на сервере дженкинса крутится куча всего


(Максим Лаптев) #4

в идеале выдрать статистику, если проектов 10 в каждом запустили по 10 тестов, чтобы получить статистику нужно все парсить или прикладывать кучу файлов или один большой? нужно чтобы проверяющий отчет, быстро глянул в письме на то есть ли ошибки в тестах или нет, если их 0 то смысл открывать логи и отчет?


(Максим Лаптев) #5

Может кто подскажет, а что делает плагин Allure-Report в Jenkins?
Он генерит отчет, на сервере лежит папка allure-report.zip, в момент когда я нажимаю на значок allure-report он открывает отчет в браузере.
Собственно он просто распаковывает .zip и открывает файл index.html или же сервер како-то поднимает(хотя по процессам ничего не происходит)?
Я хочу сымитировать его работу на другом сервере, но для этого что нужно, apache чтобы он смог открыть сгенерированный отчет в любом браузере?


(Alexandr D.) #6

Вот тут можно посмотреть что делает плагин:


(Vasiliy Rakshin) #7

Дженкинс сам крутится на web-сервере, он в него встроен или веб-сервер встроен в него, не суть. И то что лежит в рабочих папках дженкинса автоматически подхватывается этим сервером. Вот почему сгенерированный аллюровский отчет просто открывается браузером из задачи. Т.е. самое простое - вы можете поставить любой удобный для вас веб-сервер, например Томкат, на любую машину и в папку webapps\ROOT\allure скопировать ваш отчет - и он будет открываться уже без проблем с авторизациями (по пути http://ipмашиныстомкатом/allure/)


(Максим Лаптев) #8

пожалуй, надо попробовать, в принципе так и думал, что получится пока не знаю


(Максим Лаптев) #9

Развернул апач, указал папку с проектом в конфиге апача, перезапустил, дал права на папку, все работает все, отчет открывается в хроме без всяких проблем


(Максим Таран) #10

Кстати, в последнем Firefox та же проблема. Если смотреть локально помогает только allureServe


(Vasiliy Rakshin) #11

В фаерфоксе настройку security.fileuri.strict_origin_policy надо в false поставить, и будет счастье.


(John Doe) #12

Там они отдельную пропертю под это выделили privacy.file_unique_origin