Всем привет,
Неделю назад перешел в мир автоматизации на java, стек - Java + JUnit + Cucumber + Allure + Gradle. Подскажите, как правильно навешивать аннотации , как запускать и какие(и где) методы создать чтоб завести это все дело? Заранее спасибо.
Читал и читаю, но что-то не получается. Сложность с зависимостями. Для меня пока мир java еще не раскрыт полностью
В туториале описываются разные кейсы, как для junit, allure и еще отдельно для селенида, не разобрался. Подскажите, лисенеры надо прописывать в ранеры ? Анотации навешивать на степы и/или методы реализации определенных действий ?
Разобрался как запускать и вешать аннотации на методы и генерировать отчет
Подскажите, Вы у себя реализовывали Allure в связке Gradle - JUnit - Selenide ?
Аллюр + Мавен + ТестНГ + Селенид. А что собственно интересует?
Плагины Allure есть для Junit , Selenide, Cucumber JVM … какой именно выбрать ?
Раз вы используете Cucumber JVM, то плагин для него.
Вы именно его использовали? При добавлении зависимости в Gradle
- compile group: ‘io.qameta.allure’, name: ‘allure-cucumber-jvm’, version: ‘2.0-BETA6’
 Получаю ошибку :
java.lang.IncompatibleClassChangeError: Class cucumber.runtime.RuntimeOptions does not implement the requested interface io.cucumber.core.options.FeatureOptions
Подскажите, что я делаю не так ?
Какая бета? Откуда вы такую взяли версию.
<dependency>
        <groupId>io.qameta.allure</groupId>
        <artifactId>allure-cucumber4-jvm</artifactId>
        <version>2.10.0</version>
</dependency>
Но в процессе нахождения версии я нашел инфу, что они закинули разработку этого плагина. Нужно использовать плагин для junit + ещё несколько настроек в поме: Allure Framework
        <dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-junit5</artifactId>
            <version>LATEST_VERSION</version>
        </dependency>
А можете прописать “для дурака” что в градле добавить ? Вообще ничего не получается (
Прочитала всю тему и документацию, но понять не могу как сделать так, чтобы в отчёте отображались шаги.
В данный момент у меня отображается только фича, хотя в ней есть шаги
build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath “io.qameta.allure:allure-gradle:2.3”
}
}apply plugin: ‘java’
apply plugin: ‘io.qameta.allure’allure {
version = ‘2.4.1’
aspectjweaver = true
autoconfigure = trueuseCucumberJVM { version = '2.0-BETA21' }}
repositories {
mavenCentral()
}dependencies {
implementation ‘org.testng:testng:7.0.0’
implementation ‘org.seleniumhq.selenium:selenium-java:3.141.59’
implementation ‘org.hamcrest:hamcrest:2.2’
implementation ‘com.beust:jcommander:1.78’
implementation ‘com.thoughtworks.xstream:xstream:1.4.11.1’
implementation ‘com.google.code.gson:gson:2.8.6’
implementation ‘ch.qos.logback:logback-classic:1.2.3’
implementation ‘mysql:mysql-connector-java:8.0.19’
implementation ‘org.hibernate:hibernate-core:5.4.11.Final’
implementation ‘info.cukes:cucumber-java:1.2.6’
implementation ‘info.cukes:cucumber-testng:1.2.6’
implementation ‘com.codeborne:selenide:5.11.1’
}
Наверно, из-за того что сам кукумбер старый и аллюр для него?
https://docs.qameta.io/allure/#_installation_4
https://cucumber.io/docs/installation/java/#gradle
dependencies {
    testCompile 'io.cucumber:cucumber-java8:5.6.0'
    testCompile 'io.cucumber:cucumber-junit:5.6.0'
}
repositories {
    mavenCentral()
}
Да. Действительно версия старая и использовать её - не выход.
Но везде для более поздних версий предлагается JUnit.
Работающей версии gradle+TestNG+Cucumber+ allure, так и  не получается собрать.
Вот так мне удалось получить результат:
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "io.qameta.allure:allure-gradle:2.8.1"
    }
}
plugins {
    id 'java'
}
repositories {
    mavenLocal()
    mavenCentral()
}
apply plugin: 'io.qameta.allure'
allure {
    autoconfigure = true
    version = '2.13.3'
    resultsDir = file('путь к проекту\\allure-results') // т.е. где у вас создаётся папка с результатами после прохода тестов
}
dependencies {
    implementation 'io.qameta.allure:allure-cucumber5-jvm:2.13.3'
    testImplementation 'io.cucumber:cucumber-java:5.7.0'
    testImplementation 'io.cucumber:cucumber-testng:5.7.0'
}
group = 'hellocucumber'
version = '1.0.0-SNAPSHOT'
sourceCompatibility = '1.8'
tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
}
configurations {
    cucumberRuntime {
        extendsFrom testImplementation
    }
}
task cucumber() {
    dependsOn assemble, compileTestJava
    doLast {
        javaexec {
            main = "io.cucumber.core.cli.Main"
            classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
            args = ['--plugin', 'pretty', \
                    '--plugin', 'io.qameta.allure.cucumber5jvm.AllureCucumber5Jvm', \
                    '--strict', \
                    '--glue', 'hellocucumber', 'src/test/resources']
        }
    }
}
Перечитал данную тему 3 раза, но не смог решить свою проблему.
Суть Allure не видит тесты  Cucumber.
Пробовал разные варианты сейчас остановился на следующим
plugins {
    id 'java'
    id "io.qameta.allure" version "2.9.6"
}
apply plugin: 'io.qameta.allure'
allure {
    report {
        autoconfigure = true
        version.set("2.18.1")
    }
    adapter {
        autoconfigure.set(true)
        aspectjWeaver.set(true)
        frameworks {
            useJUnit5 {
                version = '2.7.0' // Latest Allure Version
            }
        }
    }
}
repositories {
    mavenCentral()
}
compileJava {
    options.encoding = 'UTF-8'
}
compileTestJava {
    options.encoding = 'UTF-8'
}
dependencies {
    implementation 'junit:junit:4.13.2'
    implementation 'io.cucumber:cucumber-jvm:7.3.3'
    testImplementation (
            'io.cucumber:cucumber-java8:7.3.3',
            'io.cucumber:cucumber-junit:7.3.3',
            'io.cucumber:cucumber-junit-platform-engine:7.3.3',
            'io.cucumber:cucumber-jvm:7.3.3',
            'junit:junit:4.13.2',
            'io.cucumber:cucumber-java:7.3.3',
            'org.junit.vintage:junit-vintage-engine:5.8.2',
            'org.projectlombok:lombok:1.18.12',
            'org.apache.logging.log4j:log4j-core:2.17.2',
            'io.github.bonigarcia:webdrivermanager:5.2.0',
            'com.github.kirlionik:allure-cucumber-plugin:1.0.3',
            'ru.yandex.qatools.allure:allure-core:1.5.4',
            'ru.yandex.qatools.allure:allure-java-aspects:1.5.4',
            'ru.yandex.qatools.allure:allure-commons:1.5.4',
            'info.cukes:cucumber-core:1.2.6',
            'io.qameta.allure:allure-selenide:2.18.1',
            'io.qameta.allure:allure-cucumber7-jvm:2.18.1',
            'org.aspectj:aspectjweaver:1.9.9.1',
            'io.qameta.allure:allure-cucumber-jvm:2.18.1',
            'com.codeborne:selenide:6.6.3',
            'org.junit.jupiter:junit-jupiter-api:5.8.2')
    testRuntimeOnly'org.junit.jupiter:junit-jupiter-engine:5.8.2'
}
repositories {
    mavenCentral()
}
test {
    useJUnitPlatform()
}
configurations {
    cucumberRuntime {
        extendsFrom testImplementation
    }
}
task cucumber() {
    dependsOn assemble, compileTestJava
    doLast {
        javaexec {
            main = "io.cucumber.core.cli.Main"
            classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
            args = ['--plugin', 'pretty', \
                    '--plugin', 'io.qameta.allure.cucumber5jvm.AllureCucumber5Jvm', \
                    '--strict', \
                    '--glue', 'hellocucumber', 'src/test/resources']
        }
    }
}
сам проект GitHub - Andre0023/Mos_Ecom
Помогите пожалуйста разобраться что делаю не так.
У тебя как минимум не тот кукумбер указан.
Ты используешь 7-ой, а указан у тебя плагин для пятого.
Но я бы вообще убрал таску с кукумбером из гредла в сторону  создания junit5 runner и туда бы вынес настройки кукумбера. ЭТо не совсем ответ на твой вопрос, но в целом можешь попробовать подвинуться в эту сторону
