Cómo usar AutoIT con Selenium Webdriver: Ejemplo de carga de archivos

Tabla de contenido:

Anonim

¿Qué es AutoIt?

AutoIt es un lenguaje de secuencias de comandos gratuito diseñado para automatizar la GUI de Windows y las secuencias de comandos generales. Utiliza una combinación de movimiento del mouse, pulsaciones de teclas y manipulación de controles de ventana para automatizar una tarea que no es posible con selenium webdriver.

En este tutorial de AutoIt, aprenderá:

  • ¿Por qué utilizar AutoIt?
  • Cómo descargar e instalar AutoIT
  • Encontrar el elemento a través del identificador de elemento y escribir un script en el editor AutoIT.
  • Cargar archivo de AutoIT en Selenium Webdriver

¿Por qué utilizar AutoIt?

Selenium es una herramienta de código abierto que está diseñada para automatizar aplicaciones basadas en web en diferentes navegadores, pero para manejar GUI de ventana y ventanas emergentes no HTML en la aplicación. Se requiere AutoIt en Selenium, ya que Selenium no gestiona estas actividades basadas en ventanas.

Avanzando en este tutorial de AutoIt, aprenderemos cómo cargar un archivo en el controlador web de selenium usando AutoIt. Aquí necesitamos tres herramientas para esto.

  • Webdriver de selenio
  • Editor AutoIT e identificador de elementos
  • La ventana que desea automatizar

Cómo descargar e instalar AutoIT

Paso 1) : Vaya a este enlace.

Paso 2) : coloque el cursor sobre el menú desplegable 'Autoit' y 'Autoit Editor'.

Paso 3) Haga clic en la opción Descargas 'AutoIT'.

Paso 4) : Descargue "Autoit" haciendo clic en el botón "Descargar Autoit".

Paso 5) : Ahora descargue "Autoit editor" haciendo clic en el botón 'Descargas'.

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

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

Paso 6) : Para instalar AutoIT, haga clic en ambas configuraciones de AutoIT una por una.

Paso 7) : Después de la instalación exitosa, abra AutoIT Editor.

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

y haga clic en el archivo 'SciTE.exe', el editor AutoIT se abre como se muestra en la siguiente pantalla.

Paso 8) : ahora abre el identificador del elemento.

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

Y haga clic en el archivo 'Au3Info.exe', el identificador del elemento se abre como se muestra en la siguiente pantalla.

Nota: Una vez que haya terminado con este identificador de elemento, debe cerrar manualmente, no se cerrará automáticamente.

Encontrar el elemento a través del identificador de elemento y escribir un script en el editor AutoIT.

Debajo de esto, veremos cómo usar el editor AutoIt y cómo encontrar el elemento en la ventana del cargador de archivos a través del Identificador de elemento de AutoIT (el identificador de elemento es una herramienta como el IDE de selenio, el identificador encuentra el elemento de la GUI de la ventana o ventanas emergentes no HTML y proporciona el atributo de elemento como título , clase , instancia ) y cómo escribir un script en el editor AutoIT usando 3 métodos.

Por ejemplo: utilizaremos la página "Escríbanos" de guru99 para cargar el currículum (archivo Doc).

Después de hacer clic en el botón 'Elegir archivo' de la página "Escríbanos", debemos llamar al script AutoIT. El control se transfirió inmediatamente a autoit después de hacer clic en 'Elegir archivo' mediante la siguiente declaración que se encarga de cargar la parte.

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

Finalmente, cuando ejecutemos el script de selenium, llenará el formulario-> cargar currículum-> Enviar formulario.

Paso 1) : Ahora abra el identificador del elemento: vaya a 'C: \ Archivos de programa (x86) \ AutoIt3' y haga clic en el archivo 'Au3Info.exe', la ventana del identificador del elemento se abre como se muestra en la siguiente pantalla.

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

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

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

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

Empiece a escribir una secuencia de comandos para seleccionar un archivo para cargar.

Hay muchos métodos disponibles que podemos usar en un script de acuerdo con el requisito, pero ahora nos centraremos en los métodos siguientes, ya que estos métodos son necesarios para escribir un script de carga de archivos:

  1. ControlFocus ("título", "texto", controlID) // Establece el foco de entrada a un control dado en una ventana.
  2. ControlSetText ("título", "texto", controlID, "Ruta del archivo que debe cargarse") // Establece el texto de un control.
  3. ControlClick ("título", "texto", controlID) // Envía un comando de clic del mouse a un control dado.

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

Aquí, en el editor AutoIT, hemos seleccionado el método de "control de foco" . El identificador de 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 de elemento para los métodos 'ControlFocus' y 'ControlSetText' ya que estos métodos funcionan en el mismo elemento, es decir, el cuadro de texto 'Nombre de archivo', pero para el método 'ControlClick' es necesario capturar valores de elemento diferente, es decir, 'Abrir' botón.

Valores de parámetro para el método ControlFocus :

Este método establece el foco en el cuadro de texto 'nombre de archivo' de la ventana del cargador de archivos.

  • El título del primer parámetro es "Abierto".
  • Ignoramos el segundo parámetro, el texto no es obligatorio.
  • El tercer parámetro controlID es la combinación de class = 'Edit' e Instance = '1' es decir ,. 'Editar1.'
    ControlFocus ("Abrir", "", "Edit1") // Este método establece el foco de entrada en el cuadro de texto 'Nombre de archivo'. 

