Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Allure+JUnit+Maven - не создается папка allure-resutls

maven-surefire-plugin
junit
java
allure
Теги: #<Tag:0x00007fedc468dd00> #<Tag:0x00007fedc468dad0> #<Tag:0x00007fedc468d7b0> #<Tag:0x00007fedc468c798>

(Слава Понаморев) #1

Было задание добавить Allure репорт к тесту. Было прошарено множество ресурсов по внедрению Allure в проект.
Проблема заключается в том, что при запуске mvn clean test и дальнейшим mvn site отчёт не создается, выдавая следующую ошибку:

[ERROR] Input directory should be not absolute for aggregate goal.
[WARNING] Allure report was skipped because there is no results directories found.

Здесь были подобные темы, но все предложенные варианты мне не помогли. Скорее всего, где-то косяк с pom.
Мой pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.andersenlab.ponamorev.firsttest</groupId>
    <artifactId>firsttest</artifactId>
    <version>1.0-SNAPSHOT</version>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.20.1</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.AllureRunListener</value>
                        </property>
                    </properties>
                    <systemProperties>
                        <property>
                            <name>allure.results.directory</name>
                            <value>${project.build.directory}\allure-results</value>
                        </property>
                    </systemProperties>
                </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>io.qameta.allure</groupId>
                <artifactId>allure-maven</artifactId>
                <version>${allure.maven.version}</version>
                <configuration>
                    <resultsDirectory>${project.build.directory}\allure-results</resultsDirectory>
                    <reportDireectory>${project.build.directory}\allure-report</reportDireectory>
                </configuration>
            </plugin>
        </plugins>
    </reporting>

    <properties>
        <allure.version>1.5.4</allure.version>
        <aspectj.version>1.8.13</aspectj.version>
        <allure.maven.version>2.9</allure.maven.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>23.6-jre</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.2</version>
        </dependency>
        <dependency>
            <groupId>net.thucydides</groupId>
            <artifactId>thucydides-core</artifactId>
            <version>0.9.275</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>2.46.0</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-chrome-driver</artifactId>
            <version>3.8.1</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium.core</groupId>
            <artifactId>selenium-core</artifactId>
            <version>1.0.1</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.webdriver</groupId>
            <artifactId>webdriver-chrome</artifactId>
            <version>0.9.7376</version>
        </dependency>
        <dependency>
            <groupId>ru.yandex.qatools.allure</groupId>
            <artifactId>allure-junit-adaptor</artifactId>
            <version>${allure.version}</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-maven</artifactId>
            <version>${allure.maven.version}</version>
        </dependency>
        <dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-junit4</artifactId>
            <version>2.0-BETA21</version>
        </dependency>
    </dependencies>

</project>

Выхлоп после mvn site

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building firsttest 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-site-plugin:3.3:site (default-site) @ firsttest ---
[INFO] configuring report plugin io.qameta.allure:allure-maven:2.9
[WARNING] No project URL defined - decoration links will not be relativized!
[INFO] Rendering site with org.apache.maven.skins:maven-default-skin:jar:1.0 skin.
[INFO] Skipped "Allure" report, file "allure-maven.html" already exists for the English version.
[INFO] Skipped "Allure" report, file "allure-maven.html" already exists for the English version.
[INFO] Skipped "Allure" report, file "allure-maven.html" already exists for the English version.
[INFO] Generating "Allure" report    --- allure-maven:2.9
[INFO] Allure installation directory C:\git_repos\firsttestnumber2/.allure
[INFO] Try to finding out allure 2.0.1
[INFO] Generate Allure report (aggregate) with version 2.0.1
[INFO] Generate Allure report to C:\git_repos\firsttestnumber2\target\site/allure-maven-plugin
[ERROR] Input directory should be not absolute for aggregate goal.
[WARNING] Allure report was skipped because there is no results directories found.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.085 s
[INFO] Finished at: 2018-02-07T11:49:33+03:00
[INFO] Final Memory: 21M/71M
[INFO] ------------------------------------------------------------------------

