AutoIT en Selenium Tutorial: ¿Cómo usarlo?

⚡ Resumen inteligente

AutoIt en Selenium es un lenguaje de scripting gratuito que automatiza Windows Diálogos de GUI y ventanas emergentes nativas que Selenium WebDriver no puede controlar directamente, lo que lo convierte en la herramienta de referencia para la carga y descarga de archivos, así como para las solicitudes de autenticación.

  • 🤖 Propósito: AutoIt extiende Selenium mediante el manejo Windowscontroles basados ​​en HTML, diálogos nativos y ventanas emergentes que no son HTML a los que los localizadores de WebDriver no pueden acceder.
  • 🪟 Identificador del elemento: La herramienta Au3Info inspecciona los controles de ventana y expone los atributos de título, clase e instancia que se utilizan para programar interacciones fiables.
  • ⚙️ Métodos básicos: ControlFocus, ControlSetText y ControlClick forman el conjunto mínimo necesario para rellenar rutas y enviar cuadros de diálogo nativos de carga de archivos.
  • Integración: Se activa un archivo FileUpload.exe compilado desde Selenium con Runtime.getRuntime().exec(), pasando el control a AutoIt y de vuelta sin problemas.
  • 🧪 Uso práctico: El tutorial sube un currículum al GuruFormulario de demostración 99, que verifica el extremo a extremo Selenium más el flujo de automatización de AutoIt.

AutoIT en Selenium

¿Qué es AutoIt? Selenium?

AutoIt es un lenguaje de scripting gratuito diseñado para automatizar Windows Interfaz gráfica de usuario y scripting general. Utiliza una combinación de movimiento del ratón, pulsaciones de teclas y manipulación de controles de ventana para automatizar una tarea que no es posible mediante Selenium Controlador web.

Cómo descargar e instalar AutoIt

Paso 1) Ve a esto .

Paso 2) Coloca el cursor sobre el menú desplegable 'AutoIt' y 'AutoIt Editor'.

Descarga e instala AutoIt

Paso 3) Haz clic en la opción Descargas de 'AutoIt'.

Descarga e instala AutoIt

Paso 4) Descarga “AutoIt” haciendo clic en el botón 'Descargar AutoIt'.

Descarga e instala AutoIt

Paso 5) Ahora descarga “AutoIt editor” haciendo clic en el botón “Descargas”.

Descarga e instala AutoIt

Paso 6) Haga clic en el enlace como se muestra a continuación.

Descarga e instala AutoIt

Después de la descarga obtendrá dos archivos de configuración como se muestra en la pantalla a continuación, el primero es AutoIt versión 3 configuración y el segundo es scitaautoit3.

Descarga e instala AutoIt

Paso 7) Para instalar AutoIt, haga clic en ambas configuraciones de AutoIt una por una.

Paso 8) Tras una instalación correcta, abra el editor de AutoIt.

Vaya a 'C:\Archivos de programa (x86)\AutoIt3\SciTE'

Descarga e instala AutoIt

Haz clic en el archivo 'SciTE.exe' y se abrirá el editor AutoIt, como se muestra en la siguiente pantalla.

Descarga e instala AutoIt

Paso 9) Ahora abre el elemento Identificador.

Vaya a 'C:\Archivos de programa (x86)\AutoIt3'

Descarga e instala AutoIt

Haga clic en el archivo 'Au3Info.exe' y se abrirá el identificador del elemento, como se muestra en la siguiente pantalla.

Descarga e instala AutoIt

Nota: Una vez que haya terminado de usar este identificador de elemento, deberá cerrarlo manualmente; no se cerrará automáticamente.

Cómo usar AutoIt en Selenium

A continuación, veremos cómo usar el editor AutoIt y cómo encontrar un elemento en la ventana del cargador de archivos a través del identificador de elementos de AutoIt (el identificador de elementos es una herramienta como Selenium IDE; el identificador encuentra el elemento de la interfaz gráfica de usuario de la ventana o las ventanas emergentes que no son HTML y proporciona el atributo del elemento como título, clase, ejemplo) y cómo escribir un script en el editor AutoIt utilizando 3 métodos.

