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

Ошибка при подключении Allure, AllureSelenide Listener

junit
allure
selenide
Теги: #<Tag:0x00007f21d3f75110> #<Tag:0x00007f21d3f74fd0> #<Tag:0x00007f21d3f74e90>

(Василь ) #1

Всем привет.
Получаю странную ошибку при запуске тестов с командной строки. Selenide, Allure, Junit4, AllureSelenide Listener

Пример тестового класса:

public class TestingTest {

    @Before
    public void beforeTest() {
        SelenideLogger.addListener("Allure Selenide Listener", 
                                              new AllureSelenide().savePageSource(true).screenshots(true));
    }

    @Test
    public void test1() {
        Selenide.open("https://www.google.com/");
        $(".test").click();
    }

}

При запуске тестов:

./gradlew clean test

Получаю следующую ошибку:

com.google.tests.TestingTest STANDARD_ERROR
    [Test worker] ERROR io.qameta.allure.AllureLifecycle - Could not update test case: test case with uuid b18137df-595c-4e3e-bfaa-456788d738fc not found

com.google.tests.TestingTest > classMethod FAILED
    java.lang.BootstrapMethodError: java.lang.NoSuchMethodError: io.qameta.allure.model.ExecutableItem.setName(Ljava/lang/String;)V

        Caused by:
        java.lang.NoSuchMethodError: io.qameta.allure.model.ExecutableItem.setName(Ljava/lang/String;)V

Структура build.gradle:

plugins {
    id 'io.qameta.allure' version "2.8.1"
}
apply plugin: 'io.qameta.allure'

allure {
        autoconfigure = true
        configuration = "compile"
        version = '2.12.1'
    }

dependencies {
    compile(
            "com.codeborne:selenide:5.3.0",
            "io.qameta.allure:allure-selenide:2.12.1"
    )
}

Версия env:

java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)

(Vladislav Abramov) #2

ничего странного, у вас не найден тест-кейс по гуиду
тесты параллельно запускаете?


(Василь ) #3

Попробивал и в паралели и в один поток, ошибка одинаковая.

Пример палалельного запуска

    tasks.withType(Test) {
        testTask ->
            testTask.maxParallelForks = 2
            testTask.forkEvery = 2
    }

(Vladislav Abramov) #4

суть не в том:
у вас в логе ошибки написано, что не найден кейс с гуидом и дальше сам гуид.
вам нужно в дебаге посмотреть откуда этот гуид изначально берется, и почему потом ищется другой

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


(Василь ) #5

Интересно что когда понижаю версии Selenide к 5.1.0 а алюр к 2.7.0 все работает отлично при той же конфигурации…


(asolntsev) #6

Версии (под-)библиотек Аллюра не совпадаю друг с другом.
Запустите команду gradle dependencies и увидите, что откуда-то подтягивается левая версия:
io.qameta.allure:allure-junit4:2.0-BETA21.

Добавьте в свой build.gradle правильную зависимость, и наступит счастье:

"io.qameta.allure:allure-junit4:2.12.1"