Gurke kann nicht finden StepDefinitions, während der code ausgeführt wird, sondern manuell mithilfe der option „Suchen Schritt“ finden Sie Schritt-definition

In der Projekt-Struktur definiert, wie unten

  • src/main/java
    — Config – (RunCukesTest.java)
    — StepDefinitions
  • src/test/resources
    — features/loginGurke kann nicht finden StepDefinitions, während der code ausgeführt wird, sondern manuell mithilfe der option

Wenn ich von RunCukesTest.java using RunAs --> JUnit Test, Schritt-Definitionen können nicht gefunden werden Läufer

Wenn ich auf suchen Schritt, öffnet sich die richtige Datei. Konnte nicht verstehen, wo das Problem ist, weil der code läuft nur wenige Tage zurück. Datei ist von hier heruntergeladen

https://drive.google.com/open?id=0B4SgyzyvwKhiVTRmRDZuNXNTSjA

Runner-Klasse code

package helpers;

import org.junit.runner.RunWith;

import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
//features= "src/test/resources/features/navigation",

@RunWith(Cucumber.class)
@CucumberOptions(
        features = {"classpath:features"},
        plugin = {"pretty", "html:target/cucumber-html-report"},
        tags = {"@OnlyOneTime"},
//     dryRun = true,
        monochrome = true
        )
public class RunCukesTest{

}
  • Die Struktur Ihres Projekts ist nicht klar, es wäre besser, wenn du posten könntest einen Schnappschuss von Ihrem Projekt-Ordner-Struktur.
  • Welche version von cucumber-java, junit, cucumber-junit & selenium-java verwenden Sie? Ich bin nicht sicher, ob wir features/login Funktion Datei innerhalb src/test/resources. Dank
  • Hinzugefügt Projektstruktur
  • cucumber-java: 1.2.5 junit: 4.12 cucumber-junit: 1.2.5 selenium-java: 3.4.0 Hinzugefügt Versionen
  • Können Sie betrachten, zeigen Sie uns Ihre runner-Klasse? Dank
  • package helpers; import org.junit.runner.RunWith; import cucumber.api.CucumberOptions; import cucumber.api.junit.Cucumber; //features= "src/test/resources/features/navigation", @RunWith(Cucumber.class) @CucumberOptions( features = {"classpath:features"}, plugin = {"pretty", "html:target/cucumber-html-report"}, tags = {"@OnlyOneTime"}, // dryRun = true, monochrome = true ) public class RunCukesTest{ } Im Falle dass, wenn Sie möchten, laden Sie das Projekt, in dem oben genannten link
  • Sie haben einen tag wie tags = {"@OnlyOneTime"},. Können Sie betrachten, Sie zeigt uns die Umsetzung des tag? Dank
  • Lassen Sie uns weiter, diese Diskussion im chat.
  • Kleber={„stepDefinitions“} sollte funktionieren
  • und das funktioniert nicht. wenn ich versuche zu laufen, von der feature-Datei, gibt das die error – Launch configuration Login.Funktion Referenzen nicht vorhandenen Projekt s360UIAutomation.
  • hi @NagarjunaReddy : ich habe Ihr Projekt, wie es von der GDrive und es funktioniert gut auf meinem Rechner; wenn ich laufen, es ist eine Gurke feature, aber wenn ich glue={"stepDefinitions"} und versuchen Sie Sie von Läufer dann NullPointerException geworfen wird
  • Problem ist aus nicht in der Lage zu finden, Haken
  • finden debugging wenig kompliziert in Gurke im Vergleich zu Selen+testng. Wie Debuggen
  • Verschieben vorherigen Kommentar zu beantworten.
  • Ist es nicht zwingend um die Kleber Weg



3 Replies
  1. 0

    Läuft es wie eine Gurke-Funktion, es funktioniert gut, aber wenn ich Kleber={„stepDefinitions“} und versuchen Sie Sie von Läufer dann NullPointerException geworfen wird,

    Dieses problem ist aufgrund von Haken nicht gefunden. Aber Wenn ich move @Before und @After, um die SDLogin Klasse, dann funktioniert Es auch.

  2. 0

    Dachte ich, Ihr Problem, Wie pro Ihre Läufer-Klasse, der Kleber Weg ist nicht festgelegt. bitte setzen Sie Kleber Weg.glue={"stepDefinitions"}

    package helpers; 
    import org.junit.runner.RunWith; 
    import cucumber.api.CucumberOptions; 
    import cucumber.api.junit.Cucumber; 
    //features= "src/test/resources/features"@RunWith(Cucumber.class) @CucumberOptions( 
    features = {"classpath:features"}, glue={"stepDefinitions"},plugin = {"pretty", "html:target/cucumber-html-report"}, tags = {"@OnlyOneTime"}, //dryRun = true, monochrome = true ) 
    public class RunCukesTest{ }
    • ich habe versucht, mit Kleber code vor dem posten dieser Frage, die nicht ausgeführt wurde. glue = {"stepDefinitions.Login"} Or glue = {"stepDefinitions"} Erste zeigt Schritt-Definitionen sind nicht vorhanden. Zweite gibt null-Zeiger exceptoin. Config bleibt in config.Eigenschaften: – Datei
    • zweitens sollte man arbeiten. können Sie mir stack trace-info.
    • java.lang.NullPointerException at org.openqa.selenium.support.pagefactory.DefaultElementLocator.findElement(DefaultElementLocator.java:69) at org.openqa.selenium.support.pagefactory.internal.LocatingElementHandler.invoke(LocatingElementHandler.java:38) at com.sun.proxy.$Proxy14.sendKeys(Unknown Source) at stepDefinitions.LogIn.SDLogin.inputUserCredentials(SDLogin.java:29) at ✽.When User enter the valid credentials(features/logIn/Login.feature:5)
    • Dont bekommen, als ich die Benutzer glue={"classpath:stepDefinitons", "classpath:stepDefinitons.Login","classpath:stepDefinitons.Publish"}, Konsole zeigt die Meldung zum hinzufügen von Schritten
  3. 0

    Glue-code haben soll, Weg, um Haken und Schritt-Definitionen

    So geändert werden, wie glue={"helpers","stepDefinitions"} statt
    glue={"helpers","classpath/stepDefinitions", "classpath/stepDefinitions.LogIn","classpath/stepDefinitions.Publish"}

    Entnehmen Sie bitte diesem link Ähnliches Problem auf github

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.