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

При падении на ассертах от TestNG не прикрепляются скриншоты в Allure2

screenshot
selenide
allure
testng
Теги: #<Tag:0x00007f7b690881f8> #<Tag:0x00007f7b69093f30> #<Tag:0x00007f7b690939e0> #<Tag:0x00007f7b69093440>

(Lol Oomph) #1

Всем привет. Есть проект тестов на Groovy (maven), юзается селенид и testng, сейчас прикручиваю allure2

    <modelVersion>4.0.0</modelVersion>

    <artifactId>corporate</artifactId>
    <version>1.0.0-SNAPSHOT</version>

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

    <dependencies>
        <dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-selenide</artifactId>
            <version>${allure.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-testng</artifactId>
            <version>${allure.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>

        <plugins>
            <plugin>
                <groupId>io.qameta.allure</groupId>
                <artifactId>allure-maven</artifactId>
                <version>2.9</version>
                <configuration>
                    <reportVersion>${allure.version}</reportVersion>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <showDeprecation>true</showDeprecation>
                    <compilerId>groovy-eclipse-compiler</compilerId>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.codehaus.groovy</groupId>
                        <artifactId>groovy-eclipse-compiler</artifactId>
                        <version>2.9.2-01</version>
                    </dependency>
                    <dependency>
                        <groupId>org.codehaus.groovy</groupId>
                        <artifactId>groovy-eclipse-batch</artifactId>
                        <version>2.4.3-01</version>
                    </dependency>
                </dependencies>
                <version>3.5.1</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>1.8</version>
                <executions>
                    <execution>
                        <id>add-groovy-sources</id>
                        <goals>
                            <goal>add-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>src/main/groovy</source>
                            </sources>
                        </configuration>
                    </execution>
                    <execution>
                        <id>add-groovy-test-sources</id>
                        <goals>
                            <goal>add-test-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>src/test/groovy</source>
                            </sources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.0</version>
                <configuration>
                    <argLine>
                        -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                        -Dfile.encoding=UTF-8
                    </argLine>
                    <systemPropertyVariables>
                        <allure.results.directory>${project.build.directory}/allure-results</allure.results.directory>
                    </systemPropertyVariables>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.aspectj</groupId>
                        <artifactId>aspectjweaver</artifactId>
                        <version>${aspectj.version}</version>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.10</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/classes/lib</outputDirectory>
                            <includeScope>runtime</includeScope>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

код теста

import com.codeborne.selenide.Configuration
import com.codeborne.selenide.Selenide
import com.codeborne.selenide.WebDriverRunner
import com.codeborne.selenide.logevents.SelenideLogger
import com.codeborne.selenide.testng.ScreenShooter
import io.qameta.allure.selenide.AllureSelenide
import org.testng.Assert
import org.testng.annotations.Listeners
import org.testng.annotations.Test

import static com.codeborne.selenide.Selenide.$

@Listeners(ScreenShooter)
class AllureTest {

    @Test
    void attachScreenshoot() {
        SelenideLogger.addListener("AllureSelenide", new AllureSelenide())
        Configuration.browser = WebDriverRunner.CHROME
        def text = "Поиск в"
        Selenide.open("http://www.google.com")
        //$("[name=btnK]").shouldHave(Condition.exactValue(text)) // тут все ок

        Assert.assertEquals($("[name=btnK]").value, text) // тут скриншот сохраняется в папку bulid/reports/tests/путь до  теста/attachScreenshoot/, но не линкуется к отчетам аллюра
    }

}

При использовании ожиданий от селенида, все ок, скриншот успешно линкуется к отчетам и показывается в репортах, но если использовать ассерты от testng ничего не выходит - скрин сохраняется, но в отчетах даже не появляется

Версии ОС и софта следующие:
tetsng 6.14.3
selenide 4.12.2
allure 2.7.0

Есть какие-нибудь идеи?


(Александр Чечулин) #2

Посмотрите на кейсы описанные:


или

Скорее всего у вас проблема с порядком выполнения шагов