Публикация Allure отчетов на GitHub pages с сохранением истории запусков и трендом.

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 พ.ย. 2024

ความคิดเห็น • 61

  • @Lyudmila157
    @Lyudmila157 10 หลายเดือนก่อน +1

    Отличная подача, все рассказываете по этапам. спасибо что делитесь с нами.

    • @Lyudmila157
      @Lyudmila157 10 หลายเดือนก่อน

      я все посмотрела, повторила, у меня получилось, да - не без ошибок, и не за 1 день, а дня за 3 головной боли))) но все получилось, ура!! прям счастье. СПАСИБО!

  • @ЕленаФилатова-е1в
    @ЕленаФилатова-е1в 10 วันที่ผ่านมา

    спасибо! очень полезное видео!

  • @Alexander_Bublik
    @Alexander_Bublik ปีที่แล้ว

    Большое спасибо! Годный контент! 👍

  • @АлексейТельнов-щ7ы
    @АлексейТельнов-щ7ы ปีที่แล้ว

    Спасибо! Запишите такое же видео про Gitlab.

  • @anastasiaerovaya5772
    @anastasiaerovaya5772 10 หลายเดือนก่อน

    Спасибо! Все получилось!

  • @igora6367
    @igora6367 16 วันที่ผ่านมา

    Кайф!!!

  • @vladimir5215
    @vladimir5215 ปีที่แล้ว +2

    Очень годный контент у нас , просто находка , расскажите еще про ci-cd , очень уж интересно как в даных реалиях запускать, через Docker, docker-compose , спасибо за старания

    • @EugeneOkulik
      @EugeneOkulik ปีที่แล้ว

      Ой, ну это вообще девопсятина. Могу попробовать. Довольно обширная тема. А можете какой-то сценарий накинуть, чтобы рассказать о нужном?

    • @vladimir5215
      @vladimir5215 ปีที่แล้ว

      @@EugeneOkulik В данный момент я использую упрощенный YML-файл на GitHub Pages. Он, можно сказать, на "костылях" прогоняет тесты и отправляет результаты в Telegram-бота с помощью следующего кода:- name: Send result to Telegram
      uses: appleboy/telegram-action@master
      if: always()
      with:
      debug: true
      token: ${{ secrets.TELEGRAM_TOKEN }}
      to: ${{ secrets.TELEGRAM_TO }}
      message: |
      Ссылка на отчет: ${{ env.REPORT_URL }}
      Моя идея заключается в том, чтобы выполнять actions через Docker Compose и запускать их через GitLab или Jenkins. В теории я понимаю, как это все можно реализовать. Раньше у меня не было полноценных отчетов в виде историй в Allure, но сейчас мои отчеты выглядят более профессионально благодаря только вам . Я был бы благодарен за вашу экспертизу в области CI/CD.

    • @АндрейНестеров-ц8ц
      @АндрейНестеров-ц8ц ปีที่แล้ว

      Ну почему сразу девопсятина? Сейчас очень часто, как минимум, CI от тестеров требуют. Было бы очень интересно посмотреть и научиться как, скажем, подружить и запускать тесты c allure отчетом как плагином в jenkins, запущенном в docker.

    • @SeniorTester
      @SeniorTester  ปีที่แล้ว

      Я как-то не совсем понял, запустить дженкинс в докере на github actions?
      Здесь как раз и показал ту информацию о CI, знание которой требуется от QA

    • @АндрейНестеров-ц8ц
      @АндрейНестеров-ц8ц ปีที่แล้ว

      @@SeniorTester я имел ввиду локальный докер, в нем запустить дженкинс, в нем аллюр отчеты и все это настроить. настроить сборки в дженкинсе, настроить аллюр отчеты (параметры, шаги..) и так далее. нет пределов совершенству:))

  • @Olesia_Kravets
    @Olesia_Kravets 10 หลายเดือนก่อน

    Здравствуйте! Евгений, спасибо большое за контент! Подскажите, вы сказали, что получить id первого allure results в json можно несколькими способами. А какие способы еще есть, если не через python?

    • @SeniorTester
      @SeniorTester  10 หลายเดือนก่อน

      Там все способы подзамороченные. Я и выбрал Python, потому что он наиболее понятный. Еще есть достаточно простой способ, но через установку программы jq на комп, но что-то у меня с этим не срослось, не помню что.
      Можете погуглить "bash get json field".

  • @ВіталійВещицький-ц9щ
    @ВіталійВещицький-ц9щ 4 หลายเดือนก่อน

    Давай повторим только с self-host? 😊 Как будет там? По идеи там уже все артифаты останутся и не нужно будет каждый раз скачивать?

    • @SeniorTester
      @SeniorTester  4 หลายเดือนก่อน

      По идее, подход будет таким же. Но нужно будет поэкспериментировать, да

  • @pink_x1
    @pink_x1 9 หลายเดือนก่อน

    Супер, спасибо! Вопрос: а можно ли как-то деплоить отчет в github pages внутри другого репозитория, а не того, где тесты крутятся? 👀

    • @SeniorTester
      @SeniorTester  9 หลายเดือนก่อน

      Теоретически можно. Но это нужно настраивать джобы в другом репозитории, для которых создавать вебхуки и давать этому другому репозиторию право на получение артефактов этого репозитория

  • @EvgeniaMakarevich
    @EvgeniaMakarevich 9 หลายเดือนก่อน

    Cпасибо большое за классный контент! Подскажите, а возможно ли создавать несколько allure отчетов на разных github pages, но в одном проекте? У меня есть два yaml файла для разных тестов. Столкнулась с проблемой, что это все создается в одном github page.

    • @SeniorTester
      @SeniorTester  9 หลายเดือนก่อน

      Не пытался решить такое. Но теоретически можно сделать как-то, что один отчет у вас будет по адресу username.github.io/repo/first, а второй username.github.io/repo/second

  • @evgeniykamkin8169
    @evgeniykamkin8169 9 หลายเดือนก่อน

    (off topic) Евгений, какой дистрибутив линукс вы используете и почему именно его?)

    • @SeniorTester
      @SeniorTester  9 หลายเดือนก่อน

      Это pop os, основана на Ubuntu, почти то же самое, но немного перелицована. Просто понравилась больше чем Ubuntu. Может, попробовал бы что-то ещё, но тогда, когда выбирал, закончилось время на эксперименты.

  • @null-lu8it
    @null-lu8it 6 หลายเดือนก่อน

    Спасибо! Такой вопрос, а можно ли все эти действия: запуск тестов, генерация отчета и публикация сделать в одной джобе?

    • @SeniorTester
      @SeniorTester  6 หลายเดือนก่อน

      Технически, да. А практически, обычно здесь как и в программировании придерживаются принципа - на каждое действие отдельная функция. Ну, здесь, джоба

    • @null-lu8it
      @null-lu8it 6 หลายเดือนก่อน

      @@SeniorTester спасибо)

  • @DaniilUbozhenko
    @DaniilUbozhenko ปีที่แล้ว

    Евгений здравствуйте! Когда Вы планируете запустить обучение следующей группы??

    • @SeniorTester
      @SeniorTester  ปีที่แล้ว

      Здравствуйте. Где-то в начале октября, ближе к 10-му числу. График: понедельник, четверг.

    • @SeniorTester
      @SeniorTester  ปีที่แล้ว

      Сейчас получается, что дата старта - 9 октября. Дата может немного измениться, но где-то в тех числах начинаем.
      Запись и оплата у меня на сайте (ссылка есть в описании к видео)

  • @kateoctober
    @kateoctober 8 หลายเดือนก่อน

    Спасибо большое за видео! Очень доступно и понятно, для работы супер пригодилось!) Хочу уточнить такой момент, не сохраняется история для trends и на шаге "run: mkdir allure-results && unzip artifacts.zip -d allure-results", выдает "Process completed with exit code 9." :( Видела, что у вас вроде тоже такую ошибку выдает, может быть есть решение?

  • @ПавелСтаршинов-в3ч
    @ПавелСтаршинов-в3ч 10 หลายเดือนก่อน

    Евгений, спасибо! Но вопрос. У меня такая ситуация: если какие то из тестов не проходят (FAILED), тогда вторая джоба Generate report даже не запускается. Даже не так. Внутри джобы Test , если тесты с ошибками (шаг завершает так: Error: Process completed with exit code 1.), то следующие шаги джобы не выполняются и джоба не завершается

    • @SeniorTester
      @SeniorTester  10 หลายเดือนก่อน +1

      Посмотрите в мои настройки. Там есть настройка, которая называется как-то типа continue on failure

    • @ПавелСтаршинов-в3ч
      @ПавелСтаршинов-в3ч 10 หลายเดือนก่อน

      Спасибо. Решил проблему проставлением во всех шагах всех джоб условия : if: always()

  • @Fredyshar
    @Fredyshar ปีที่แล้ว

    Большое спасибо! Очень круто всё объяснили) Я реализовал на своем проекте на Jave данный метод. но вот столкнулся с проблемой: если переименовать тест в проекте и запушить на гитхаб, то в истории продолжает хранится тест со старым названием (а его уже не существует). Не подскажет как обойти эту проблему?)

    • @SeniorTester
      @SeniorTester  ปีที่แล้ว

      Я бы сказал, что это, скорее, хорошо, чем плохо. История хранится в том виде, в котором всё и выполнялось. Но если есть желание избавиться от этого теста в истории, то придется попотеть )))
      Нужно будет найти в артефактах все данные от этом тесте, дописать джобу, которая эти данные удаляет и один раз запустить пайплайн. После этого добавленную джобу можно убрать.
      И я сейчас чуть поизучал и у меня есть предположение, что папку allure-results можно не копировать, а копировать только файлы истории. И, возможно, это починит эту ситуацию, но нужно экспериментировать.

    • @Fredyshar
      @Fredyshar ปีที่แล้ว

      @@SeniorTester будет время займусь экспериментами, сейчас возможности попотеть нет :) А пока поставил заглушку, а то тест был упавшим и вносил смуту в общую картину) Еще раз спасибо!)

  • @duke007x3
    @duke007x3 ปีที่แล้ว

    спасибо за качественный видос!
    ВОпрос а если запуск первый и никаких артефактов еще нету ? не найдет артефакт по id и упадет с ошибкой?
    УЖе про jenkins писали но и я напишу) хотелось бы для сравнения увидеть урок именно от тебя так как очень подробно и доступно обьясняешь)
    Например в этом уроке понравилось что ты сначала на примере api запросов показал что и для чего делать будем. Мне помогло потом найти свою ошибку именно благодаря тому, что тоже поигрался с запросами
    Короче спасибо еще раз за качественный материал)

    • @SeniorTester
      @SeniorTester  ปีที่แล้ว +1

      Список артефактов вернётся пустой и упадёт, да. Первый раз лучше запустить без копирования истории.
      С дженкинсом подумаю. Я там не очень дружу с пайплайнами

    • @duke007x3
      @duke007x3 ปีที่แล้ว

      @@SeniorTester спасибо, так и понял
      ну в любом случае уроки классные и полезные, даже пускай если длинные, кому надо за пару дней пройдет если что. Так что будем ждать, если не дженкинс, то другие темы в которых хорошо разбираешься и уверенней себя чувствуешь

    • @IrinaFrutiz
      @IrinaFrutiz 11 หลายเดือนก่อน

      можно пометить строчки, где происходит распаковка и копирование результатом " ||true", тогда если данных нет, то пройдет на следующий этап. В тестах напишет "Download history (имя джобы) No files were found with the provided path: allure-results. No artifacts will be uploaded."

  • @ТимурАрчаков-я4ш
    @ТимурАрчаков-я4ш 10 หลายเดือนก่อน

    Евгений, здравствуйте!
    Делал все по вашему гайду и столкнулся с ошибкой на этапе Store allure results в job-e 'test'.
    Ошибка следующая:
    Error: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
    Как я понимаю, проблема связана с тем, что в job-ax 'download-history' и 'test' создается артефакт с одинаковым именем allure-results.
    Подскажите, пожалуйста, как можно решить данную проблему?

    • @SeniorTester
      @SeniorTester  10 หลายเดือนก่อน

      Странно. У меня не было такой проблемы. Возможно, что-то уже поменялось.
      Можно тогда в джобе с историей сохранять всё в results и эту же папку оставлять артефактом. А в джобе test после скачивания артефакта results переименовывать скачанную папку в allure-results

    • @ТимурАрчаков-я4ш
      @ТимурАрчаков-я4ш 10 หลายเดือนก่อน

      ​@@SeniorTester
      Здравствуйте, Евгений! Я сразу не упомянул, что использовал все последние версии actions. Это и есть причина такой ошибки, а конкретно использование upload-artifact@v4 (у вас в гайде использовалась предыдущая v3).
      В ней как раз и появились изменения, касательно уникальных имен артефактов. Также появятся и другие проблемы при использовании новых версий некоторых других actions. В итоге проблему я решил просто оставшись на более старых версиях некоторых actions. Совет для других - для начала повторите точь в точь как в видео. Все будет работать корректно. Евгений, cпасибо вам большое за ответ, очень люблю ваши видео, успехов вам!

  • @Aliaksandr-e5n
    @Aliaksandr-e5n 10 หลายเดือนก่อน

    при добавлении jobs: download-history начала появляться ошибка - IndexError: list index out of range -- я так понимаю не находит аллюр отчет для скачивания... как исправить? подскажите плиз

    • @SeniorTester
      @SeniorTester  10 หลายเดือนก่อน

      Может быть несколько причин. Мог умереть токен или срок хранения последнего отчёта истёк.
      Если второе, то можно или разрешить этому шагу падать или запустить один раз без скачивания истории

    • @Aliaksandr-e5n
      @Aliaksandr-e5n 10 หลายเดือนก่อน

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

    • @SeniorTester
      @SeniorTester  10 หลายเดือนก่อน

      Нужно смотреть что возвращает запрос, который запрашивает старые артефакты. Возможно, там как раз и написано что не так

  • @ira8896
    @ira8896 ปีที่แล้ว

    подскажите пожалуйста, как запустить все тесты? у меня не получается. если просто выбрать all - не работает.

    • @SeniorTester
      @SeniorTester  ปีที่แล้ว

      Нужно видеть что там у вас прячется под этим all. Можете скинуть ссылку на репозиторий? TH-cam ссылку не пропустит, можете написать мне в LinkedIn, telegram или Instagram

    • @ira8896
      @ira8896 ปีที่แล้ว

      @@SeniorTester у меня все как у вас:)

    • @SeniorTester
      @SeniorTester  ปีที่แล้ว

      А есть ошибки какие-то или просто ничего не запускется?

    • @ira8896
      @ira8896 ปีที่แล้ว

      @@SeniorTester просто скипает тесты, ошибок нет. Я добавила кусочек кода и указала саму папку с тестами, но это тоже не помогло
      - name: all
      if: "github.event.inputs.deployment_target == 'all'"
      run: pytest tests --alluredir=allure-results

    • @SeniorTester
      @SeniorTester  ปีที่แล้ว

      Ну странно. Если всё как у меня, то должно работать. Хорошо бы посмотреть что пишется в логе этой джобы

  • @rafaelstudy4426
    @rafaelstudy4426 ปีที่แล้ว

    и про Дженкинс !!

    • @EugeneOkulik
      @EugeneOkulik ปีที่แล้ว +1

      Обязательно

  • @Dimok73
    @Dimok73 ปีที่แล้ว

    Будет классно если раскажите как деплоить на сваой веб сервер

    • @SeniorTester
      @SeniorTester  ปีที่แล้ว

      Ох. Это, скорее, к девопсам. Но мне всегда и самому было интересно. Возможно, однажды доберусь - тогда обязательно расскажу что узнал.

    • @Dimok73
      @Dimok73 ปีที่แล้ว

      @@SeniorTester а такое применяется в проектах. Деполой отчета allure на веб сервер? Или достаточно гит?