Luego de consultar especialistas en este tema, programadores de deferentes ramas y profesores hemos dado con la solución al problema y la dejamos plasmada en esta publicación.
Solución:
Acabo de hacerlo funcionar. Mi configuración es un poco diferente a la tuya porque estoy usando una cuadrícula, pero debería ser bastante similar.
Para mí, cuando solicito un controlador de la cuadrícula, uso las capacidades de Chrome:
m_capability = DesiredCapabilities.chrome();
m_capability.setCapability( "browserName", "chrome" );
Entonces, en tu caso, supongo que querrás esto en su lugar:
driver = new ChromeDriver();
Al iniciar un nodo, especifico el controlador de cromo para que apunte al controlador de borde (lo tengo en la RUTA, por lo que no necesito una ruta absoluta)
java -Dwebdriver.chrome.driver=msedgedriver.exe ...
Entonces, en tu caso, querrás esto en su lugar:
System.setProperty("webdriver.chrome.driver",
"C:\Users\boni\Downloads\msedgedriver.exe");
Otra cosa para recordar es tener la ubicación del ejecutable de Edge (ver más abajo) en su RUTA
Para Edge Dev querrás agregar:
C:Program Files (x86)MicrosoftEdge DevApplication
O si estás usando Canary, probablemente sea:
C:UsersboniAppDataLocalMicrosoftEdge SxSApplication
Solo para cerrar este problema, según la respuesta de Jools, actualicé mi prueba (usando la última versión de WebDriverManager) y ahora está funcionando:
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.MatcherAssert.assertThat;
import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.edge.EdgeOptions;
import io.github.bonigarcia.wdm.WebDriverManager;
public class EdgeDevTest
private WebDriver driver;
@BeforeClass
public static void setupClass()
WebDriverManager.edgedriver().setup();
@Before
public void setupTest()
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.setBinary(
"C:\Program Files (x86)\Microsoft\Edge Dev\Application\msedge.exe");
EdgeOptions edgeOptions = new EdgeOptions().merge(chromeOptions);
driver = new EdgeDriver(edgeOptions);
@After
public void teardown()
if (driver != null)
driver.quit();
@Test
public void test()
driver.get("https://bonigarcia.github.io/selenium-jupiter/");
assertThat(driver.getTitle(),
containsString("JUnit 5 extension for Selenium"));
Estoy usando “chromium edge” Versión 80.0.361.5 (compilación oficial) dev (64 bits), probé la forma proporcionada por Joolspero no funcionó para mí.
Inicié el “servidor de selenio” con la opción -Dwebdriver.chrome.driver=”pathTomsedgedriver.exe”
Agregué la carpeta que contiene el ejecutable de Edge “msedge.exe” en la RUTA del entorno
Luego ejecuté el siguiente código, pero falló
System.setProperty("webdriver.chrome.driver", "C:\SeleniumPlus\extra\msedgedriver.exe");
DesiredCapabilities m_capability = DesiredCapabilities.chrome();
m_capability.setCapability(CapabilityType.BROWSER_NAME, BrowserType.CHROME);
WebDriver driver = new ChromeDriver(m_capability);
Probé de otra manera y funcionó para mí:
Empecé el “servidor de selenio” con la opción -Dwebdriver.edge.driver=”rutaAmsedgedriver.exe”
Agregué la carpeta que contiene el ejecutable de Edge “msedge.exe” en la RUTA del entorno
System.setProperty("webdriver.edge.driver", "C:\SeleniumPlus\extra\msedgedriver.exe");
DesiredCapabilities m_capability = DesiredCapabilities.edge();
WebDriver driver = new EdgeDriver(m_capability);
nuevo EdgeDriver(m_capability); está en desuso, podemos usar RemoteWebDriver en su lugar como se muestra a continuación:
driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), m_capability);
Si tienes alguna desconfianza y capacidad de modernizar nuestro post eres capaz de ejecutar un paráfrasis y con deseo lo observaremos.