Por Ejemplo: Utilizaremos la página “Escríbanos” de Guru99 para subir un currículum (archivo .doc).

Tras hacer clic en el botón "Elegir archivo" de la página "Escríbenos", debemos llamar al script de AutoIt. El control se transfiere inmediatamente a AutoIt después de hacer clic en "Elegir archivo" mediante la siguiente instrucción, que se encarga de la carga del archivo.

Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

Finalmente, cuando ejecutamos el Selenium El script rellenará el formulario -> subirá el currículum -> enviará el formulario.

Utilice AutoIt en Selenium

Paso 1) Ahora abre el identificador de elementos. Ve a 'C:\Archivos de programa (x86)\AutoIt3' y haz clic en el archivo 'Au3Info.exe'. Se abrirá la ventana del identificador de elementos, como se muestra en la siguiente pantalla.

Utilice AutoIt en Selenium

Paso 2) Ahora abra la ventana del cargador de archivos haciendo clic en 'Elegir archivo', que es una Windows actividad.

Utilice AutoIt en Selenium

Paso 3) Arrastre la herramienta de búsqueda sobre el elemento del cuadro "Nombre de archivo" de la ventana de carga de archivos para encontrar la información de atributos básicos, como se muestra en la siguiente pantalla con la flecha.

Utilice AutoIt en Selenium

Podemos obtener el valor de los atributos, es decir, título = 'Abrir', clase = 'Editar' y instancia = '1' como se muestra a continuación. Estos valores se utilizan para escribir el ejemplo de script de AutoIt, como se explica en el paso 4.

Utilice AutoIt en Selenium

Paso 4) Ahora abra el editor de scripts de AutoIt, vaya a 'C:\Archivos de programa (x86)\AutoIt3\SciTE' y haga clic en 'SciTE.exe' como se muestra en el paso 7 del 1st tema.

Comience a escribir un script para seleccionar un archivo para cargar.

Existen muchos métodos disponibles que podemos utilizar en un script según los requisitos, pero ahora mismo nos centraremos en los siguientes métodos, ya que son necesarios para escribir el script de carga de archivos:

  1. ControlEnfoque("título", "texto", ID de control) //Establece el foco de entrada en un control determinado en una ventana.
  2. ControlEstablecerTexto("título", "texto", ID de control, "Ruta del archivo que debe cargarse") // Establece el texto de un control.
  3. ControlClic("título", "texto", ID de control) //Envía un comando de clic del mouse a un control determinado.

Puedes ver que se muestran varios métodos como se muestra en la pantalla siguiente. La buena característica de AutoIt es que es algo así como Eclipse Eso sugiere algunos de los métodos.

Utilice AutoIt en Selenium

Aquí en el editor de AutoIt, hemos seleccionado “controlar el enfoque” método. El identificador del elemento ya está abierto y minimizado ya que el elemento ya está identificado en el paso 3 anterior. Podemos abrirlo maximizándolo.

Ahora, tomaremos los valores del identificador del elemento para los métodos 'ControlFocus' y 'ControlSetText', ya que estos métodos funcionan sobre el mismo elemento, es decir, el cuadro de texto 'Nombre de archivo', pero para el método 'ControlClick' necesitamos capturar los valores de un elemento diferente, es decir, el botón 'Abrir'.

Valores de parámetros para ControlEnfoque método:

Este método centra la atención en el cuadro de texto "Nombre de archivo" de la ventana de carga de archivos.

  • 1er parámetro título Esta abierto ".
  • Ignoramos el segundo parámetro, el envíenos mensaje de texto no es requerido.
  • 3er parámetro ID de control es la combinación de class='Edit' e Instance='1', es decir, 'Edit1'.
    ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.

