AutoIT em Selenium Tutorial: Como usar?

O que รฉ o AutoIt Selenium?

AutoIt รฉ uma linguagem de script freeware projetada para automatizar a GUI do Windows e scripts gerais. Ele usa uma combinaรงรฃo de movimento do mouse, pressionamentos de teclas e manipulaรงรฃo de controle de janela para automatizar uma tarefa que nรฃo รฉ possรญvel pelo Selenium webdriver.

Como baixar e instalar o AutoIT

Passo 1): Vรก para isso link.

Passo 2): Passe o mouse sobre o menu suspenso 'Autoit' e 'Autoit Editor'.

Baixe e instale o AutoIT

Passo 3) Clique na opรงรฃo de downloads 'AutoIT'.

Baixe e instale o AutoIT

Passo 4): Baixe โ€œAutoitโ€ clicando no botรฃo 'Baixar Autoit'.

Baixe e instale o AutoIT

Passo 5): Agora baixe o โ€œEditor Autoitโ€ clicando no botรฃo 'Downloads'.

Baixe e instale o AutoIT

Passo 6) Clique no link conforme mostrado abaixo.

Baixe e instale o AutoIT

Apรณs o download, vocรช obterรก dois arquivos de configuraรงรฃo conforme mostrado na tela abaixo, o primeiro รฉ AutoIt versรฃo 3 configuraรงรฃo e o segundo รฉ Scitautoit3 .

Baixe e instale o AutoIT

Passo 7): Para instalar o AutoIT, clique em ambas as configuraรงรตes do AutoIT, uma por uma.

Passo 8): Apรณs a instalaรงรฃo bem-sucedida โ€“ abra o AutoIT Editor.

Vรก para 'C:\Arquivos de Programas (x86)\AutoIt3\SciTE'

Baixe e instale o AutoIT

e clique no arquivo 'SciTE.exe', o editor AutoIT abre conforme mostrado na tela abaixo.

Baixe e instale o AutoIT

Passo 9) : Agora abre o identificador do elemento.

Vรก para 'C:\Arquivos de Programas (x86)\AutoIt3'

Baixe e instale o AutoIT

E clique no arquivo 'Au3Info.exe', o identificador do elemento รฉ aberto conforme mostrado na tela abaixo.

Baixe e instale o AutoIT

Observaรงรฃo: Depois de concluir este identificador de elemento, vocรช precisa fechรก-lo manualmente, ele nรฃo serรก fechado automaticamente.

Como usar o AutoIT em Selenium

Abaixo disso, veremos como usar o editor AutoIt e como encontrar o elemento na janela do uploader de arquivo atravรฉs do AutoIT Element Identifier (o identificador do elemento รฉ uma ferramenta como o Selenium IDE, o identificador encontra o elemento da GUI da janela ou pop-ups nรฃo HTML e fornece o atributo de elemento como tรญtulo, classe, instรขncia ) e como escrever script no editor AutoIT usando 3 mรฉtodos.

Por exemplo: Usaremos a pรกgina โ€œEscreva para nรณsโ€ do guru99 para enviar o currรญculo (arquivo Doc).

Apรณs clicar no botรฃo 'Escolher arquivo' na pรกgina โ€œEscreva para nรณsโ€, precisamos chamar o script AutoIT. O controle foi imediatamente transferido para o autoit apรณs clicar em 'Escolher arquivo' pela instruรงรฃo abaixo que cuida do upload da parte.

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

Finalmente, quando executarmos o script Selenium, ele preencherรก o formulรกrio-> carregar currรญculo-> Enviar formulรกrio.

Usar AutoIT em Selenium

Passo 1): Agora abra o identificador do elemento - Vรก para 'C:\Program Files (x86)\AutoIt3' e clique no arquivo 'Au3Info.exe', a janela do identificador do elemento abre conforme mostrado na tela abaixo.

Usar AutoIT em Selenium

Passo 2): Agora abra a janela do uploader de arquivo clicando em 'Escolher arquivo', que รฉ a atividade do Windows.

Usar AutoIT em Selenium

Passo 3): Arraste a ferramenta de localizaรงรฃo no elemento da caixa โ€œNome do arquivoโ€ da janela do uploader de arquivo para encontrar as informaรงรตes bรกsicas dos atributos, conforme mostrado na tela abaixo com a seta.

Usar AutoIT em Selenium

Podemos obter o valor dos atributos, ou seja tรญtulo='Abrir', classe='Editar' e instรขncia='1โ€ฒ como mostrado abaixo. Esses valores sรฃo usados โ€‹โ€‹na escrita do exemplo de script do AutoIT, conforme explicado na etapa 4 abaixo.

