Use WebDriver para automatizar Microsoft Edge
WebDriver permite a los desarrolladores automatizar Microsoft Edge mediante la simulación de la interacción del usuario. Las pruebas y simulaciones de WebDriver difieren de las pruebas unitarias de JavaScript de las siguientes maneras:
- WebDriver tiene acceso a la funcionalidad y a la información que no está disponible para JavaScript que se ejecuta en exploradores.
- WebDriver simula eventos de usuario o eventos de nivel de sistema operativo con mayor precisión que las pruebas unitarias de JavaScript.
- WebDriver administra varias ventanas, pestañas y páginas web en una sola sesión de prueba.
- WebDriver ejecuta varias sesiones de Microsoft Edge en un equipo específico.
Relación entre WebDriver y otro software
Para automatizar Microsoft Edge webDriver para simular la interacción del usuario, necesita tres componentes:
- Microsoft Edge.
- Microsoft Edge controlador.
- Un marco de pruebas de WebDriver.
La relación funcional entre estos componentes es la siguiente:
| Tecnología | Rol |
|---|---|
| WebDriver | Un estándar W3C para un protocolo de cable de plataforma e idioma neutro. Este protocolo permite que los programas fuera de proceso indiquen de forma remota el comportamiento de los exploradores web. |
| Microsoft Edge Driver | Implementación de Microsoft del protocolo WebDriver específicamente para Microsoft Edge. Los autores de pruebas escriben pruebas que usan comandos de WebDriver que Microsoft Edge driver recibe. Microsoft Edge driver es responsable de comunicar ese comando al explorador. |
| Un marco de pruebas de WebDriver | Los autores de pruebas usan un marco de pruebas para escribir pruebas de extremo a extremo y automatizar exploradores. Proporciona una interfaz específica del idioma que traduce el código en comandos que Microsoft Edge driver se ejecuta en Microsoft Edge. Los marcos de prueba de WebDriver existen para todas las plataformas e idiomas principales. Uno de estos marcos es Selenio. |
| Controlador de Internet Explorer | Una implementación del protocolo WebDriver específicamente para Internet Explorer. Para ejecutar pruebas de un extremo a otro heredadas para Internet Explorer, se recomienda usar el controlador de Internet Explorer. |
En las secciones siguientes se describe cómo empezar a usar WebDriver para Microsoft Edge.
Descargar Microsoft Edge Driver
Para empezar a automatizar las pruebas, asegúrese de que la versión de WebDriver que instale coincida con la versión del explorador, de la siguiente manera:
Vaya a
edge://settings/helpy anote su versión de Microsoft Edge.Vaya a Microsoft Edge driver.
En la sección Obtener la versión más reciente de la página, haga clic en una plataforma en el canal que coincida con el número de versión de Microsoft Edge.
Elegir un marco de pruebas de WebDriver
Después de descargar Microsoft Edge driver, el último componente que debe descargar es un marco de pruebas de WebDriver. Los autores de pruebas usan marcos de prueba de WebDriver para escribir pruebas de un extremo a otro y automatizar exploradores. El marco proporciona una interfaz específica del idioma que convierte el código (como Python, Java, C#, Ruby o JavaScript) en comandos que Microsoft Edge Driver se ejecuta en Microsoft Edge. Los marcos de prueba de WebDriver existen para todas las plataformas e idiomas principales.
En este artículo se proporcionan instrucciones para usar el marco selenio, pero puede usar cualquier biblioteca, marco y lenguaje de programación compatible con WebDriver. Para realizar las mismas tareas con un marco de pruebas de WebDriver distinto de Selenio, consulte la documentación oficial para su marco de elección.
Si estás usando Selenio, el equipo Microsoft Edge recomienda Selenio 4 o posterior, ya que esa versión de Selenio admite Microsoft Edge. Sin embargo, puedes controlar Microsoft Edge todas las versiones anteriores de Selenio, incluido Selenio 3.
Uso de Selenio 4
El marco de pruebas de Selenium WebDriver se puede usar en cualquier plataforma y está disponible para Java, Python, C#, Ruby y JavaScript.
Selenium 4 tiene compatibilidad integrada para Microsoft Edge. Para instalar Selenium 4, vea Installing Selenium libraries.
Si usa Selenio 4, no necesita usar Herramientas de Selenio para Microsoft Edge. Las herramientas de selenio Microsoft Edge son solo para Selenium 3. Si intenta usar Selenium 4 con Selenium Tools para Microsoft Edge e intenta crear una nueva instancia, se EdgeDriver produce el siguiente error: System.MissingMethodException: 'Method not found: 'OpenQA.Selenium.Remote.DesiredCapabilities OpenQA.Selenium.DriverOptions.GenerateDesiredCapabilities(Boolean)' .
Si usa Selenio 4 y obtiene este error, quite del proyecto y asegúrese de que está usando el oficial y las clases del Microsoft.Edge.SeleniumTools EdgeOptions espacio de EdgeDriver OpenQA.Selenium.Edge nombres.
Uso de Selenio 3
Si ya usa Selenium 3,es posible que tenga pruebas de explorador existentes y desee agregar cobertura para Microsoft Edge sin cambiar su versión de Selenio. Para usar Selenio 3 para escribir pruebas automatizadas tanto para EdgeHTML heredado como para Microsoft Edge, instale el paquete Selenium Tools for Microsoft Edge para usar el controlador actualizado. Las clases y incluidas en las herramientas son totalmente compatibles con EdgeDriver EdgeDriverService los equivalentes integrados en Selenio 4.
Si usa Selenio 3, siga estos pasos para agregar las Herramientas de Selenio para Microsoft Edge y Selenio 3 al proyecto.
Agregue los paquetes Microsoft.Edge.SeleniumTools y Selenium.WebDriver al proyecto de .NuGet NET con la CLI o Visual Studio .
Automatizar Microsoft Edge con WebDriver
Para automatizar un explorador con WebDriver, primero debe iniciar una sesión de WebDriver con el marco de prueba de WebDriver preferido. Una sesión es una única instancia en ejecución de un explorador controlado mediante comandos de WebDriver. Inicie una sesión de WebDriver para iniciar una nueva instancia del explorador. La instancia del explorador iniciada permanece abierta hasta que cierre la sesión de WebDriver.
El siguiente contenido le guiará a través del uso de Selenium para iniciar una sesión de WebDriver con Microsoft Edge. Puede ejecutar estos ejemplos con Selenio 3 o 4. Para usar WebDriver con Selenium 3, se debe instalar el paquete selenio Tools for Microsoft Edge package.
Nota
En este artículo se proporcionan instrucciones para usar el marco selenio, pero puede usar cualquier biblioteca, marco y lenguaje de programación compatible con WebDriver. Para realizar las mismas tareas con otro marco, consulte la documentación del marco de su elección.
Automatizar Microsoft Edge
Selenium usa la EdgeDriver clase para administrar una Microsoft Edge sesión. Para iniciar una sesión y automatizar Microsoft Edge, cree un nuevo objeto y pásenlo un objeto con EdgeDriver la propiedad establecida en EdgeOptions UseChromium true .
var options = new EdgeOptions();
options.UseChromium = true;
var driver = new EdgeDriver(options);
Nota
Si el administrador de TI ha establecido la directiva DeveloperToolsAvailability en , Microsoft Edge Driver no puede conducir Microsoft Edge, ya que el controlador usa el Microsoft Edge 2 DevTools. Asegúrese de que la directiva DeveloperToolsAvailability está establecida en 0 o para automatizar 1 Microsoft Edge.
Elegir archivos binarios de explorador específicos (solo Chromium explorador)
Puede iniciar una sesión de WebDriver con archivos binarios Microsoft Edge específicos. Por ejemplo, puede ejecutar pruebas con los canales Microsoft Edge vista previa, como Microsoft Edge Beta.
var options = new EdgeOptions();
options.UseChromium = true;
options.BinaryLocation = @"C:\Program Files (x86)\Microsoft\Edge Beta\Application\msedge.exe";
var driver = new EdgeDriver(options);
Personalizar el servicio Microsoft Edge controladores
Cuando se usa la clase para crear una instancia de clase, se crea e inicia la clase adecuada para EdgeHTML heredado o Microsoft Edge EdgeOptions EdgeDriver EdgeDriverService (Chromium).
Si desea crear un EdgeDriverService , use el método para crear uno configurado para CreateChromiumService() Microsoft Edge. El CreateChromiumService() método es útil cuando necesita agregar personalizaciones. Por ejemplo, el siguiente código inicia una salida de registro detallada:
using (var service = EdgeDriverService.CreateChromiumService())
{
service.UseVerboseLogging = true;
var driver = new EdgeDriver(service);
}
Nota
No es necesario proporcionar el objeto EdgeOptions al pasar a la EdgeDriverService EdgeDriver instancia. La clase usa las opciones predeterminadas para EdgeHTML heredado o Microsoft Edge EdgeDriver (Chromium), en función del servicio que proporcione.
Sin embargo, si desea proporcionar las clases y ambos, asegúrese de que ambos están configurados para EdgeDriverService la misma versión de EdgeOptions Microsoft Edge. Por ejemplo, supongamos que usa una clase EdgeHTML heredada predeterminada, pero usa Microsoft Edge EdgeDriverService (Chromium) en la EdgeOptions clase. La EdgeDriver clase produciría un error para evitar el uso de diferentes versiones de Microsoft Edge.
Usar Chromium-Specific opciones
Si establece la propiedad en , puede usar la clase para tener acceso a las mismas propiedades y métodos específicos de Chromium que se usan al automatizar otros exploradores Chromium UseChromium true EdgeOptions web.
var options = new EdgeOptions();
options.UseChromium = true;
options.AddArgument("headless");
options.AddArgument("disable-gpu");
Nota
Si la propiedad está establecida en , no puede usar propiedades y métodos UseChromium true para Microsoft Edge (EdgeHTML).
Otras opciones de instalación de WebDriver
Docker
Si usa Docker,ejecute el siguiente comando para descargar una imagen preconfigurada con Microsoft Edge y Microsoft Edge controlador preinstalado.
docker run -d -p 9515:9515 mcr.microsoft.com/msedge/msedgedriver
Para obtener más información, consulte el contenedor msedgedriver en Docker Hub.
Protección de aplicaciones
Los sitios de confianza que usan Protección de aplicaciones de Microsoft Defender (Protección de aplicaciones) se pueden automatizar con Microsoft Edge controlador.
Los sitios que no son de confianza que usan Application Guard no se pueden automatizar ni manipular con Microsoft Edge controlador. Application Guard inicia sitios que no son de confianza en un contenedor y este contenedor no expone el puerto de depuración remota que Microsoft Edge Driver debe comunicarse con el sitio.
El administrador de la empresa define los sitios de confianza, incluidos los recursos en la nube y las redes internas. Los sitios que no están en la lista de sitios de confianza se consideran no confiables. Microsoft Edge driver puede automatizar las ventanas de InPrivate y los sitios de la lista de sitios de confianza.
Para obtener más información acerca de Application Guard, vea:
- Microsoft Edge compatibilidad con Protección de aplicaciones de Microsoft Defender.
- Protección de aplicaciones de Microsoft Defender introducción.
No participar en la recopilación de datos de diagnóstico
De forma predeterminada, Microsoft Edge Driver envía a Microsoft datos de diagnóstico, como el estado del comando New Session WebDriver. Para desactivar la recopilación de datos de diagnóstico de Microsoft Edge Driver, establezca la variable de entorno MSEDGEDRIVER_TELEMETRY_OPTOUT en 1. Para obtener más información acerca de los datos que Microsoft Edge Driver recopila, consulte el Microsoft Edge Privacy Whitepaper.
Consulte también
- Documentación de Selenio: información sobre WebDriver en el contexto de Selenio y cómo escribir pruebas automatizadas de WebDriver con Selenio.
- Póngase en contacto con el Microsoft Edge de DevTools para enviar comentarios sobre el uso de WebDriver, los marcos de prueba de WebDriver (como Selenium) y Microsoft Edge.