Estoy tratando de ejecutar una prueba de selenio con Java y Edge Dev (basado en cromo). He descargado el controlador binario ( msedgedriver.exe
, 64-bits en mi caso) desde aquí .
La versión de mi Edge Dev instalado en Windows 10 es 76.0.152.0 (acumulación Oficial dev 64 bits):
Entonces, tengo la siguiente prueba unitaria 4:
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.edge.EdgeDriver;
public class EdgeDevTest {
private WebDriver driver;
@BeforeClass
public static void setupClass() {
System.setProperty("webdriver.edge.driver",
"C:\\Users\\boni\\Downloads\\msedgedriver.exe");
}
@Before
public void setupTest() {
driver = new EdgeDriver();
}
@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"));
}
}
... que no logra de la siguiente manera:
org.openqa.selenium.SessionNotCreatedException: session not created: No matching capabilities found
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'LAPTOP-T9O4060I', ip: '192.168.99.1', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_111'
Driver info: driver.version: EdgeDriver
remote stacktrace: Backtrace:
Ordinal0 [0x00007FF7894D9442+1741890]
Ordinal0 [0x00007FF78943D692+1103506]
Ordinal0 [0x00007FF7893C828F+623247]
Ordinal0 [0x00007FF78936932A+234282]
Ordinal0 [0x00007FF7893699A3+235939]
Ordinal0 [0x00007FF78936794F+227663]
Ordinal0 [0x00007FF789349BC7+105415]
Ordinal0 [0x00007FF78934B2CE+111310]
GetHandleVerifier [0x00007FF78966D249+1471113]
GetHandleVerifier [0x00007FF78959C525+615781]
GetHandleVerifier [0x00007FF78959C2C1+615169]
Ordinal0 [0x00007FF7894E91CC+1806796]
GetHandleVerifier [0x00007FF78959CC56+617622]
Ordinal0 [0x00007FF78945748E+1209486]
Ordinal0 [0x00007FF78946483C+1263676]
Ordinal0 [0x00007FF7894636BD+1259197]
BaseThreadInitThunk [0x00007FF86D337974+20]
RtlUserThreadStart [0x00007FF86D7FA271+33]
¿Alguna idea?
Acaba de conseguir que funcione. Mi configuración es un poco diferente de la suya porque estoy usando una cuadrícula, pero debe ser bastante similares.
Para mí, al solicitar un controlador de la red utilizo las capacidades de cromo:
m_capability = DesiredCapabilities.chrome();
m_capability.setCapability( "browserName", "chrome" );
Así, en su caso, supongo que querrá esto en su lugar:
driver = new ChromeDriver();
Al poner en marcha un nodo que especificar el controlador de cromo a punto para el conductor de borde (lo tengo en el camino, así que no hay necesidad de ruta absoluta)
java -Dwebdriver.chrome.driver=msedgedriver.exe ...
Así, en su caso, usted querrá esto en su lugar:
System.setProperty("webdriver.chrome.driver",
"C:\\Users\\boni\\Downloads\\msedgedriver.exe");
Otra cosa a recordar es que la ubicación del borde ejecutable (véase más adelante) en su camino
Por Edge Dev usted desea agregar:
C:\Program Files (x86)\Microsoft\Edge Dev\Application\
O si está usando Canarias, es probable que sea:
C:\Users\boni\AppData\Local\Microsoft\Edge SxS\Application\