Ошибка при генерации Yandex.Allure отчета

allure
maven
selenium
Теги: #<Tag:0x00007fedbc11bd98> #<Tag:0x00007fedbc11bc08> #<Tag:0x00007fedbc11ba78>

(Сергей Слётов) #1

Добрый день, столкнулся с проблемой:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.0:site (default-site) on project converter-testing: failed to get report for ru.yandex.qatools.allure:allure-maven-plugin: Unable to load the mojo 'aggregate' (or one of its required components) from the plugin 'ru.yandex.qatools.allure:allure-maven-plugin:2.5': com.google.inject.ProvisionException: Guice provision errors:
[ERROR]
[ERROR] 1) No implementation for org.eclipse.aether.RepositorySystem was bound.
[ERROR] while locating ru.yandex.qatools.allure.report.AlureAggregateMojo
[ERROR] at ClassRealm[plugin>ru.yandex.qatools.allure:allure-maven-plugin:2.5, parent: ClassRealm[plugin>org.apache.maven.plugins:maven-site-plugin:3.0, parent: sun.misc.Launcher$AppClassLoader@4e25154f]]
[ERROR] while locating org.apache.maven.plugin.Mojo annotated with @com.google.inject.name.Named(value=ru.yandex.qatools.allure:allure-maven-plugin:2.5:aggregate)
[ERROR]
[ERROR] 1 error
[ERROR] role: org.apache.maven.plugin.Mojo
[ERROR] roleHint: ru.yandex.qatools.allure:allure-maven-plugin:2.5:aggregate
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
==========================================================================================

pom.xml:

<groupId>org.home</groupId>
<artifactId>home-testing</artifactId>
<version>1.0-SNAPSHOT</version>

<properties>
    <allure.version>2.5</allure.version>
    <aspectj.version>1.7.4</aspectj.version>
</properties>

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.53.0</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>pl.pragmatists</groupId>
        <artifactId>JUnitParams</artifactId>
        <version>1.0.5</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>ru.yandex.qatools.allure</groupId>
        <artifactId>allure-junit-adaptor</artifactId>
        <version>1.5.0.RC2</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.14</version>
            <configuration>
                <argLine>
                    -javaagent:${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar
                </argLine>
                <properties>
                    <property>
                        <name>listener</name>
                        <value>ru.yandex.qatools.allure.junit.AllureRunListener</value>
                    </property>
                </properties>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.aspectj</groupId>
                    <artifactId>aspectjweaver</artifactId>
                    <version>${aspectj.version}</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

<reporting>
    <excludeDefaults>true</excludeDefaults>
    <plugins>
        <plugin>
            <groupId>ru.yandex.qatools.allure</groupId>
            <artifactId>allure-maven-plugin</artifactId>
            <version>${allure.version}</version>
            <configuration>
                <resultsDirectory>${project.build.directory}/converter-testing-results</resultsDirectory>
                <reportDirectory>${project.build.directory}/converter-testing-report</reportDirectory>
                <properties>
                    <allure.issues.tracker.pattern>https://issues.corp.twilio.com/browse/%s</allure.issues.tracker.pattern>
                </properties>
            </configuration>
        </plugin>
    </plugins>
</reporting>

Пожалуйста, помогите разобраться с проблемой.

Пытался искать, но по поводу "Unable to load the mojo 'aggregate'" ничего не нашел.

Так же имеется проблема при прогоне тестов:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

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


(Eugene Moskalenko) #2

Добавьте:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.7.18</version>
</dependency>

По первому вопросу, попробуйте заменить:

<plugin>
    <groupId>ru.yandex.qatools.allure</groupId>
    <artifactId>allure-maven-plugin</artifactId>
    <version>${allure.version}</version>
    <configuration>
        <resultsDirectory>${project.build.directory}/converter-testing-results</resultsDirectory>
        <reportDirectory>${project.build.directory}/converter-testing-report</reportDirectory>
        <properties>
            <allure.issues.tracker.pattern>https://issues.corp.twilio.com/browse/%s</allure.issues.tracker.pattern>
        </properties>
    </configuration>
</plugin>

на:

<plugin>
    <groupId>ru.yandex.qatools.allure</groupId>
    <artifactId>allure-maven-plugin</artifactId>
    <version>2.2</version>
</plugin>

и напишите, генерируется ли.. Также замените версию Allure на 1.4.24.RC2

<version>1.5.0.RC2</version>

на 

<version>1.4.24.RC2</version>

интересно что получится..

И вот эту ссылочку еще гляньте - https://github.com/allure-framework/allure-core/issues/577

И такой еще вопрос, зачем вам <scope>test</scope>?


(Сергей Слётов) #3

Спасибо за помощь!
Проблему с SLF4J решили.

Все поменял, стало так:

Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.0:site (default-site) on project converter-testing: failed to get report for ru.yandex.qatools.allure:allure-maven-plugin: Unable to load the mojo 'report' (or one of its required components) from the plugin 'ru.yandex.qatools.allure:allure-maven-plugin:2.2': com.google.inject.ProvisionException: Guice provision errors:

ПС. Посмотрел по ссылке, видимо проблема в том, что "Maven 3.1.1 or higher required for allure-maven-plugin" Вроде бы у меня стоит стандартная (по-моему 3.0.5). Попробую поставить версию выше.


(Eugene Moskalenko) #4

Да, попробуйте, поскольку частенько натыкался на подобное сообщение :slight_smile:

For reference, IntelliJ IDEA comes bundled with maven 3.05. Allure requires a newer version of maven.


(Sergey Korol) #5

2 самых распространенных проблемы при первой генерации отчета:

  • Bundled maven -> нужно указать путь к новой версии в настройках IDE.
  • Отсутствие основного артефакта проекта в локальном maven репозитории -> нужно использовать clean install конфигурацию, вместо clean test при первом запуске.

(Сергей Слётов) #6

Добрый день,

Да отчет генерится!) Вот только он пустой,


нет даже стандартных строк с "Test run (0 testsuites, 0 cases)".


(Sergey Korol) #7

Да, забыл указать 3ю распространеную проблему: попытка открытия отчета локально, а не через web server. :wink:

Из IDE открывайте, или запускайте jetty конфигурацию, или помещайте репорт на собственный веб сервер.


(Eugene Moskalenko) #8

Всегда из IDE открываю, раньше кстати тоже подымал посредством jetty :slight_smile:

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

<build>
    <plugins>
        <!--Needed only to show reports locally. Run jetty:run and
        open localhost:8080 to show the report-->
        <plugin>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-maven-plugin</artifactId>
            <version>9.2.10.v20150310</version>
            <configuration>
                <webAppSourceDirectory>${project.build.directory}/site/allure-maven-plugin</webAppSourceDirectory>
                <stopKey>stop</stopKey>
                <stopPort>1234</stopPort>
            </configuration>
        </plugin>
    </plugins>
</build>

Вот еще ссылочка в помощь - http://artkoshelev.github.io/posts/hello-allure