Selenide > Gradle > Cucumber > Java >> Настройка Allure

первый сравнительно приличный (по размеру, и надеюсь качеству) авто-тест написан.
но проблема с Allure так и не разрешилась.

был бы благодарен если кто-нибудь сможет настроить Allure на своей стороне, получить ожидаемый отчёт (тест не важен, хватит и запуск Гугла + вбить строку + нажать поиск) и пошарить ВСЕ необходимые настройки (во всех файлах где они нужны).

P.S. если у вас есть на примете более удачный cucumber-report-ер - можно и его настройки.

Спасибо заранее…

пример google.feature , если он вдруг нужен:

Feature: name

Scenario: Launch Google and search

Given open Google   
And insert text
And press search button

перед методом действия достаточно поставить @Given ("open Google ")… тоже самое с And

Есть рабочие проекты отдельно с аллюром и отдельно с кукумбером:

А вместе их не пробовал.

это как раз мой случай: необходимо скрестить ёжика и питона… чтоб получить 10м колючей проволоки :slight_smile:

Ну, может проще использовать отчёты cucumber?
А что собственно у Вас не работает?

пытался настроить cucumber-reports
но похоже сами отчёты не генерятся… и как следствие красивого отчёта тоже

имеем:

feature: с одним шагом - зайти в приложение
в Hooks - настройки запуска
в связанном DEF файле - действия во вводу логина/пароля/ нажатие логин

настройка RunCucumberTest.java

@RunWith(Cucumber.class)
@CucumberOptions(
plugin = {“html:target/cucumber-report/RunCucumberTest”, “json:target/cucumber-reports/cucumber.json”},
features = “target/test/resources/features”.
glue = “target/test/java/steps”
)

и в build.gradle:

plugins{
id ‘java’
id ‘com.github.specialcircumstances.gradle-cucumber-reporting’ version ‘0.1.24’
}

dependencies {

testImpementation group: ‘com.github.specialcircumstances’, name ‘gradle-cucumber-reporting’, version ‘0.1.24’

}

при запуске - скрипт исполняется “на ура”

1 Scenarios (1 passed)
1 Step (1 passed)

когда из Gradle > cucumber reports - нажимаю generateCucumberReports

получаю ошибку:
Execution failed for task : ‘:generateCucumberReports’.

Cannot invoke method exists () on null object


я уже пытался через терминал запускать: ./gradlew clean test

но всё равно не помогает :frowning:

если не сложно - скопируйте необходимые настройки build.gradle и TestRunner.java из вашего рабочего проекта
и поясните последовательность действий/команд…

заранее спасибо

Да, выглядит как будто просто скрипт кривой.

сам автотест - пасится без проблем выполняя всё что надо…
а вот репортинг - ни аллюр ни cucumber-report - ничего не пашет…

почему и прошу если у кого есть рабочий тест и настройка возвращающая репорт - поделитесь всеми конфигами…

У меня только без BDD был.

в том и проблема…
что никто не может дать работающий пример в заданных условиях…

а значит мне надо или сменить условия (типа переходить на мавен - селениум) … или забить на репортинг…

я почему и прошу специалистов - если у вас есть простой cucumber сценарий + java + selenide - попробуйте доснастроить cucumber-reports (или аллюр) и добиться чтоб это всё работало…

я то ещё ОЧЕНЬ!!! новичёк(по сути занимаюсь 2ю неделю), и мне крайне сложно добиться качественной настройки.

Так я так и не понял, зачем и allure и bdd? Cucumber нормальные же отчёты рисует.

если честно - я не очень понимаю что такое bdd

у меня такие компоненты: gradle + selenide + cucumber + java
мне нужен отчёт работы кукубера… один из вариантов аллюр… другой кукумбер-репорт

у меня не получилось “добиться взаимности” ни от 1го ни от 2го…

А как Вы используете cucumber, если не понимаете в чём суть? :slight_smile: Cucumber и есть одна из реализаций BDD подхода. Ну, вот примерно обзорная статья https://www.artofba.com/post/bdd-acceptance-criteria-test

вы не поняли задачу:

у меня УЖЕ написанный тест на Cucumber-е… работающий… правильно.
сейчас задача получит “красивый” отчёт.
и в данный момент у меня проблемы с настройкой системы репортинга: ни Allure ни Cucumber-reports не удаётся настроить корректно, чтоб получить отчёт.

Так Cucumber уже предоставляет красивые отчёты. Зачем тогда allure прикручивать? Например через встроенные плагины: cucumber.plugin=pretty, html:cucumber-reports/Cucumber.html, json:cucumber-reports/Cucumber.json, junit:cucumber-reports/Cucumber.xml

я указал выше пример своего testrunner-a
результат - не создаётся ни json-a ни отчёта…

А что это за плагин?

У меня в зависимостях так, что касается cucumber:

testImplementation "io.cucumber:cucumber-java8:$cucumber"
testImplementation "io.cucumber:cucumber-junit:$cucumber"
testImplementation "io.cucumber:cucumber-junit-platform-engine:$cucumber"

$cucumber - нужная версия. У меня последняя.

Настройки отчётов я не стал вставлять в RunCucumberTest. А добавил в cucumber.properties. Или можно в junit-platform.peoperties. В зависимости от того каким способом запускать, через junit или напрямую через таску в gradle.

Если через таск, то она будет выглядеть примерно так:

configurations {
    cucumberRuntime {
        extendsFrom testImplementation
    }
}

tasks.register('cucumber') {
    dependsOn assemble, testClasses
    doLast {
        javaexec {
            main = 'io.cucumber.core.cli.Main'
            classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
            args = ['--glue', 'com.tests', 'src/test/resources']
        }
    }
}

Запуск соответственно будет командной gradlew cucumber.

Если использоваь стандартный запуск через junit при помощи RunCucumberTest класса то junit-platform.properties у меня выглядит вот так:

junit.jupiter.testinstance.lifecycle.default=per_class
cucumber.plugin=pretty, html:cucumber-reports/Cucumber.html, json:cucumber-reports/Cucumber.json, junit:cucumber-reports/Cucumber.xml

Ну или можно добавить как у тебя в RunCucumberTest через аннотацию, но по мне это менее удобно.

наконец-то…
настроил всё как у вас, через cucumber-properties…
и при запуске Feature сценария - получил на выходе:

что немного странно - я НЕ запускал из терминала gradlew cucumber - а он автоматом сгенерился.

спасибо большое за помощь!

1 лайк

Значит сработало через jinut. Рад, что помог.

1 лайк

а что значит настроил через cucumbe-properties?
не могу понять что за файл