AutoIT em Selenium Tutorial: Como usar?

⚡ Resumo Inteligente

AutoIt em Selenium é uma linguagem de script gratuita que automatiza Windows Diálogos de GUI e pop-ups nativos que Selenium O WebDriver não pode controlar diretamente, o que o torna a ferramenta auxiliar ideal para uploads de arquivos, downloads e solicitações de autenticação.

  • 🤖 Objetivo: AutoIt estende Selenium por meio de manuseio Windowscontroles baseados em HTML, diálogos nativos e pop-ups não HTML que os localizadores do WebDriver não conseguem alcançar.
  • 🪟 Identificador do elemento: A ferramenta Au3Info inspeciona os controles da janela e expõe os atributos de título, classe e instância usados ​​para criar scripts de interações confiáveis.
  • ⚙️ Métodos principais: ControlFocus, ControlSetText e ControlClick formam o conjunto mínimo necessário para preencher caminhos e enviar diálogos nativos de upload de arquivos.
  • ✅ Integração: Um arquivo FileUpload.exe compilado é acionado a partir de Selenium Com Runtime.getRuntime().exec(), o controle é passado para o AutoIt e vice-versa de forma transparente.
  • 🧪 Uso pratico: O passo a passo carrega um currículo no Guru99 formulários de demonstração, verificando o processo de ponta a ponta. Selenium mais o fluxo de automação do AutoIt.

AutoIT em Selenium

O que é o AutoIt Selenium?

AutoIt é uma linguagem de script gratuita projetada para automatizar Windows Interface gráfica do usuário (GUI) e programação em geral. Utiliza uma combinação de movimentos do mouse, pressionamentos de teclas e manipulação de controles de janela para automatizar uma tarefa que não seria possível manualmente. Selenium WebDriver.

Como baixar e instalar o AutoIt

Passo 1) Vá para isto link.

Passo 2) Passe o cursor sobre 'AutoIt' e o menu suspenso 'Editor AutoIt'.

Baixe e instale o AutoIt.

Passo 3) Clique na opção 'Downloads do AutoIt'.

Baixe e instale o AutoIt.

Passo 4) Faça o download do “AutoIt” clicando no botão “Baixar AutoIt”.

Baixe e instale o AutoIt.

Passo 5) Agora faça o download do “AutoIt editor” 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ê receberá dois arquivos de instalação, como 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 ambos os instaladores do AutoIt, um de cada vez.

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.

Ao clicar no arquivo 'SciTE.exe', o editor AutoIt será aberto, conforme mostrado na imagem abaixo.

Baixe e instale o AutoIt.

Passo 9) Agora abra o elemento Identificador.

Acesse 'C:\Program Files (x86)\AutoIt3'

Baixe e instale o AutoIt.

Ao clicar no arquivo 'Au3Info.exe', o identificador de elementos será aberto, conforme mostrado na tela abaixo.

Baixe e instale o AutoIt.

Observação: Após concluir o uso desse identificador de elemento, você precisa fechá-lo manualmente; ele não será fechado automaticamente.

Como usar o AutoIt em Selenium

Nesta seção, veremos como usar o editor AutoIt e como encontrar um elemento na janela de carregamento de arquivos por meio do Identificador de Elementos do AutoIt (o Identificador de Elementos é uma ferramenta semelhante a...). Selenium IDE; o identificador encontra o elemento da GUI da janela ou pop-ups não HTML e fornece o atributo do elemento, como título, classe, instância) e como escrever um script no editor AutoIt usando 3 métodos.

Por exemplo: Usaremos a página “Escreva para nós” de Guru99 para enviar um currículo (arquivo Doc).

Após clicar no botão "Escolher arquivo" na página "Fale conosco", precisamos chamar o script AutoIt. O controle é imediatamente transferido para o AutoIt após clicar em "Escolher arquivo" pela instrução abaixo, que cuida da parte do upload.

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

