t.me/atinfo_chat Telegram группа по автоматизации тестирования

Allure2. Аннотация @Severity не срабатывает. Maven+Junit+Allure.

java
junit
selenium
maven
Теги: #<Tag:0x00007f21dd46bc10> #<Tag:0x00007f21dd46baa8> #<Tag:0x00007f21dd46b918> #<Tag:0x00007f21dd46b6e8>

(Jack_Selector) #1

Всем привет. Проблема следующая: в отчеты Allure не подтягивается аннотация @Severity тест-кейса из кода. JS который создается, не включает в себя аннотацию @Severity а все остальные (@Epic, @Feature, @Story) подтягиваются без проблем. В отчете @Severity так же остается по умолчанию, normal. Использую: Junit4.12, selenium 3.141.59, allure 2.12.1

Заранее спасибо за помощь!

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>Autotests</groupId>
    <artifactId>Autotests</artifactId>
    <version>1.0-SNAPSHOT</version>

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

    <dependencies>
        <!-- https://mvnrepository.com/artifact/junit/junit -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>compile</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.141.59</version>
        </dependency>



        <!-- https://mvnrepository.com/artifact/io.qameta.allure/allure-junit4 -->
        <dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-junit4</artifactId>
            <version>2.12.1</version>
            <scope>test</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/io.qameta.allure/allure-java-commons -->
        <dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-java-commons</artifactId>
            <version>2.12.1</version>
        </dependency>

        <dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-junit4-aspect</artifactId>
            <version>2.12.1</version>
        </dependency>


    </dependencies>



    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.20</version>
                <configuration>
                    <testFailureIgnore>false</testFailureIgnore>
                    <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>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.aspectj</groupId>
                        <artifactId>aspectjweaver</artifactId>
                        <version>${aspectj.version}</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>
</project>

Тесты выглядят следующим образом:

 public class SmokeTests extends WebDriverSettings {
   
    @Epic(value = "Смоук тестирование")
    @Feature(value = "Регистрация")
    @Story(value = "Регистрация нового пользователя")
    @Severity(value = SeverityLevel.BLOCKER)
    @Test
    public void AT1_1_Регистрация() {
        registrationPage.Reg();
    }

Javascript файл с результатами, пример:

{"name":"AT1_1_Регистрация","status":"passed","stage":"finished","steps":[],"attachments":[],"parameters":[],"start":1563421716942,"stop":1563421729097,"uuid":"48479c44-ee4b-4b33-a955-1eea5a2f61ee","historyId":"c793ab45e071b9f9f828084db2efbeb9","fullName":"simple.app.SmokeTests.AT1_1_Регистрация","labels":[{"name":"package","value":"simple.app"},{"name":"testClass","value":"simple.app.SmokeTests"},{"name":"testMethod","value":"AT1_1_Регистрация"},{"name":"suite","value":"simple.app.SmokeTests"},{"name":"host","value":"DESKTOP"},{"name":"thread","value":"5588@DESKTOP.main(1)"},{"name":"framework","value":"junit4"},{"name":"language","value":"java"},{"name":"story","value":"Регистрация нового пользователя"},{"name":"feature","value":"Регистрация"},{"name":"epic","value":"Смоук тестирование"}],"links":[]}

(Vasiliy Rakshin) #2

В доке так написано - https://docs.qameta.io/allure/#_severity
Ну и зависимость там только одна нужна:

        <groupId>io.qameta.allure</groupId>
        <artifactId>allure-junit4</artifactId>

(Jack_Selector) #4

Спасибо. Пробовал как в доке, разумеется. Отчеты то генерятся, всё хорошо. Только @Severity не считывается. Всё остальное в порядке.


(Vasiliy Rakshin) #5

У меня для TestNG работает. Разбирайтесь с зависимостями, что-то лишнее.


(Jack_Selector) #6

Проблема была в следующем: аннотация @Severity действительно не срабатывает начиная с версии allure-junit4 “2.10.0”.

В версии 2.9.0 и ниже все работает без проблем. отправил репорт разрабам