Огурец-Почему мое определение шага не идентифицируется - PullRequest
1 голос
/ 31 марта 2019

Я написал файл определения шага, но он все еще не идентифицирован, ниже моя функция, определение шага, файл Runner.

Feature: Google Search feature

Scenario: To verify search bar functionality

Given user is on google search page
When user enters a search keyword in a search bar
And user clicks on Enter keyboard button
Then search results are displayed
Then Close the browser
package com.mavenDemo;

import java.awt.Robot;
import java.awt.event.KeyEvent;

import org.junit.Assert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import cucumber.api.java.en.And;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;

public class StepDefination {

WebDriver driver;

@Given("^user is on google search page$")
public void user_is_on_google_search_page() throws Throwable {
    // Write code here that turns the phrase above into concrete actions
    System.setProperty("webdriver.chrome.driver", "F://chromedriver.exe");
    driver = new ChromeDriver();
    driver.get("https://www.google.com");

}

@When("^user enters a search keyword in a search bar$")
public void user_enters_a_search_keyword_in_a_search_bar() throws Throwable {

    driver.findElement(By.name("q")).sendKeys("Test");
}

@And("^user clicks on Enter keyboard button$")
public void user_clicks_on_Enter_keyboard_button() throws Throwable {

    Robot robot = new Robot();
    robot.keyPress(KeyEvent.VK_ENTER);
}

@Then("^search results are displayed$")
public void search_results_are_displayed() throws Throwable {
    boolean searchText = driver.findElement(By.xpath("//span[@class='wUrVib']")).getText().contains("Test");
    Assert.assertTrue(searchText);

}

@Then("^Close the browser$")
public void close_the_browser() throws Throwable {
    driver.quit();

}

}

package com.mavenDemo;

import org.junit.runner.RunWith;

import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;

 @RunWith(Cucumber.class)
 @CucumberOptions(features = 
  "C:/Users/BR/workspace/com.mavenDemo/src/main/java/Login.features", 
  glue = {
    "/com.mavenDemo/src/main/java/com/mavenDemo/StepDefination" })
 public class TestRunner {

 }

Что может быть причиной того, что он не распознал файл определения шага?

Я дважды проверил код, но не могу найти решение, также попробовал решение, предоставленное для аналогичной проблемы, но даже это не помогло. Пожалуйста, помогите мне в решении этой проблемы.

Спасибо

Ответы [ 2 ]

2 голосов
/ 31 марта 2019

Я нашел ответ !!ошибка была в файле бегуна теста, при указании пути определения шага в glue нам нужно указать имя папки, а не путь бегуна теста,

Изменен клей на

glue = {"com.mavenDemo "}

Спасибо.

1 голос
/ 31 марта 2019

Пожалуйста, удалите /com.mavenDemo из пути клея

...