Finalmente, quando executamos o Selenium O script irá preencher o formulário -> fazer o upload do currículo -> enviar o formulário.

Use o AutoIt em Selenium

Passo 1) Agora abra o Identificador de Elementos. Vá para 'C:\Program Files (x86)\AutoIt3' e clique no arquivo 'Au3Info.exe'. A janela do identificador de elementos será aberta, como mostrado na imagem abaixo.

Use o AutoIt em Selenium

Passo 2) Agora abra a janela de carregamento de arquivos clicando em 'Escolher arquivo', que é um Windows atividade.

Use o AutoIt em Selenium

Passo 3) Arraste a ferramenta de busca para o campo "Nome do arquivo" na janela de carregamento de arquivos para encontrar as informações básicas de atributos, conforme mostrado na tela abaixo com a seta.

Use o AutoIt em Selenium

Podemos obter o valor dos atributos, ou seja, título='Abrir', classe='Editar' e instância='1′ Conforme mostrado abaixo. Esses valores são usados ​​na escrita do exemplo de script AutoIt, conforme explicado na etapa 4 abaixo.

Use o AutoIt em Selenium

Passo 4) Agora abra o editor de scripts AutoIt, vá para 'C:\Program Files (x86)\AutoIt3\SciTE' e clique em 'SciTE.exe', como mostrado na etapa 7 do passo 1.st 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 a necessidade, mas agora vamos nos concentrar nos métodos abaixo, pois eles são necessários para escrever o script de upload de arquivos:

  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, como mostrado na tela abaixo. A grande vantagem do AutoIt é que ele é, de certa forma, semelhante a... Eclipse Isso sugere alguns dos métodos.

Use o 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, vamos obter os valores do identificador do elemento para os métodos 'ControlFocus' e 'ControlSetText', já que esses métodos atuam no mesmo elemento, ou seja, na caixa de texto 'Nome do arquivo', mas para o método 'ControlClick' precisamos capturar os valores de um elemento diferente, ou seja, o botão 'Abrir'.

Valores de parâmetros para ControleFoco método:

Este método define o foco na caixa de texto 'Nome do arquivo' da janela de carregamento de arquivos.

  • 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'.
    ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.

Use o 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'. Em outras palavras, podemos dizer que este método é usado para definir o texto do 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 inputs file path of a control.

Use o AutoIt em Selenium

Após seguir o passo acima, não feche as janelas (editor e identificador de elemento); mantenha-as abertas. Você precisará abrir novamente a janela de carregamento de arquivos para encontrar os atributos do botão "Abrir", conforme mostrado no passo 5 abaixo.

Passo 5) Agora, arraste a ferramenta de busca até o botão "Abrir" da janela de carregamento de arquivos para encontrar as informações básicas de atributos.

Os valores anteriores (ou seja, os atributos da caixa de texto 'Nome do arquivo') são sobrescritos pelos novos valores do botão 'Abrir'. Você pode ver que o atributo de classe agora foi alterado para "button", que antes era "edit", na janela de identificação de elementos do AutoIt.

Use o AutoIt em Selenium

Podemos obter o valor dos atributos, ou seja, título='Abrir', classe='Botão' e instância='1′ Conforme mostrado abaixo. Esses valores são usados ​​na escrita de scripts AutoIt, como explicado a seguir.

Use o AutoIt em Selenium

Valores de parâmetros para ControlClick método:

Este método consiste em clicar no botão "Abrir" da janela de carregamento de arquivos.

  • 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 clicks on 'Open' button of file uploader.

Use o AutoIt em Selenium

Passo 6) Você pode ver na tela abaixo que o script AutoIt foi concluído para lidar com o upload de arquivos. Agora você pode fechar o identificador do elemento e salvar o script como "FileUpload" no local especificado (E:\AutoIT).

Use o AutoIt em Selenium

Agora você não pode executar este script diretamente; você precisa compilá-lo.

Para compilar este script, você tem duas opções:compilar script x64ecompilar script x86Se você tiver um Windows Se for uma máquina de 32 bits, então opte por “compilar script x86"e por um Windows Máquina de 64 bits, escolha “compilar script x64. "

Use o AutoIt em Selenium

Passo 7) 'FileUpload.exe' O arquivo é gerado após a compilação; você pode vê-lo na tela abaixo. Agora podemos usar este arquivo no Selenium Script WebDriver.

Use o AutoIt em Selenium

Agora vamos usar este script AutoIt em Selenium WebDriver. Veja abaixo o resultado.

Carregar arquivo em Selenium Usando o AutoIt

Em um artigo do Selenium No script, encontramos os elementos do formulário, preenchemos os dados em cada elemento conforme necessário e carregamos o arquivo 'resume.doc' executando o arquivo .exe do AutoIt gerado pelo script. Em seguida, permitimos o envio do formulário. Selenium Script AutoIt.

  • Abra Eclipse e comece a escrever código.
  • Ao Selenium Ao clicar no botão "Escolher arquivo", a caixa de diálogo para carregar o arquivo será aberta.
  • Em seguida, precisamos chamar o script AutoIt; o controle é imediatamente transferido para o AutoIt para que ele carregue um arquivo e, em seguida, o controle é enviado de volta para o programa. Selenium como mostrado abaixo.

Carregar arquivo em Selenium Usando o AutoIt

Passo 1) Desenvolvedor Selenium script em Eclipse.

  • Runtime classe permite que o script faça interface com o ambiente no qual o script está sendo executado.
  • getRuntime () Obtém o tempo de execução atual associado a este processo.
  • exec () O método executa o script AutoIt (FileUpload.exe).
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

A linha acima chamará o Script AutoIt in Selenium 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 o resultado; o arquivo resume.doc foi 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 a interface gráfica do usuário (GUI) e pop-ups não HTML em um aplicativo, o AutoIt é uma ferramenta específica. Selenium é necessário, pois essas atividades baseadas em janelas não são gerenciadas por Selenium.

Usar AutoIt

Continuando neste tutorial de AutoIt, aprenderemos como fazer o upload de um arquivo em Selenium WebDriver usando AutoIt. Para isso, precisamos de três ferramentas.

  • Selenium webdriver
  • Editor AutoIt e identificador de elementos
  • A janela que você deseja automatizar

Perguntas Frequentes

Selenium O WebDriver controla apenas elementos do navegador. O AutoIt lida com elementos nativos. Windows diálogos como caixas de upload de arquivos, solicitações de download e janelas de autenticação básica com os quais o WebDriver não pode interagir diretamente.

A ferramenta Au3Info inspeciona qualquer elemento visível. Windows O controle está sob o cursor e retorna seu título, classe e valores de instância. Esses atributos são usados ​​diretamente nas chamadas ControlFocus, ControlSetText e ControlClick.

Sim. O arquivo .au3 deve ser compilado para um arquivo .exe usando a opção x86 ou x64 que corresponda à sua máquina. Selenium em seguida, chama o FileUpload.exe compilado através de Runtime.getRuntime().exec().

AutoIt é um Windows- única ferramenta. Para macOS Para diálogos de arquivos no Linux, use AppleScript, xdotool ou sendKeys com o caminho do arquivo diretamente, já que esses sistemas operacionais não suportam executáveis ​​do AutoIt.

Ferramentas baseadas em IA, como TestimFunctionize e Mabl usam visão computacional para reconhecer diálogos nativos pelo layout visual e, em seguida, geram automaticamente a lógica de localização. Isso reduz a necessidade de scripts AutoIt ao lidar com sistemas instáveis ​​ou em constante evolução. Windows pop-ups.

Sim. Modelos de linguagem complexos como ChatGPT e Claude podem gerar scripts AutoIt a partir de instruções em inglês simples que descrevem a caixa de diálogo desejada, os IDs dos controles e o caminho de upload, os quais os testadores podem então refinar e compilar.

Resuma esta postagem com: