Estoy tratando de ejecutar la prueba de pepino, pero obtengo la siguiente excepción. Usé esos frascos con sus versiones

enter image description here

Y este es mi proyecto:

enter image description here

Y este es el código de clase testRunner:

    package cucumberTest;

import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;

@RunWith(Cucumber.class)
@CucumberOptions(
        features = "Feature"
        ,glue={"stepDefinition"}
        )

        public class TestRunner {

        }

En el archivo logIn.feature:

Característica: Prueba de acción de inicio de sesión

Escenario: inicio de sesión exitoso con credenciales válidas El usuario dado está en la página de inicio cuando el usuario navega a la página de inicio de sesión y el usuario ingresa el nombre de usuario y la contraseña y luego se muestra el mensaje.

Escenario: cierre de sesión exitoso cuando el usuario cierra la sesión de la aplicación y luego el mensaje muestra el cierre de sesión exitoso

0
victoria 8 may. 2017 a las 20:51

2 respuestas

La mejor respuesta

De acuerdo con esto, cucumber-java-1.2.5 requiere gherkin-2.12.2, mientras estaba proporcionando gherkin-4.1.13

Así que descargué la versión 2.12.2 de aquí, eliminé la versión 4.1.13 y funcionó para mí (hice una limpieza al proyecto).

1
victoria 8 may. 2017 a las 19:14

Soy nuevo y sigo aprendiendo. Tuve un mensaje similar de 'error de inicialización del corredor de pepino':

java.lang.NoSuchMethodError: cucumber.runtime.RuntimeOptionsFactory.<init>(Ljava/lang/Class;[Ljava/lang/Class;)V
    at cucumber.api.junit.Cucumber.<init>(Cucumber.java:59)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:29)
    at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:21)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createUnfilteredTest(JUnit4TestLoader.java:87)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:73)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:46)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:522)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)

Bibliotecas referenciadas <= Mis jarras cuando tenía un error. Luego reemplacé mi cucumber-junit-1.1.5.jar con cucumber-junit-1.2.2.jar y el mensaje de error ahora está resuelto. Ahora puedo ejecutar mi prueba junit de pepino. Empecé con los últimos frascos, pero parecen tener problemas. Luego probé varias combinaciones diferentes. Leí 'regla general' que los tres frascos (-core, -java y -junit) deben ser de la misma versión. Solo entonces pude ejecutar mis archivos de características y pruebas junit.

Mis jarras de trabajo actuales son:

gherkin-2.12.2
cucumber-core-1.2.2
cucumber-java-1.2.2
cucumber-junit-1.2.2
cucumber-html-0.2.3
cucumber-jvm-deps-1.0.3
hamcrest-all-1.3
junit-4.11
selenium-server-standalone-3.13.0

Espero que esto ayude.

0
zagoo2000 13 sep. 2018 a las 16:07