Usar AutoIT em Selenium

Passo 4): Agora abra o editor de script AutoIT, vรก para 'C:\Program Files (x86)\AutoIt3\SciTE' e clique em 'SciTE.exe' conforme mostrado na etapa 7 do 1st tรณpico.

Comece a escrever um script para selecionar um arquivo para upload.

Existem muitos mรฉtodos disponรญveis que podemos usar em um script de acordo com os requisitos, mas agora vamos nos concentrar nos mรฉtodos abaixo, pois esses mรฉtodos sรฃo necessรกrios para escrever o script de upload de arquivo:

  1. ControleFoco(โ€œtรญtuloโ€, โ€œtextoโ€, controlID) //Define o foco de entrada para um determinado controle em uma janela.
  2. ControlSetText(โ€œtรญtuloโ€, โ€œtextoโ€, controlID, โ€œCaminho do arquivo que precisa ser carregadoโ€) // Define o texto de um controle.
  3. ControlClick(โ€œtรญtuloโ€, โ€œtextoโ€, controlID) //Envia um comando de clique do mouse para um determinado controle.

Vocรช pode ver vรกrios mรฉtodos exibidos conforme mostrado na tela abaixo. A boa caracterรญstica do AutoIT รฉ que ele รฉ parecido com Eclipse isso sugere alguns dos mรฉtodos.

Usar AutoIT em Selenium

Aqui no editor AutoIT, selecionamos โ€œcontrole o focoโ€ mรฉtodo. O identificador do elemento jรก estรก aberto e minimizado, pois o elemento jรก foi identificado na etapa 3 acima. Podemos abri-lo maximizando-o.

Agora, pegaremos os valores do identificador do elemento para os mรฉtodos 'ControlFocus' e 'ControlSetText', pois esses mรฉtodos funcionam no mesmo elemento, ou seja, caixa de texto 'Nome do arquivo', mas para o mรฉtodo 'ControlClick' รฉ necessรกrio capturar valores de elementos diferentes, ou seja, 'Abrir' botรฃo.

Valores de parรขmetros para ControleFoco mรฉtodo:

Este mรฉtodo define o foco para a caixa de texto 'nome do arquivo' da janela do uploader de arquivo.

  • 1ยบ parรขmetro tรญtulo estรก aberto ".
  • Ignoramos o segundo parรขmetro, o texto nรฃo รฉ necessรกrio.
  • 3ยบ parรขmetro ID de controle รฉ a combinaรงรฃo de class='Edit' e Instance='1โ€ฒ, ou seja, . 'Editar1.'
    ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.

Usar AutoIT em Selenium

Valores de parรขmetros para ControlSetText mรฉtodo:

Este mรฉtodo รฉ usado para definir o caminho de um arquivo que precisamos carregar na caixa de texto โ€˜nome do arquivoโ€™. De outra forma, podemos dizer que este mรฉtodo รฉ utilizado para definir o texto para o elemento de entrada.

  • 1ยบ parรขmetro tรญtulo estรก aberto ".
  • Ignoramos o segundo parรขmetro, o texto nรฃo รฉ necessรกrio.
  • 3ยบ parรขmetro ID de controle รฉ a combinaรงรฃo de class='Edit' e Instance='1โ€ฒ ou seja, โ€Edit1โ€.
  • 4ยบ parรขmetro novo texto, passamos o caminho do arquivo que precisamos enviar.
    ControlSetText("Open","","Edit1","E:\Resume\resume.doc") // This method input file path of a control.

Usar AutoIT em Selenium

Apรณs seguir o passo acima, nรฃo feche as janelas (editor e identificador do elemento), mantenha-as abertas. Vocรช precisa abrir novamente a janela do upload de arquivo para encontrar os atributos do botรฃo 'Abrir', conforme mostrado na etapa 5 abaixo.

Passo 5): Agora arraste a ferramenta de localizaรงรฃo no elemento do botรฃo โ€œAbrirโ€ da janela do uploader de arquivo para encontrar as informaรงรตes bรกsicas do atributo.

Os valores anteriores (ou seja, atributos da caixa de texto 'Nome do arquivo') sรฃo substituรญdos pelos novos valores do botรฃo 'Abrir'. Vocรช pode ver que o atributo de classe agora foi alterado para โ€œbotรฃoโ€ que anteriormente era โ€œeditarโ€ na janela do identificador de elemento AutoIT.

Usar AutoIT em Selenium

Podemos obter o valor dos atributos, ou seja tรญtulo='Abrir', classe='Botรฃo' e instรขncia='1โ€ฒ como mostrado abaixo. Esses valores sรฃo usados โ€‹โ€‹โ€‹โ€‹para escrever o script Autoit conforme explicado abaixo.

