Cucumber-Testschritte werden in J-Unit nicht angezeigt, während die Schritte in der Konsole erfolgreich ausgeführt wurdeJava

Java-Forum
Anonymous
 Cucumber-Testschritte werden in J-Unit nicht angezeigt, während die Schritte in der Konsole erfolgreich ausgeführt wurde

Post by Anonymous »

Ich versuche gerade, meine ersten Gurkentests zu erstellen. In Java Eclipse habe ich eine „Feature-Datei“ mit folgendem Inhalt erstellt:

Feature: Login functionality DemoQA.com

Scenario: Verify if user is able to login to the DemoQA website
Given A user is on DemoQA.com
When User clicks MyAccount link
Then User is taken to Login Page
When User enters valid username and password
Then User is able to login


Ich habe außerdem die folgende Testrunner-Datei erstellt:

@RunWith(Cucumber.class)
@CucumberOptions(
features = "src/test/Features/",
glue = {"Tests"}
)
public class CucumberRunner {
}


Ich habe auch meine Stepdefinitionen erstellt:

öffentliche Klasse LoginStepDefinitions {

@Given("A user is on DemoQA.com")
public void a_user_is_on_DemoQA_com() {

System.setProperty("webdriver.gecko.driver","C:\\geckodriver-v0.10.0-win64\\geckodriver.exe");

WebDriver driver = new FirefoxDriver();
WebDriverWait wait = new WebDriverWait(driver, 50);

String url = "https://demoqa.com";

//Launch the Online Store Website
driver.get(url);

try {

wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id=\"logo-events\"]/a/img")));
driver.findElement(By.xpath("//*[@id=\"logo-events\"]/a/img"));
System.out.println("User has succesfully opened DemoQA.com");

}

catch (Exception e) {
System.out.println("User was not able to open DemoQA.com");

}

}

@When("User clicks MyAccount link")
public void user_clicks_MyAccount_link() {
// Write code here that turns the phrase above into concrete actions
System.out.println("User clicks on the MyAccount link");
}

@Then("User is taken to Login Page")
public void user_is_taken_to_Login_Page() {
System.out.println("User is succesfully taken to MyAccount login");
}

@When("User enters valid username and password")
public void user_enters_valid_username_and_password() {
System.out.println("User enters valid credentials for MyAccount login");
}

@Then("User is able to login")
public void user_is_able_to_login() {
// Write code here that turns the phrase above into concrete actions
System.out.println("User is succesfully logged in");
}


}

Wenn ich mein Skript als Junit-Test ausführe, führt die Konsole den Test erfolgreich aus und zeigt das an Ergebnis:

User has succesfully opened DemoQA.com
[32m.[0mUser clicks on the MyAccount link
[32m.[0mUser is succesfully taken to MyAccount login
[32m.[0mUser enters valid credentials for MyAccount login
[32m.[0mUser is succesfully logged in
[32m.[0m
1 Scenarios ([32m1 passed[0m)
5 Steps ([32m5 passed[0m)
0m7.706s


Aber beim Öffnen der JUnit-Registerkarte passieren zwei Dinge:

1) Testschritte scheinen nicht angezeigt zu werden :

Image

2) Wenn ich auf die Feature-/Szenario-Schritte doppelklicke, erhalte ich eine Nachricht:

Testklasse im ausgewählten Projekt nicht gefunden

Ich habe einige der anderen Beiträge zu diesem Thema gelesen , mein erster Gedanke war, dass sich meine Feature-Datei nicht im richtigen Ordner befand, aber ich habe sie jetzt fast überall hin verschoben und es scheint keinen Unterschied zu machen.

Dies ist meine aktuelle Struktur in Eclipse:

Image


Kann mir bitte jemand helfen? Danke!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post