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

Как задать имя тест-сьюта в Allure?


(Имя Фамилия) #1

При открытии отчета, имя сьюта Command line suite : Command line test.
Как задать имя тест-сьюта в Allure?


Allure testNg Как сделать имя класса сьютом для содержащихся в нём тест-методов?
(Александр Шиповалов) #2

Послушайте, но здесь же не экстрасенсы - какой язык, какой фреймворк?


(Имя Фамилия) #3

Java + TestNG + Maven + Allure


(Александр Шиповалов) #4

Какая версия Allure? Файл testng.xml -используете?


(Имя Фамилия) #5

версия 1.4.4, да использую


(Александр Шиповалов) #6

Странно, у меня тоже версия 1.4.4 (после праздников буду переходить на 1.4.5). У меня на вкладке XUnit имя подтягивается из testng.xml

<test name="Нужное имя">

Эта аннотация стоит перед списком выполняемых классов. А на вкладе Behaviors разделение идет через аннотация

@Features
@Story

(Crazyk2) #7

Не получается задать имя сьюита и его описание
Использую Java +testNG +Allure
tenstng.xml вроде нигде нет, сам его вручную не задавал точно
делаю все как на скрине

а получаю

Вот код тестового класса

[code]package ru.openbank.xml;

import client.WebServiceClient;
import org.testng.annotations.AfterClass;
import ru.openbank.ws.endpoint.OpenWebServicePublisher;

import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

import ru.openbank.xml.entity.TestEntity;
import ru.yandex.qatools.allure.annotations.*;

import java.io.OutputStream;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

@Title(“Create xml stream”)
@Description(“Проверяем корректное создание экземпляра Entity” +
" и его корректное отображение в формате xml с сохранением в поток")

public class TestJaxbParser {
private Parser parser = new JaxbParser();
private TestEntity test;
ExecutorService executor;

@Title("Запуск web сервиса в отдельном потоке.")
@BeforeClass
public void setUp() throws Exception {
    executor = Executors.newSingleThreadExecutor();
    executor.submit(
            new Runnable() {
                public void run() {
                    OpenWebServicePublisher.main("-p", "6969", "--name", "demo.q");}
                }
    );
}

@Title("Останов web сервиса.")
@AfterClass
public void shutdown() throws Exception {
    executor.shutdown();
}

@Step("Cоздание сущности: id \"{0}\", name \"{1}\"")
public TestEntity testCreateEntity(int id, String name) throws Exception {
    return new TestEntity(id, name);

}

@Attachment(value = "{0}", type = "text/xml")
public String saveXml(String name, OutputStream ou) throws Exception {
    return ou.toString();

}
@Features("Парсеры")
@Stories("XML парсер")
@Title("Сохранение сущности в xml поток")
@Description("test Description")
@Test
public void testSaveObjectToStream() throws Exception {
    TestEntity test = testCreateEntity(13, "Stepan");
    OutputStream ou = parser.saveObject(test);
    saveXml("testXml",ou);
    WebServiceClient.call("13","Stepan");

}

}

[/code]

Вот код 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"
>
    <!-- версия модели для POM-ов Maven 2.x всегда 4.0.0 -->
    <modelVersion>4.0.0</modelVersion>

    <groupId>ru.openbank.ws</groupId>
    <artifactId>openBankWs</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <aspectj.version>1.8.8</aspectj.version>
        <allure.version>1.5.0.RC2</allure.version>
        <maven.compiler.source>1.7</maven.compiler.source>
        <maven.compiler.target>1.7</maven.compiler.target>
    </properties>


    <build>
        <plugins>
            <!--Для сборки самостоятельного приложения-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
                    <compilerArgs>
                        <arg>-XDignore.symbol.file</arg>
                    </compilerArgs>
                    <fork>true</fork>
                </configuration>
            </plugin>
            <!--Если потом буду деплоить на Сервер-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>


            <!--Needed for allure-->

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19.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>

            <!--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>
    <!-- зависимости от библиотек -->

    <dependencies>

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


        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.9.10</version>
            <!-- эта библиотека используется только для запуска и компилирования тестов -->
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.activemq</groupId>
            <artifactId>activemq-all</artifactId>
            <version>5.13.1</version>
        </dependency>

        <dependency>
            <groupId>com.beust</groupId>
            <artifactId>jcommander</artifactId>
            <version>1.48</version>
        </dependency>

    </dependencies>


    <reporting>
        <excludeDefaults>true</excludeDefaults>
        <plugins>
            <plugin>
                <groupId>ru.yandex.qatools.allure</groupId>
                <artifactId>allure-maven-plugin</artifactId>
                <version>2.5</version>
            </plugin>
        </plugins>
    </reporting>
</project>

Помогите выставить нормальные имена!!

Так же скачал тестовый пример отсюда https://github.com/allure-examples/allure-testng-example

При прогоне также имена Surifire test


(Vasiliy Rakshin) #8

Никак, не поменять, если вы не запускаете тесты через .xml.
Либо надо править библиотеку maven-surefire-plugin, чтобы можно было задавать имя через системную переменную.


(Crazyk2) #9

а как тогда в этой статье все получается? подхватывается именно с аннотаций allure. http://perfect-test.com/index.php/ru/technologies-menu-rus/other-technologies-menu-rus/20-not-categorised-technologies-rus


(Борис Осипов) #10

А вас не смущает что там используют JUnit, а говорите за TestNG?


(Crazyk2) #11

Смущает, но я подумал, что функционал везде равнозначный.

Можете тогда подсказать, пожалуйста, пример testng.xml и как его вписать в pom.xml


(Vasiliy Rakshin) #12

(Борис Осипов) #13

В maven-surefire-plugin в configuration> добавить
<suiteXmlFiles> <suiteXmlFile>${basedir}/src/main/resources/all-tests.xml</suiteXmlFile> </suiteXmlFiles>
простейший пример testng.xml:

`<?xml version="1.0" encoding="UTF-8"?>

`

(Crazyk2) #14

На указанном ресурсе нет testng.xml, я его скачал и запустил, выше про это написано. Результат так же Surifire test


(Crazyk2) #15

Спасибо, было бы красиво все же, если бы автоматом из кода подхватывалось, Это один из аргументов удобства инструмента в описании на сайте яндекса