diff --git a/pom.xml b/pom.xml index 51b5f56..8dbc95b 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ 3.1.2 - src/main/resources/suite.xml + src/test/resources/suite.xml diff --git a/src/test/java/com/agile611/testng/webdriver/BaseRemoteWebDriverTest.java b/src/test/java/com/agile611/testng/webdriver/BaseRemoteWebDriverTest.java index f86f023..af30b5d 100644 --- a/src/test/java/com/agile611/testng/webdriver/BaseRemoteWebDriverTest.java +++ b/src/test/java/com/agile611/testng/webdriver/BaseRemoteWebDriverTest.java @@ -6,6 +6,7 @@ import java.time.Duration; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.firefox.FirefoxOptions; import org.openqa.selenium.remote.RemoteWebDriver; +import org.openqa.selenium.safari.SafariOptions; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; @@ -14,13 +15,25 @@ public class BaseRemoteWebDriverTest { @BeforeClass(alwaysRun = true) //Inicialización del navegador public void setUp() throws Exception { String browser = System.getProperty("browser"); + // Extraemos la URL para mantener el código DRY (Don't Repeat Yourself) + URL gridUrl = new URL("http://0.0.0.0:4444/wd/hub"); + if (browser != null && browser.equalsIgnoreCase("chrome")) { ChromeOptions options = new ChromeOptions(); - driver = new RemoteWebDriver(new URL("http://0.0.0.0:4444/wd/hub"), options); + driver = new RemoteWebDriver(gridUrl, options); + + } else if (browser != null && browser.equalsIgnoreCase("safari")) { + SafariOptions options = new SafariOptions(); + // Aquí podrías añadir configuraciones específicas si lo necesitas + // options.setUseTechnologyPreview(true); + driver = new RemoteWebDriver(gridUrl, options); + } else { + // Firefox se mantiene como el navegador por defecto (fallback) FirefoxOptions options = new FirefoxOptions(); - driver = new RemoteWebDriver(new URL("http://0.0.0.0:4444/wd/hub"), options); + driver = new RemoteWebDriver(gridUrl, options); } + driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(30)); }