🔌 Conectando Feature, Step Def y Page Object Class
Llegó el momento de crear las próximas partes que van a dar vida a nuestro Framework BDD con Selenium y Cucumber.
Acá las clases y el código que hemos hecho:
PaginaPrincipal.java dentro de la carpeta Pages.
package pages;
public class PaginaPrincipal extends BasePage {
public PaginaPrincipal() {
super(driver);
}
// Método para navegar a www.freerangetesters.com
public void navigateToFreeRangeTesters() {
navigateTo("https://www.freerangetesters.com");
}
}
FreeRangeSteps.java dentro de la carpeta steps.
package steps;
import io.cucumber.java.en.Given;
import pages.PaginaPrincipal;
public class FreeRangeSteps {
PaginaPrincipal landingPage = new PaginaPrincipal();
@Given("I navigate to www.freerangetesters.com")
public void iNavigateToFRT() {
landingPage.navigateToFreeRangeTesters();
}
}
El TestRunner.java en la carpeta runner tuvo un pequeño cambio en el path a los steps, ahora queda así:
package runner;
import org.junit.runner.RunWith;
import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;
@RunWith(Cucumber.class)
@CucumberOptions(features = "src/test/resources", // Directorio de nuestros archivos .feature
glue = "steps", // Paquete donde tenemos nuestras clases definiendo los steps
plugin = { "pretty", "html:target/cucumber-reports" })
public class TestRunner {
}