Utilice AutoIt en Selenium

Valores de parámetros para ControlEstablecerTexto método:

Este método se utiliza para definir la ruta del archivo que debemos subir en el cuadro de texto "Nombre de archivo". En otras palabras, este método se utiliza para establecer el texto en el elemento de entrada.

  • 1er parámetro título Esta abierto ".
  • Ignoramos el segundo parámetro, el envíenos mensaje de texto no es requerido.
  • 3er parámetro ID de control es la combinación de class='Edit' e Instance='1', es decir, ” Edit1 “.
  • 4to parámetro nuevo texto, pasamos la ruta del archivo que necesitamos subir.
    ControlSetText("Open","","Edit1","E:\Resume\resume.doc") // This method inputs file path of a control.

Utilice AutoIt en Selenium

Tras seguir el paso anterior, no cierre las ventanas (editor e identificador de elementos); manténgalas abiertas. Vuelva a abrir la ventana del cargador de archivos para encontrar los atributos del botón "Abrir", como se muestra en el paso 5.

Paso 5) Ahora, arrastre la herramienta de búsqueda sobre el elemento del botón "Abrir" de la ventana de carga de archivos para encontrar la información básica de los atributos.

Los valores anteriores (es decir, los atributos del cuadro de texto "Nombre de archivo") se sobrescriben con los nuevos valores del botón "Abrir". En la ventana de identificadores de elementos de AutoIt, se puede observar que el atributo de clase ahora cambia a "button", en lugar de "edit".

Utilice AutoIt en Selenium

Podemos obtener el valor de los atributos, es decir, título = 'Abrir', clase = 'Botón' y instancia = '1' como se muestra a continuación. Estos valores se utilizan para escribir scripts de AutoIt, como se explica más adelante.

Utilice AutoIt en Selenium

Valores de parámetros para ControlClic método:

Este método consiste en hacer clic en el botón "Abrir" de la ventana de carga de archivos.

  • 1er parámetro título Esta abierto ".
  • Ignoramos el segundo parámetro; el envíenos mensaje de texto no es requerido.
  • 3er parámetro ID de control es la combinación de clase e Instancia, es decir, “Botón1”.
ControlClick("Open","","Button1") //This method clicks on 'Open' button of file uploader.

Utilice AutoIt en Selenium

Paso 6) En la siguiente pantalla se puede ver que el script de AutoIt para gestionar la carga de archivos se ha completado. Ahora puede cerrar el identificador del elemento y guardar el script como "FileUpload" en la ubicación indicada (E:\AutoIT).

Utilice AutoIt en Selenium

Ahora no puedes ejecutar este script directamente; necesitas compilarlo.

Para compilar este script, tienes dos opciones:compilar script x64" y "compilar script x86“. Si tienes un Windows Máquina de 32 bits, entonces vaya con “compilar script x86” y para un Windows Máquina de 64 bits, elige “compilar script x64."

Utilice AutoIt en Selenium

Paso 7) 'Archivo ejecutable' El archivo se genera después de la compilación; puede verlo en la pantalla siguiente. Ahora podemos usar este archivo en el Selenium Script de WebDriver.

Utilice AutoIt en Selenium

Ahora utilizaremos este script de AutoIt en Selenium WebDriver. Consulte la salida a continuación.

Carga de archivos en Selenium Usando AutoIt

En un Selenium script, encontramos los elementos del formulario y completamos los datos en cada elemento según sea necesario y cargamos el archivo 'resume.doc' ejecutando el archivo exe de AutoIt generado desde el script de AutoIt, y luego permitimos enviar el formulario en el Selenium Guión AutoIt.

  • Abra Eclipse y empezar a escribir código.
  • Cuando Selenium Al hacer clic en el botón "Elegir archivo", se abre la ventana para cargar archivos.
  • Luego necesitamos llamar al script de AutoIt; el control se transfiere inmediatamente a AutoIt para cargar un archivo y luego el control se envía de vuelta a Selenium como se muestra a continuación.