Valores de parámetro para el método ControlSetText :

Este método se utiliza para definir la ruta de un archivo que necesitamos cargar en el cuadro de texto 'nombre de archivo'. De otra manera, podemos decir que este método se usa para establecer el texto en el elemento de entrada.

  • El título del primer parámetro es "Abierto".
  • Ignoramos el segundo parámetro, el texto no es obligatorio.
  • El tercer parámetro controlID 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 cargar.
    ControlSetText ("Open", "", "Edit1", "E: \ Resume \ resume.doc") // Este método ingresa la ruta del archivo de un control. 

Después de seguir el paso anterior, no cierre las ventanas (editor e identificador de elemento), déjelas abiertas. De nuevo, debe abrir la ventana del cargador de archivos para encontrar los atributos del botón 'Abrir' como se muestra en el paso 5 a continuación.

Paso 5) : Ahora arrastre la herramienta de búsqueda en el elemento del botón "Abrir" de la ventana del cargador de archivos para encontrar la información básica del atributo.

Los valores anteriores (es decir, los atributos del cuadro de texto 'Nombre de archivo') se sobrescriben con los nuevos valores del botón 'Abrir'. Puede ver que el atributo de la clase ahora se cambia a "botón" que anteriormente se "editar" en la ventana del identificador de elementos de AutoIT.

Podemos obtener el valor de los atributos, es decir, título = 'Abrir' , clase = 'Botón' e instancia = '1' como se muestra a continuación. Estos valores se utilizan para escribir el script Autoit como se explica a continuación.

Valores de parámetro para el método ControlClick :

Este método hace clic en el botón 'Abrir' de la ventana del cargador de archivos.

  • El título del primer parámetro es "Abierto".
  • Ignoramos el segundo parámetro; el texto no es obligatorio.
  • El tercer parámetro controlID es la combinación de clase e instancia, es decir, "Button1".
ControlClick ("Abrir", "", "Botón1") // Este método, haga clic en el botón 'Abrir' del cargador de archivos.

Paso 6) : Puede ver en la siguiente pantalla que el script AutoIT está completo para manejar el cargador de archivos. Ahora puede cerrar el identificador del elemento y guardar el script como "FileUpload" en la ubicación dada (E: \ AutoIT).

Ahora no puede ejecutar este script directamente, necesita compilar este script.

Para compilar este script, tiene dos opciones " compilar script x64 " y " compilar script x86 ", si tiene una máquina con Windows de 32 bits, elija " compilar script x86" y, para la máquina con Windows de 64 bits, elija " compilar script x64 ".

Paso 7): archivo 'FileUpload exe' generado después de la compilación, puede verlo en la siguiente pantalla. Ahora podemos usar este archivo en el script Selenium webdriver.

Ahora usaremos este script AutoIT en el controlador web Selenium. Compruebe a continuación la salida.

Cargar archivo de AutoIT en Selenium Webdriver

En el script de Selenium, 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 a partir del script de AutoIT y luego permitimos enviar el formulario en el script de Selenium AutoIt.

  • Abra Eclipse y comience a escribir código.
  • Cuando selenium hace clic en el botón Seleccionar archivo, se abre el cuadro del cargador de archivos.
  • Luego, debemos llamar al script AutoIT, el control se transfirió inmediatamente a AutoIT para cargar un archivo y luego enviar el control al selenio como se muestra a continuación.

Paso 1) : Desarrolle un script de selenio en eclipse.

  • La clase de tiempo de ejecución 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 con este proceso.
  • Los métodos exec () ejecutan el script AutoIT (FileUpload.exe).
Runtime.getRuntime (). Exec ("E: \\ AutoIT \\ FileUpload.exe");

La línea anterior llamará al script AutoIT en selenium y cargará el archivo.

Paso 2) : Ejecute el script de Selenium en Eclipse.

importjava.io.IOException;import org.openqa.selenium.By;importar org.openqa.selenium.WebDriver;importar org.openqa.selenium.firefox.FirefoxDriver;FileUpload de clase pública {public static void main (String [] args) lanza IOException {Controlador WebDriver = nuevo FirefoxDriver ();driver.get ("http://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 (" Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verla.");driver.findElement (By.id ("input_4")). click ();// debajo de la línea ejecuta el script AutoIT.Runtime.getRuntime (). Exec ("E: \\ AutoIT \\ FileUpload.exe");driver.findElement (By.id ("input_6")). sendKeys ("AutoIT en Selenium");driver.findElement (By.id ("input_2")). click ();driver.close ();}}

Paso 3) : Verifique la salida, el archivo resume.doc se cargó correctamente y se mostrará un mensaje de agradecimiento.

Conclusión:

  • Identificador de elemento descargado e instalado y editor AutoIT.
  • Abrió el sitio en el que realizar la operación.
  • Identificador de elemento identifica los elementos de la ventana del cargador de archivos.
  • Se preparó el script AutoIT en el editor con la ayuda del identificador de elemento.
  • La secuencia de comandos Autoit se utiliza en la secuencia de comandos selenium webdriver.
  • Ejecutó el script de selenio.
  • Resultado: subió correctamente el archivo.

Este artículo es una contribución de Gaurav Nigam