Usar AutoIT em Selenium

Valores de parรขmetros para ControlClick mรฉtodo:

Este mรฉtodo clica no botรฃo 'Abrir' da janela do upload do arquivo.

  • 1ยบ parรขmetro tรญtulo estรก aberto ".
  • Ignoramos o segundo parรขmetro; o texto nรฃo รฉ necessรกrio.
  • 3ยบ parรขmetro ID de controle รฉ a combinaรงรฃo de classe e instรขncia, ou seja, โ€œBotรฃo1โ€.
ControlClick("Open","","Button1") //This method click on 'Open' button of file uploader.

Usar AutoIT em Selenium

Passo 6): Vocรช pode ver na tela abaixo que o script AutoIT estรก concluรญdo para lidar com o uploader de arquivo. Agora vocรช pode fechar o identificador do elemento e salvar o script como โ€œFileUploadโ€ no local fornecido ( E:\AutoIT ).

Usar AutoIT em Selenium

Agora vocรช nรฃo pode executar este script diretamente, vocรช precisa compilar este script.

Para compilar este script, vocรช tem duas opรงรตesโ€ compilar script x64 " e " compilar script x86 โ€œ, se vocรช tiver uma mรกquina com Windows de 32 bits, escolhaโ€ compilar script x86โ€ e para mรกquinas Windows de 64 bits, entรฃo vocรช escolhe โ€ compilar script x64 . "

Usar AutoIT em Selenium

Etapa 7): โ€˜FileUpload exeโ€™ arquivo gerado apรณs a compilaรงรฃo, vocรช pode ver na tela abaixo. Agora podemos usar este arquivo em Selenium script do webdriver.

Usar AutoIT em Selenium

Agora usaremos este script AutoIT em Selenium motorista web. Verifique abaixo a saรญda.

Carregar arquivo em Selenium usando Autoit

In Selenium script, encontramos os elementos do formulรกrio e preenchemos os dados em cada elemento conforme necessรกrio e carregamos o arquivo 'resume.doc' executando o arquivo AutoIT exe gerado a partir do script AutoIT e entรฃo permitimos o envio do formulรกrio em Selenium Script AutoIt.

  • Abra Eclipse e comece a escrever cรณdigo.
  • Quando o Selenium clica no botรฃo Escolher arquivo, a caixa de upload do arquivo รฉ aberta.
  • Em seguida, precisamos chamar o script AutoIT, o controle imediatamente transferido para o AutoIT para fazer upload de um arquivo e depois enviar o controle de volta ao Selenium conforme mostrado abaixo.

Carregar arquivo em Selenium Usando o Autoit

Passo 1): Desenvolva o script Selenium no Eclipse.

  • Runtime classe permite que o script faรงa interface com o ambiente no qual o script estรก sendo executado.
  • getRuntime () obtenha o tempo de execuรงรฃo atual associado a este processo.
  • exec () mรฉtodos executam o script AutoIT (FileUpload.exe).
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

linha acima irรก ligar Script AutoIT em selรชnio e carregue o arquivo .

Carregar arquivo em Selenium Usando o Autoit

Passo 2) : Execute o Selenium script em 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();
     }
}

Passo 3): Verifique a saรญda, o arquivo resume.doc carregado com sucesso e uma mensagem de agradecimento serรก exibida.

Carregar arquivo em Selenium Usando o Autoit

Por que usar o AutoIt?

Selenium รฉ uma ferramenta de cรณdigo aberto projetada para automatizar aplicativos baseados na Web em diferentes navegadores, mas para lidar com GUI de janela e pop-ups nรฃo HTML no aplicativo. AutoIt em Selenium รฉ necessรกrio porque essas atividades baseadas em janelas nรฃo sรฃo tratadas por Selenium.

Usar AutoIt

Seguindo em frente neste tutorial do AutoIt, aprenderemos como fazer upload de um arquivo no driver da web Selenium usando o AutoIt. Aqui precisamos de trรชs ferramentas para isso.

  • Selenium Driver da Web
  • Editor AutoIT e identificador de elemento
  • A janela que vocรช deseja automatizar

Conclusรฃo

  • Baixei e instalei o Element Identifier e o editor AutoIT.
  • Abriu o site para fazer a operaรงรฃo.
  • O Identificador de Elemento identifica os elementos da janela do uploader de arquivo.
  • Script AutoIT preparado no editor com a ajuda do identificador do elemento.
  • O script Autoit รฉ usado no script Selenium webdriver.
  • Executou o script selรชnio.
  • Saรญda: Carregou o arquivo com sucesso.

Resuma esta postagem com: