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

[Solved] Allure Framework не видит мои тесты


(heartwilltell) #1

Вроде подключил все правильно, но отчеты пустые. Может кто-то юзал и встречался с такой проблемой?
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>heartwilltell.jawos</groupId>
    <artifactId>jawos</artifactId>
    <version>1.0-SNAPSHOT</version>

    <name>Simple Allure Project</name>

    <properties>
        <compiler.version>1.7</compiler.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <allure.version>1.4.0</allure.version>
        <aspectj.version>1.8.2</aspectj.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
        </dependency>

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

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

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

        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>${aspectj.version}</version>
        </dependency>

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-server</artifactId>
            <version>2.42.2</version>
        </dependency>

        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>17.0</version>
        </dependency>
    </dependencies>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-archetype-plugin</artifactId>
                    <version>2.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.1</version>
                    <configuration>
                        <source>${compiler.version}</source>
                        <target>${compiler.version}</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.17</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>2.17</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>ru.yandex.qatools.allure.junit.AllureRunListener</value>
                            </property>
                        </properties>
                        <parallel>classes</parallel>
                        <threadCount>2</threadCount>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.aspectj</groupId>
                            <artifactId>aspectjweaver</artifactId>
                            <version>1.8.2</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.4</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <reporting>
        <excludeDefaults>true</excludeDefaults>
        <plugins>
            <plugin>
                <groupId>ru.yandex.qatools.allure</groupId>
                <artifactId>allure-maven-plugin</artifactId>
                <version>2.0</version>
                <configuration>
                    <resultsPattern>**/allure-results</resultsPattern>
                </configuration>
            </plugin>
        </plugins>
    </reporting>

</project>

Тест:

public class StoreMainPageTest {

    StoreMainPage storeMainPage;
    static WebDriver driver;

    @BeforeClass
    public static void settings() {
        driver = new FirefoxDriver();
    }

    @AfterClass
    public static void shutdown() {
        driver.quit();
    }

    @Test
    public void enterCouponeAndClickCmm2Button() {
        driver.get("http://site.com/store");
        storeMainPage = new StoreMainPage(driver);
        storeMainPage.clickCouponeLink();
        storeMainPage.enterValueToCouponeField("coupone");
        storeMainPage.clickCouponFieldApplyButton();
    }
}

Пейдж обджект:

public class StoreMainPage extends PageObject {

    public StoreMainPage (WebDriver driver) {
        super(

    @FindBy (css = "[data-store-discount-block=\"index\"] [data-store-discount-goto=\"coupon\"]")
    private WebElement couponeLink;

    @FindBy (css = "[data-store-discount-block=\"coupon\"] [data-store-discount-field=\"\"]")
    private WebElement couponField;

    @FindBy (css = "[data-store-discount-block=\"coupon\"] [type=\"submit\"]")
    private WebElement couponFieldApplyButton;

    @Step
    public void clickCouponeLink() {
        couponeLink.click();
    }

    @Step
    public void enterValueToCouponeField(String value) {
        couponField.sendKeys(value);
    }

    @Step
    public void clickCouponFieldApplyButton() {
        couponFieldApplyButton.click();
    }

}

Знаю что есть у этих отчетов бока с просмотром локально, так как там все на аджаксах, гружу артефакт в веб сервер, получаю такой выхлоп:


(sidelnikovmike) #2

Я использую. Да и разрабатывают allure у меня в соседней комнате :smile:
А где у вас лежат тесты? В смысле можете прислать структуру проекта?


(sidelnikovmike) #3

У вас еще замечена ошибка в пом - конфигурация aspectJ у вас для maven-failsafe-plugin, а должен быть (и по документации https://github.com/allure-framework/allure-core/wiki/JUnit) -
maven-surefire-plugin


(Sergey Korol) #4

Кстати, у кого-то на форуме недавно была проблема, связанная с 0 запускаемых тестов. В итоге выяснилось, что было подключено 2 плагина, разработанных для совершенно разных целей: maven-failsafe-plugin и maven-surefire-plugin. Оба плагина имеют различные goals. Для комбинирования придется делать дополнительные телодвижения. В базовом случае удаление maven-failsafe-plugin из pom должно решить проблему, если вы используете test goal.


(heartwilltell) #5

Да, я переделал конфиг на maven-surefire-plugin и все разаботало. Очень странно, потому что у меня на машине оно не хотело компилится. Потому я решил попробовать сделать через фейлсейф.

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


(sidelnikovmike) #6

Ага, можно сделать отдельную. Можно так же привлечь кого-нибудь из разработки сюда. Пусть сделает краткий экскурс, да и на вопросы отвечает. Если никто не захочет - я могу взяться.
@polusok - как тебе идейка? Инструмент интересный, можно в него немного углубиться.


(Mykhailo Poliarush) #7

@heartwilltell @sidelnikovmike слово не воробей и материализуется очень быстро.

Вот вам уже созданная категория http://automated-testing.info/category/allure

@sidelnikovmike раз ты уже знаешь кого-то из разработчиков, может быть привлечешь их на at.info в этот раздел, чтобы они помогали другим решать проблемы с allure


(sidelnikovmike) #8

Сделаем:)