вторник, 27 мая 2014 г.

Allure. Отчет о подключении и лучи любви

Прошло ровно 2 недели со встречи в баре KLЮTCH, где Артем Ерошенко рассказывал о тестировании вообще и фреймворке allure в частности. Кстати, вот видео. И вот наконец рапортую: полноценно прикрутила allure к своему велосипеду.

Всем рекомендую: фреймфорк предоставляет удобные отчеты, и прост в использовании.

Если у вас еще нет тестов, allure вам подходит. Можно скачать один из проектов с гитхаба, наполнить своими локаторами-шагами - и в бой.

Если есть, то с высокой вероятностью тоже подходит. К моим Java + TestNG + Maven - оказалось возможно "пришить" allure, дополнив pom файл. Результат в TeamCity выглядит так:

рис 1. отчет allure в teamcity

Важные фичи

Сравниваю со стандартным репортом TestNG, а также ReportNG
  • удобно структурирована информация 
    • фильтрация тестов по результату
    • сортировка
    • вложенность окон тесты - > тест -> шаг -> приложение
  • различие результатов fail (завалился assertion) и broken (exception не доходя до конца теста)
  • возможность делать атачменты: текст и картинки

Пара примеров мега-полезности лога allure

Вот тест с результатом fail: полученный результат не совпадает с ожидаемым. Так как сравниваются большие объемы данных, удобно и ожидаемый и фактический результат приатачить - чтобы можно было пробежаться по ним глазами.
рис 2. пример атача с текстом

Вот тест с результатом broken: он свалился не доходя до финальной проверки, а пошаговый лог показывает, на каком именно шаге. Вебдрайвер не нашел искомый элемент. Я переопределила класс Exception, чтобы при каждом краше делался скриншот. Можно оценить визуально: на той ли мы странице, и прогрузился ли элемент вообще?
рис 3. пример атача с изображением

Послание себе в прошлое

...для моей конфиурации Java + TestNG + Maven можно:

  • скачать готовый проект с гитхаба
  • научиться запускать
  • далее по вкусу
    • накрутить прямо в него свои тесты-пейджобджекты
    • по образу и подобию, дополнить собственный pom.xml
  • для красоты - расставить аннотации аллюра, сделать атачи 
У Артема Кошелева есть гайд для тех же и Junit, а на гитхабе еще несколько готовых конфигураций.

Если у вас одна из стандартных конфигураций - ставлю на то, что это делается за вечер. У меня заняло несколько - не знала, что есть все готовое, пыталась сама адаптировать примеры.

Еще полезные ссылки

Итого 

Разработчикам и популяризатором allure - благодарность и респект.
Ребята сами достаточно рассказывают о фреймворке, но мне захотелось внести свою лепту и подать голос. Потому что я - относительный нуб, и раз я смогла подключить allure и ощутить профит, то при желании любой сможет.