Среда: IntellijIDEA 2017.3.3 Ultimate Edition


(Vasiliy Rakshin) #2

А вы определитесь какой Аллюр хотите, старый или новый.
И в зависимости от этого - отредактируйте зависимости, а то у вас там всё собрано.
Для нового - https://docs.qameta.io/allure/#_junit_4


(Слава Понаморев) #3

Удалил этот фрагмент

<dependency>
    <groupId>ru.yandex.qatools.allure</groupId>
    <artifactId>allure-junit-adaptor</artifactId>
    <version>${allure.version}</version>
</dependency>

Добавил эти фрагменты

<dependency>
    <groupId>io.qameta.allure</groupId>
    <artifactId>allure-rest-assured</artifactId>
    <version>2.0-BETA21</version>
</dependency>
<configuration>
    <testFailureIgnore>false</testFailureIgnore>
    ...
</configuration>

Изменил проперти листнера

<property>
    <name>listener</name>
    <value>io.qameta.allure.junit4.AllureJunit4</value>
</property>

И убрал <allure.version>1.5.4</allure.version>, потому что оно нигде не используется
В примере больше ничего не добавлено
Но allure-results по-прежнему не появляется, ошибка та же
Хелп) Я не понимаю, целый день бьюсь


(Anton Yeryomin) #4
<properties>
	<compiler.version>1.8</compiler.version>
	<aspectj.version>1.8.10</aspectj.version>
	<allure.junit.version>2.0-BETA21</allure.junit.version>
</properties>

<build>
	<testSourceDirectory>src/main/java</testSourceDirectory>
	<plugins>
		<plugin>
			<groupId>io.qameta.allure</groupId>
			<artifactId>allure-maven</artifactId>
			<version>2.9</version>
		</plugin>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>3.6.1</version>
			<configuration>
				<encoding>UTF-8</encoding>
				<source>${compiler.version}</source>
				<target>${compiler.version}</target>
			</configuration>
		</plugin>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-surefire-plugin</artifactId>
			<version>2.20</version>
			<configuration>
				<testFailureIgnore>false</testFailureIgnore>
				<parallel>classes</parallel>
				<perCoreThreadCount>false</perCoreThreadCount>
				<argLine>
					-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
				</argLine>
				<properties>
					<property>
						<name>listener</name>
						<value>io.qameta.allure.junit4.AllureJunit4</value>
					</property>
				</properties>
				<systemProperties>
					<property>
						<name>allure.results.directory</name>
						<value>${project.build.directory}/allure-results</value>
					</property>
				</systemProperties>
			</configuration>
			<dependencies>
				<dependency>
					<groupId>org.aspectj</groupId>
					<artifactId>aspectjweaver</artifactId>
					<version>${aspectj.version}</version>
				</dependency>
			</dependencies>
		</plugin>
	</plugins>
</build>

и в dependencies

	<dependency>
		<groupId>io.qameta.allure</groupId>
		<artifactId>allure-junit4</artifactId>
		<version>${allure.junit.version}</version>
	</dependency>
	<dependency>
		<groupId>io.qameta.allure</groupId>
		<artifactId>allure-java-migration</artifactId>
		<version>${allure.junit.version}</version>
	</dependency>

все работает без проблем


(Яснодум Евгенин) #6

Такая же проблема, Maven+TestNG+Allure. После выполнения тестов, нет папки target/allure-results. Запускаю в идеи.

4.0.0

<groupId>hm.work</groupId>
<artifactId>pleasework</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
    <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.53.1</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.testng/testng -->
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.13.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>io.qameta.allure</groupId>
        <artifactId>allure-testng</artifactId>
        <version>2.0-BETA14</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.21</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-all</artifactId>
        <version>1.3</version>
        <scope>test</scope>
    </dependency>
</dependencies>

<properties>
    <aspectj.version>1.8.10</aspectj.version>
