Models POM

This commit is contained in:
Guillem Hernandez Sola
2026-06-17 10:36:39 +02:00
parent 7aef031ff9
commit 09623d19a7
3 changed files with 20 additions and 5 deletions

View File

@@ -0,0 +1,16 @@
package com.agile611.testng.webdriver.pages;
import java.time.Duration;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
public class BasePage {
public void waitPageToLoad(WebDriver driver, long secondsTimeout, WebElement webElement){
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(secondsTimeout));
wait.until(ExpectedConditions.elementToBeClickable(webElement));
}
}

View File

@@ -5,16 +5,16 @@ import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
public class ResultsPage {
public class ResultsPage extends BasePage {
private WebDriver driver;
@FindBy(className = "react-results--main")
public WebElement resultsList;
public ResultsPage(WebDriver driver) {
PageFactory.initElements(driver, this);
waitPageToLoad(driver, 10, resultsList);
}
public boolean isResultsPagePresent() {

View File

@@ -5,19 +5,18 @@ import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
public class SearchPage {
public class SearchPage extends BasePage {
private WebDriver driver;
@FindBy(id = "searchbox_input")
public WebElement searchBox;
public SearchPage(WebDriver driver) {
PageFactory.initElements(driver, this);
driver.get("https://duckduckgo.com/");
}
public void searchKeyword(String keyword) {
waitPageToLoad(driver, 10, searchBox);
searchBox.clear();
searchBox.sendKeys(keyword);
searchBox.submit();