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));
}