</properties>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.18.1</version>
            <configuration>
                <testFailureIgnore>true</testFailureIgnore>
                <argLine>
                    -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                </argLine>
            </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>io.qameta.allure</groupId>
            <artifactId>allure-maven</artifactId>
            <version>2.9</version>
        </plugin>
    </plugins>
</reporting>

С гитхаб скачал пример, он работает верно. Однако, сравнить и найти проблему не вышло, плиз хелп гайз.


(Яснодум Евгенин) #7

сори гайз за беспокойство, решение простое, надо было добавить файл allure.properties и в нем указать путь…


(Слава Понаморев) #8

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

[ERROR] Directory C:\git_repos\testproject\target\allure-results not found.

Команда mvn site теперь делает какие-то репорты зависимостей, а создать отчёт я пытаюсь через mvn allure:serve.


(Taras) #9

mvn allure:report аля репорт плагин вместо maven site plugin пробовали настроить ?


(Слава Понаморев) #10

Буду благодарен, если немного поподробнее расскажете, что необходимо сделать
Никакого site плагина я не писал
Всё сугубо с примеров и исходников
На данный момент мой pom выглядит вот так:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.andersenlab.ponamorev.testproject</groupId>
    <artifactId>testproject</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <allure.version>2.0-BETA21</allure.version>
        <aspectj.version>1.8.13</aspectj.version>
        <junit.version>4.12</junit.version>
        <project.build.source>1.8</project.build.source>
    </properties>

    <dependencies>
        <dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-junit4</artifactId>
            <version>${allure.version}</version>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>junit</groupId>
                    <artifactId>junit</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.9.1</version>
        </dependency>
        <dependency>
            <groupId>net.thucydides</groupId>
            <artifactId>thucydides-core</artifactId>
            <version>0.9.275</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
        </dependency>
        <dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-java-commons</artifactId>
            <version>${allure.version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.8.0-beta1</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <target>${project.build.source}</target>
                    <source>${project.build.source}</source>
                    <encoding>${project.build.sourceEncoding}</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.20.1</version>
                <configuration>
                    <testFailureIgnore>false</testFailureIgnore>
                    <argLine>
                        -javaagent:${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar
                    </argLine>
                    <systemProperties>
                        <property>
                            <name>allure.results.directory</name>
                            <value>${basedir}/target/allure-results</value>
                        </property>
                    </systemProperties>
                    <properties>
                        <property>
                            <name>listener</name>
                            <value>io.qameta.allure.junit4.AllureJunit4</value>
                        </property>
                    </properties>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.aspectj</groupId>
                        <artifactId>aspectjweaver</artifactId>
                        <version>${aspectj.version}</version>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>
                <groupId>io.qameta.allure</groupId>
                <artifactId>allure-maven</artifactId>
                <version>2.9</version>
                <configuration>
                    <propertiesFilePath>src/test/resources/allure.properties</propertiesFilePath>
                    <reportVersion>2.5.0</reportVersion>
                    <reportDirectory>${basedir}/target/allure-report</reportDirectory>
                    <resultsDirectory>${basedir}/target/allure-results</resultsDirectory>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <reporting>
        <plugins>
            <plugin>
                <groupId>io.qameta.allure</groupId>
                <artifactId>allure-maven</artifactId>
                <version>2.9</version>
                <configuration>
                    <propertiesFilePath>src/test/resources/allure.properties</propertiesFilePath>
                    <reportVersion>2.5.0</reportVersion>
                    <reportDirectory>${basedir}/target/allure-report</reportDirectory>
                    <resultsDirectory>${basedir}/target/allure-results</resultsDirectory>
                </configuration>
            </plugin>
        </plugins>
    </reporting>

</project>

(Taras) #11

ето site plugin , попробуй добавить Allure plugin на уровне с а не


(Aleksei) #12
ru.yandex.qatools.allure allure-maven-plugin ${allure.version} allure-results

попробуй добавить это