Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Реал-тайм репортинг прохождения тестов Thucydides в Teamcity


(Vase4kin) #1

Привет, коллеги!

Если вы используете Thucydides в связке с TeamCity, надеюсь, это пост будем вам полезен.

Когда мы стали использовать Thucydides, мы столкнулись с проблемой репортинга прохождения тестов в реальном времени в TeamCity. Решением этой проблемы стала интеграция имплементации Thucydides StepListener интерфейса с сервисными сообщениями TeamCity.

Мы хотим поделиться с комьюнити имплементацией этого полезного листенера.
Для установки необходимо добавить dependency в pom файл вашего проекта:

<dependency>
    <groupId>com.github.crystalservice</groupId>
    <artifactId>thucydides-teamcity-steplistener</artifactId>
    <version>0.3</version>
    <exclusions>
        <exclusion>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
        </exclusion>
    </exclusions>
</dependency>

Если вы используете JBehave:

В maven-failsafe-plugin в конфигурацию необходимо добавить параметр:

<disableXmlReport>true</disableXmlReport>

Пример:

 <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.11</version>
            <configuration>
                <disableXmlReport>true</disableXmlReport>
            </configuration>
</plugin>

Если вы используете JUnit:

В maven-surefire-plugin в конфигурацию необходимо добавить параметры:

<disableXmlReport>true</disableXmlReport>
<skip>false</skip>

Пример:

<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.12</version>
        <configuration>
            <disableXmlReport>true</disableXmlReport>
            <skip>false</skip>
        </configuration>
</plugin>

Запуск Thucydides:

JBehave:

mvn integration-test

JUnit:

mvn test

Проект выложен на гитхаб https://github.com/crystalservice/thucydides-teamcity-steplistener.
Мы используем связку Thucydides и Jbehave, но в связке с Junit листенер тоже должен работать.

Коллеги, спасибо за внимание, ждем от вас обратной связи и прибудет с вами сила.


(Дмитрий Жарий) #2

@vase4kin спасибо за ваш труд. Вот бы еще видео бы (скринкаст) для наглядности как это работает


(Mykhailo Poliarush) #3

Или хотя бы какие-то скриншоты


(Vase4kin) #4

Коллеги,

Обновил инструкцию в первом посте. Пришлось оперативно выпустить новый релиз.

По поводу репортинга в реальном времени, надеюсь, это понятно. Когда тест будет пройден, в TeamCity мгновенно отобразится информация о результате прохождения(passed, failed, ignored). До этого результаты о прохождении тестов показывались только по завершению билда.

Для примеров результатов тестов с листенером были использованы архетипы Thucydides:

Как выглядит c Jbehave:

Как выглядит c Junit:


Кто использует Jbehave и мету, есть один момент, который стоит упомянуть, сейчас в Thucydides последней версии существует баг, в котором заскипанные и заигноренные сценарии отмечаются как passed.

Появились вопросы? Смело задавайте.


(Руслан) #5

есть вопрос:)

можно ли выложить скрины диаграмм, результатов Thucydides ?


(Vase4kin) #6

Вы имеете в виду отчеты, сгенерированные Thucydides? Можете объяснить зачем они вам?


(Руслан) #7

да, просто интересно как оно реализованы в тимсити
я просто использую связку Jenkins+Thucydides+JUnit , хотелось бы увидеть аналог ))


(Vase4kin) #8

Этот вопрос немного не относится к теме.
Если в двух словах, то в TeamCity к билду, после его завершения, добавляется вкладка, в которой содержится iframe с страницей отчетов Thucydides.