Carga de archivos en Selenium Usando AutoIt

Paso 1) Desarrolla Selenium guión en Eclipse.

  • Runtime La clase permite que el script interactúe con el entorno en el que se ejecuta el script.
  • getRuntime () Obtiene el tiempo de ejecución actual asociado a este proceso.
  • exec () Este método ejecuta el script de AutoIt (FileUpload.exe).
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

La línea anterior llamará a la Script de AutoIt in Selenium y subir el archivo.

Carga de archivos en Selenium Usando AutoIt

Paso 2) Ejecute el Selenium guión en Eclipse.

importjava.io.IOException;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class FileUpload {
public static void main(String[] args) throws IOException {
    WebDriver driver=new FirefoxDriver();
    driver.get("https://demo.guru99.com/test/autoit.html");
    driver.findElement(By.id("postjob")).click();

    driver.findElement(By.id("input_3")).sendKeys("Gaurav");
    driver.findElement(By.id("id_4")).sendKeys("test.test@gmail.com");
    driver.findElement(By.id("input_4")).click();
    // below line execute the AutoIT script .
     Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");
    driver.findElement(By.id("input_6")).sendKeys("AutoIT in Selenium");
    driver.findElement(By.id("input_2")).click();
    driver.close();
     }
}

Paso 3) Verifique el resultado; el archivo resume.doc se ha cargado correctamente y se mostrará un mensaje de agradecimiento.

Carga de archivos en Selenium Usando AutoIt

¿Por qué utilizar AutoIt?

Selenium es una herramienta de código abierto diseñada para automatizar aplicaciones web en diferentes navegadores, pero para manejar la interfaz gráfica de usuario de la ventana y las ventanas emergentes que no son HTML en una aplicación, AutoIt en Selenium es necesario ya que estas actividades basadas en ventanas no son manejadas por Selenium.

Usar AutoIt

Continuando con este tutorial de AutoIt, aprenderemos cómo cargar un archivo en Selenium WebDriver usando AutoIt. Para ello, necesitamos tres herramientas.

  • Selenium Controlador web
  • Editor de AutoIt e identificador de elementos
  • La ventana que quieres automatizar

Preguntas Frecuentes

Selenium WebDriver solo controla los elementos del navegador. AutoIt maneja los elementos nativos. Windows cuadros de diálogo como cuadros de carga de archivos, avisos de descarga y ventanas de autenticación básica con las que WebDriver no puede interactuar directamente.

La herramienta Au3Info inspecciona cualquier elemento visible. Windows El control se encuentra bajo el cursor y devuelve su título, clase y valores de instancia. Estos atributos se utilizan directamente en las llamadas a ControlFocus, ControlSetText y ControlClick.

Sí. El código fuente .au3 debe compilarse a un archivo .exe utilizando la opción x86 o x64 que corresponda a su máquina. Selenium Luego llama al archivo FileUpload.exe compilado a través de Runtime.getRuntime().exec().

AutoIt es un Windows-única herramienta. Para macOS Para los cuadros de diálogo de archivos de Linux, utilice AppleScript, xdotool o sendKeys con la ruta del archivo directamente, ya que esos sistemas operativos no admiten ejecutables de AutoIt.

Herramientas impulsadas por IA como TestimFunctionize y Mabl utilizan visión artificial para reconocer diálogos nativos mediante su diseño visual y, a continuación, generan automáticamente la lógica de localización. Esto reduce la necesidad de scripts de AutoIt al manejar diálogos inestables o en constante evolución. Windows ventanas emergentes.

Sí. Los modelos de lenguaje grandes, como ChatGPT y Claude, pueden generar scripts de AutoIt a partir de indicaciones en inglés sencillo que describen el cuadro de diálogo de destino, los identificadores de control y la ruta de carga, que los evaluadores pueden luego refinar y compilar.

Resumir este post con: