Огурец - Селен - Courgette-JVM - Не в состоянии запустить класс Courgette - PullRequest
0 голосов
/ 02 апреля 2020

Привет, сообщество: я сталкиваюсь с ошибкой при попытке запустить Cucumber с помощью Courgette-JVM.

Это мой бегун:

import courgette.api.CourgetteOptions;
import courgette.api.CourgetteRunLevel;
import courgette.api.CucumberOptions;
import courgette.api.junit.Courgette;
import org.junit.runner.RunWith;


@RunWith(Courgette.class)
@CourgetteOptions(
        threads = 1,
        runLevel = CourgetteRunLevel.SCENARIO,
        rerunFailedScenarios = true,
        rerunAttempts = 1,
        showTestOutput = true,
        reportTargetDir = "target/build",
        cucumberOptions = @CucumberOptions(
                features = "src/test/resources/features",
                glue = {"stepdefs", "properties", "src/main/java/properties", "drivers", "src/main/java/drivers"},
                tags = {"@test"},
                plugin = {
                        "pretty",
                        "json:target/courgette/cucumber-report/cucumber.json",
                        "html:target/courgette/cucumber-report/cucumber.html",
                        "junit:target/courgette/cucumber-report/cucumber.xml"},
                strict = true
        ))

public class TestJunitCourgette {
}

В некоторых примерах я видел, что Зависимость CucumberOptions это не так:

import courgette.api.CucumberOptions;

Но, если я изменяю на (Устаревшая зависимость)

import cucumber.api.CucumberOptions;

Отображается ошибка:

Incompatible types. Found: 'cucumber.api.CucumberOptions', required: 'courgette.api.CucumberOptions'

И когда Я пытаюсь запустить этого бегуна, я сталкиваюсь со следующей ошибкой:

/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/bin/java -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar=59402:/Applications/IntelliJ IDEA CE.app/Contents/bin" -Dfile.encoding=UTF-8 -classpath "/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar:/Applications/IntelliJ IDEA CE.app/Contents/plugins/junit/lib/junit5-rt.jar:/Applications/IntelliJ IDEA CE.app/Contents/plugins/junit/lib/junit-rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/lib/packager.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/lib/tools.jar:/Users/rodrigo.g/Documents/automation_projects/phoenix/target/test-classes:/Users/rodrigo.g/Documents/automation_projects/phoenix/target/classes:/Users/rodrigo.g/.m2/repository/io/cucumber/cucumber-testng/4.8.1/cucumber-testng-4.8.1.jar:/Users/rodrigo.g/.m2/repository/org/apiguardian/apiguardian-api/1.1.0/apiguardian-api-1.1.0.jar:/Users/rodrigo.g/.m2/repository/io/cucumber/cucumber-core/4.8.1/cucumber-core-4.8.1.jar:/Users/rodrigo.g/.m2/repository/io/cucumber/gherkin/5.1.0/gherkin-5.1.0.jar:/Users/rodrigo.g/.m2/repository/io/cucumber/tag-expressions/1.1.1/tag-expressions-1.1.1.jar:/Users/rodrigo.g/.m2/repository/io/cucumber/cucumber-expressions/7.0.2/cucumber-expressions-7.0.2.jar:/Users/rodrigo.g/.m2/repository/io/cucumber/datatable/1.1.14/datatable-1.1.14.jar:/Users/rodrigo.g/.m2/repository/io/cucumber/datatable-dependencies/1.1.14/datatable-dependencies-1.1.14.jar:/Users/rodrigo.g/.m2/repository/org/testng/testng/6.14.3/testng-6.14.3.jar:/Users/rodrigo.g/.m2/repository/com/beust/jcommander/1.72/jcommander-1.72.jar:/Users/rodrigo.g/.m2/repository/org/apache-extras/beanshell/bsh/2.0b6/bsh-2.0b6.jar:/Users/rodrigo.g/.m2/repository/io/cucumber/cucumber-java/4.8.1/cucumber-java-4.8.1.jar:/Users/rodrigo.g/.m2/repository/io/cucumber/cucumber-junit/4.8.1/cucumber-junit-4.8.1.jar:/Users/rodrigo.g/.m2/repository/junit/junit/4.12/junit-4.12.jar:/Users/rodrigo.g/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/Users/rodrigo.g/.m2/repository/org/seleniumhq/selenium/selenium-java/3.141.59/selenium-java-3.141.59.jar:/Users/rodrigo.g/.m2/repository/org/seleniumhq/selenium/selenium-api/3.141.59/selenium-api-3.141.59.jar:/Users/rodrigo.g/.m2/repository/org/seleniumhq/selenium/selenium-chrome-driver/3.141.59/selenium-chrome-driver-3.141.59.jar:/Users/rodrigo.g/.m2/repository/org/seleniumhq/selenium/selenium-edge-driver/3.141.59/selenium-edge-driver-3.141.59.jar:/Users/rodrigo.g/.m2/repository/org/seleniumhq/selenium/selenium-firefox-driver/3.141.59/selenium-firefox-driver-3.141.59.jar:/Users/rodrigo.g/.m2/repository/org/seleniumhq/selenium/selenium-ie-driver/3.141.59/selenium-ie-driver-3.141.59.jar:/Users/rodrigo.g/.m2/repository/org/seleniumhq/selenium/selenium-opera-driver/3.141.59/selenium-opera-driver-3.141.59.jar:/Users/rodrigo.g/.m2/repository/org/seleniumhq/selenium/selenium-remote-driver/3.141.59/selenium-remote-driver-3.141.59.jar:/Users/rodrigo.g/.m2/repository/org/seleniumhq/selenium/selenium-safari-driver/3.141.59/selenium-safari-driver-3.141.59.jar:/Users/rodrigo.g/.m2/repository/org/seleniumhq/selenium/selenium-support/3.141.59/selenium-support-3.141.59.jar:/Users/rodrigo.g/.m2/repository/net/bytebuddy/byte-buddy/1.8.15/byte-buddy-1.8.15.jar:/Users/rodrigo.g/.m2/repository/org/apache/commons/commons-exec/1.3/commons-exec-1.3.jar:/Users/rodrigo.g/.m2/repository/com/google/guava/guava/25.0-jre/guava-25.0-jre.jar:/Users/rodrigo.g/.m2/repository/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar:/Users/rodrigo.g/.m2/repository/org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0.jar:/Users/rodrigo.g/.m2/repository/com/google/errorprone/error_prone_annotations/2.1.3/error_prone_annotations-2.1.3.jar:/Users/rodrigo.g/.m2/repository/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar:/Users/rodrigo.g/.m2/repository/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar:/Users/rodrigo.g/.m2/repository/com/squareup/okhttp3/okhttp/3.11.0/okhttp-3.11.0.jar:/Users/rodrigo.g/.m2/repository/com/squareup/okio/okio/1.14.0/okio-1.14.0.jar:/Users/rodrigo.g/.m2/repository/io/github/bonigarcia/webdrivermanager/3.8.1/webdrivermanager-3.8.1.jar:/Users/rodrigo.g/.m2/repository/commons-io/commons-io/2.6/commons-io-2.6.jar:/Users/rodrigo.g/.m2/repository/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar:/Users/rodrigo.g/.m2/repository/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar:/Users/rodrigo.g/.m2/repository/org/apache/httpcomponents/httpclient/4.5.6/httpclient-4.5.6.jar:/Users/rodrigo.g/.m2/repository/org/apache/httpcomponents/httpcore/4.4.10/httpcore-4.4.10.jar:/Users/rodrigo.g/.m2/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar:/Users/rodrigo.g/.m2/repository/commons-codec/commons-codec/1.10/commons-codec-1.10.jar:/Users/rodrigo.g/.m2/repository/org/rauschig/jarchivelib/1.0.0/jarchivelib-1.0.0.jar:/Users/rodrigo.g/.m2/repository/org/apache/commons/commons-compress/1.18/commons-compress-1.18.jar:/Users/rodrigo.g/.m2/repository/org/jsoup/jsoup/1.11.3/jsoup-1.11.3.jar:/Users/rodrigo.g/.m2/repository/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar:/Users/rodrigo.g/.m2/repository/org/slf4j/slf4j-log4j12/1.7.5/slf4j-log4j12-1.7.5.jar:/Users/rodrigo.g/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar:/Users/rodrigo.g/.m2/repository/io/github/prashant-ramcharan/courgette-jvm/4.4.0/courgette-jvm-4.4.0.jar:/Users/rodrigo.g/.m2/repository/io/cucumber/cucumber-java8/5.5.0/cucumber-java8-5.5.0.jar:/Users/rodrigo.g/.m2/repository/net/jodah/typetools/0.6.2/typetools-0.6.2.jar:/Users/rodrigo.g/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.8.8/jackson-databind-2.8.8.jar:/Users/rodrigo.g/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.8.0/jackson-annotations-2.8.0.jar:/Users/rodrigo.g/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.8.8/jackson-core-2.8.8.jar:/Users/rodrigo.g/.m2/repository/org/apache/httpcomponents/httpmime/4.5.10/httpmime-4.5.10.jar:/Users/rodrigo.g/.m2/repository/com/aventstack/extentreports/4.1.3/extentreports-4.1.3.jar:/Users/rodrigo.g/.m2/repository/org/freemarker/freemarker/2.3.29/freemarker-2.3.29.jar:/Users/rodrigo.g/.m2/repository/org/mongodb/mongodb-driver/3.12.0/mongodb-driver-3.12.0.jar:/Users/rodrigo.g/.m2/repository/org/mongodb/mongodb-driver-core/3.12.0/mongodb-driver-core-3.12.0.jar:/Users/rodrigo.g/.m2/repository/org/mongodb/bson/3.12.0/bson-3.12.0.jar" com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 runners.TestJunitCourgette
Exception in thread "main" java.lang.NoClassDefFoundError: io/cucumber/core/snippets/SnippetType
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    at java.lang.Class.getDeclaredMethods(Class.java:1975)
    at sun.reflect.annotation.AnnotationType$1.run(AnnotationType.java:112)
    at sun.reflect.annotation.AnnotationType$1.run(AnnotationType.java:109)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.reflect.annotation.AnnotationType.<init>(AnnotationType.java:109)
    at sun.reflect.annotation.AnnotationType.getInstance(AnnotationType.java:85)
    at sun.reflect.annotation.AnnotationParser.parseAnnotation2(AnnotationParser.java:266)
    at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:226)
    at sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:352)
    at sun.reflect.annotation.AnnotationParser.parseAnnotation2(AnnotationParser.java:286)
    at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:120)
    at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:72)
    at java.lang.Class.createAnnotationData(Class.java:3521)
    at java.lang.Class.annotationData(Class.java:3510)
    at java.lang.Class.getAnnotation(Class.java:3415)
    at com.intellij.junit4.JUnit4TestRunnerUtil.buildRequest(JUnit4TestRunnerUtil.java:223)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:46)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
    at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)
