Share via


Uso del controlador de Internet Explorer para automatizar el modo IE en Microsoft Edge

Si tiene aplicaciones o sitios web heredados críticos para la empresa, es posible que tenga que probar el contenido en el modo Internet Explorer (IE) en Microsoft Edge. En este artículo se describe cómo empezar a trabajar con el controlador de Internet Explorer (IEDriver) para automatizar el modo IE en Microsoft Edge.

El modo IE en Microsoft Edge es una característica para las organizaciones que todavía necesitan Internet Explorer 11 para la compatibilidad con versiones anteriores para sitios web o aplicaciones heredados. Para obtener más información sobre el modo IE, lea ¿Qué es el modo Internet Explorer (IE)?

A partir del 15 de junio de 2022, Internet Explorer 11 ya no se admitirá en determinadas versiones de Windows 10. Para obtener más información, lea Preguntas más frecuentes sobre la retirada de aplicaciones de escritorio de Internet Explorer 11.

Descargar controlador de Internet Explorer (IEDriver)

Para empezar a automatizar las pruebas en modo IE en Microsoft Edge, descargue IEDriver. Asegúrese de que la versión de IEDriver que descargue sea 4.0.0.0 o mayor.

La sección IEDriver de la página Descargas de Selenium

Configuración necesaria

Para configurar IEDriver, Windows y Microsoft Edge correctamente, complete los requisitos para la configuración necesaria de Selenium.

Colocar el archivo ejecutable del controlador en la ruta de acceso

El ejecutable del controlador debe colocarse en la ruta de acceso; consulte Servidor de controladores de IE. La parte superior de esa página dice: "El ejecutable del servidor independiente debe descargarse de la página Descargas y colocarse en la ruta de acceso".

Si la ubicación del controlador no está incluida en la ruta de acceso, debe establecer la ubicación del controlador mediante la propiedad webdriver.ie.driver del sistema Java o de alguna otra manera.

Automatización del modo IE en Microsoft Edge

Las secciones siguientes le guiarán por el uso de Selenium para automatizar el modo IE en Microsoft Edge.

En este artículo se proporcionan instrucciones para usar el marco de Selenium, pero puede usar cualquier biblioteca, marco y lenguaje de programación que admita WebDriver. Para realizar las mismas tareas con otro marco, consulte la documentación del marco de trabajo que prefiera.

Para iniciar Microsoft Edge en modo IE con IEDriver:

  1. Defina InternetExplorerOptions con propiedades adicionales que apunten al explorador Microsoft Edge.

  2. Inicie una instancia de InternetExplorerDriver y pásela InternetExplorerOptions. IEDriver inicia Microsoft Edge y, a continuación, carga el contenido web en modo IE.

En la sección siguiente se muestra el ejemplo completo y, a continuación, las secciones posteriores se centran en cada uno de los pasos principales que se enumeran anteriormente.

Ejemplo completo

En el ejemplo siguiente se inicia Microsoft Edge en modo IE, se navega a bing.com y, a continuación, se busca "WebDriver".

using System;
using OpenQA.Selenium;
using OpenQA.Selenium.IE;

namespace IEDriverSample
{
    class Program
    {
        static void Main(string[] args)
        {
            var ieOptions = new InternetExplorerOptions();
            ieOptions.AttachToEdgeChrome = true;
            //change the path accordingly
            ieOptions.EdgeExecutablePath = "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe";

            var driver = new InternetExplorerDriver(ieOptions);
            driver.Url = "https://bing.com";
            driver.FindElement(By.Id("sb_form_q")).SendKeys("WebDriver");
            driver.FindElement(By.Id("sb_form")).Submit();

            driver.Quit();
        }
    }
}

En las secciones siguientes se explican los pasos de este ejemplo con más detalle.

Definición de InternetExplorerOptions con propiedades adicionales para Microsoft Edge

Defina InternetExplorerOptions con propiedades adicionales que apunten al explorador Microsoft Edge.

  1. Defina una nueva variable, ieOptions, llamando a InternetExplorerOptions().

  2. Establezca ieOptions.AttachToEdgeChrome la propiedad en truey ieOptions.EdgeExecutablePath en la ruta de acceso del archivo ejecutable de Microsoft Edge.

var ieOptions = new InternetExplorerOptions();
ieOptions.AttachToEdgeChrome = true;
//change the path accordingly
ieOptions.EdgeExecutablePath = "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe";

Iniciar IEDriver

Inicie IEDriver. IEDriver inicia Microsoft Edge y, a continuación, carga el contenido web en modo IE.

Inícielo InternetExplorerDriver y páselo el definido ieOptionsanteriormente. IEDriver inicia Microsoft Edge en modo IE. Toda la navegación por páginas y las interacciones posteriores se producen en modo IE.

var driver = new InternetExplorerDriver(ieOptions);

Limitaciones conocidas

En esta sección se tratan escenarios conocidos que anteriormente funcionaban con IEDriver y la aplicación de escritorio IE11, pero que requieren soluciones alternativas al usar IEDriver con Microsoft Edge en modo IE.

Apertura de nuevas ventanas

Si el código de prueba crea una nueva ventana del explorador con uno de los métodos siguientes, es posible que tenga que agregar una operación de espera breve después para asegurarse de que IEDriver ha detectado la nueva ventana:

  • Para abrir una nueva ventana, llame a window.open desde <script> en la página.
  • Abrir una nueva ventana mediante el comando Nueva ventana de WebDriver.

Para asegurarse de que la nueva ventana se ha creado correctamente e IEDriver la ha detectado, debe comprobar continuamente el resultado del comando Obtener identificadores de ventana hasta que contenga un identificador para la nueva ventana.

En el ejemplo siguiente se muestra una posible manera de esperar a que se detecten nuevos identificadores de ventana al abrir nuevas ventanas.

Después de llamar al Click método en un botón que abre una nueva ventana, el código de prueba debe esperar hasta driver.WindowHandles que contenga el nuevo identificador de ventana.

var initialHandleCount = driver.WindowHandles.Count;
driver.FindElement(By.Id("<Id of the button that will open a new window>")).Click();
var newHandles = driver.WindowHandles;
while (newHandles.Count == initialHandleCount)
{
    newHandles = driver.WindowHandles;
}

Creación y cambio entre pestañas

Si el código de prueba cambia entre varias pestañas de la misma ventana de Microsoft Edge, es posible que las pestañas que se inactivan no se incluyan en la lista de identificadores devueltos por Obtener identificadores de ventana. En la aplicación de escritorio de Internet Explorer 11, IEDriver devolverá identificadores para todas las pestañas de IE, independientemente del estado de activación.

Al usar Microsoft Edge en modo IE, si la prueba cambia el foco de una pestaña determinada y desea poder volver a esa pestaña más adelante, debe almacenar una copia del identificador de ventana de la pestaña.

Vea también