Невозможно связать клей и файл функций - PullRequest
0 голосов
/ 26 мая 2020

Я новичок в Cucumber и практикую его. Я просто создал простой проект и пытаюсь его скомпилировать. Я упомянул путь к функции и путь клея в огурце. Но все же всякий раз, когда я компилирую с Junit, продолжает показывать, что тест пропущен. Неопределенный сценарий ios.

TestRunner     


 package runner;

    import org.junit.runner.RunWith;

    import io.cucumber.junit.CucumberOptions;
    import io.cucumber.junit.Cucumber;


    @RunWith(Cucumber.class)
    @CucumberOptions(
            features = "src/test/resources/feature/feature.feature"
            ,glue = {"src/test/java/stepDefinition"} //have tried with "/HomeWork/src/test/java/stepDefinition/" also. but not working. giving error message like undefined scenarios
            ,monochrome = true
            ,plugin = {"html:target/Report/cucumber-html-report", "json:target/Report/cucumber-json-report.json" }
    )
    public class TestRunner {

    }



    stepDefinition File: 



package stepDefinition;

    import io.cucumber.java.en.Then;
    import io.cucumber.java.en.When;

    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.chrome.ChromeOptions;

    import cucumber.api.java.en.Given;

    public class firstLogin {
        WebDriver driver;



        // TODO Auto-generated method stub
        @Given("^User sets the property^")
        public void User_sets_the_property() {
            System.setProperty("webdriver. chrome.driver",
                    "C:\\Arnab\\Softwares\\ChromeDriver\\chromedriver.exe");
            ChromeOptions options = new ChromeOptions();
            options.setBinary("C:\\Program Files (x86)\\Google\\Chrome\\Application");

            driver = new ChromeDriver();
            driver.get("https://www.facebook.com/");
        }

        @When("^User navigates to login page^")
        public void User_navigates_to_login_page() {
            driver.findElement(By.xpath("//input[@type=émail']")).sendKeys(
                    "arnab.test1115@gail.com");
            driver.findElement(
                    By.xpath("//input[@class='inputtext login_form_input_box']"))
                    .sendKeys("mandira1990");
            driver.findElement(By.cssSelector("input[value='Log In']")).click();
        }

        @Then("user is on Homepage^")
        public void user_is_on_Homepage() throws InterruptedException {
            String Title = driver.getTitle();
            System.out.println(Title);
            Thread.sleep(5000);
        }


        // driver.close();

    }

Файл функций:

 Feature: User is on Facebook Login Page

    Scenario: User Needs to Login

    Given User sets the property

    When User navigates to login page

    Then user is on Homepage

1 Ответ

0 голосов
/ 31 мая 2020

Значения параметров, которые вы указали в @CucumberOptions, могут быть неправильно настроены, как того требует Cucumber.

features - это путь к папке файловой системы, в которой можно найти файл функции, а не полный путь к файлу.

glue - это имя пакета, в котором находится ваш класс определения шага, а не путь файловой системы к самому пакету.

Итак, ваша конфигурация должна быть такой:

    @CucumberOptions(
        features = "src/test/resources/feature"
        ,glue = {"stepDefinition"} 
        ,monochrome = true
        ,plugin = {"html:target/Report/cucumber-html-report", "json:target/Report/cucumber-json-report.json" }
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...