Я сейчас пытаюсь создать свои первые тесты на огурец.В 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](https://i.stack.imgur.com/xpFpk.jpg)
2) Когда я дважды щелкаю шаги Feature / Scenario, я получаю сообщение:
Тестовый класс не найден в выбранном проекте
Прочитав некоторые другие посты по этой теме, я впервые подумалбыло то, что мой файл объектов не был расположен в правильной папке, но я переместил его почти везде сейчас, и это, кажется, не имеет никакого значения.
Это моя текущая структура в Eclipse:
![enter image description here](https://i.stack.imgur.com/o6MA8.jpg)
Может любойТело помогите мне, пожалуйста?Thx!