Caused by: java.lang.ClassNotFoundException: io.cucumber.core.snippets.SnippetType
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 22 more

Process finished with exit code 1

Я использую следующие зависимости в моем POM:

cucumber-testng ---> 4.8.1
cucumber-java ---> 4.8.1
cucumber-junit ---> 4.8.1
selenium-java ---> 4.8.1
courgette-jvm ---> 4.4.0

И используемый плагин следующий:

             <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.0</version>
                <configuration>
                    <parallel>methods</parallel>
                    <threadCount>1</threadCount>
                    <testFailureIgnore>true</testFailureIgnore>
                    <redirectTestOutputToFile>true</redirectTestOutputToFile>
                    <includes>
                        <include>**/runners/TestJunitCourgette.class</include>
                    </includes>
                </configuration>
                <!--<dependencies>
                    <dependency>
                        <groupId>org.apache.maven.surefire</groupId>
                        <artifactId>surefire-junit47</artifactId>
                        <version>2.22.0</version>
                    </dependency>
                </dependencies>-->
            </plugin>

Пожалуйста, если кто-нибудь может мне помочь? Заранее спасибо.

ОБНОВЛЕНО: Когда я пытаюсь построить, отображается следующее сообщение:

Warning:java: unknown enum constant 

    io.cucumber.core.snippets.SnippetType.UNDERSCORE
      reason: class file for io.cucumber.core.snippets.SnippetType not found
...