Шаги теста на огурец не отображаются в J-модуле, в то время как в консоли шаги были успешно выполнены - PullRequest
0 голосов
/ 22 мая 2019

Я сейчас пытаюсь создать свои первые тесты на огурец.В Java Eclipse я создал «Файл компонентов» со следующим содержимым:

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 

Я также создал следующий файл testrunner:

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

Я также создал свои определения Stepdefinitions:

открытый класс 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");
}

}

Когда я запускаю свой сценарий как тест Junit, консоль успешно выполняет тест и показывает результат:

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

Но при открытии вкладки JUnit происходят две вещи:

1) Тестовые шаги не отображаются:

enter image description here

2) Когда я дважды щелкаю шаги Feature / Scenario, я получаю сообщение:

Тестовый класс не найден в выбранном проекте

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

Это моя текущая структура в Eclipse:

enter image description here

Может любойТело помогите мне, пожалуйста?Thx!

1 Ответ

1 голос
/ 31 мая 2019

Я решил проблему самостоятельно, добавив следующую строку в @cucumberoptions моего файла Runner: junit = "--step-notifications".После добавления этой строки в файл бегуна мои тестовые шаги также появляются в результате Junit.Вопрос можно закрыть

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...