Como usar o AutoIT com o Selenium Webdriver: Exemplo de upload de arquivo

Índice:

Anonim

O que é AutoIt?

AutoIt é uma linguagem de script freeware projetada para automatizar o Windows GUI e scripts gerais. Ele usa uma combinação de movimento do mouse, pressionamentos de tecla e manipulação de controle de janela para automatizar uma tarefa que não é possível pelo webdriver selênio.

Neste tutorial AutoIt, você aprenderá-

  • Por que usar o AutoIt?
  • Como baixar e instalar o AutoIT
  • Encontrar elemento por meio do identificador de elemento e escrever script no editor AutoIT.
  • AutoIT Upload de arquivo no Selenium Webdriver

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 janelas GUI e pop-ups não HTML no aplicativo. O AutoIt no Selênio é necessário, pois essas atividades baseadas em janela não são gerenciadas pelo Selênio.

Prosseguindo neste tutorial do AutoIt, aprenderemos como fazer o upload de um arquivo no driver da web Selenium usando o AutoIt. Aqui, precisamos de três ferramentas para isso.

  • Selenium Webdriver
  • Editor AutoIT e identificador de elemento
  • A janela que você deseja automatizar

Como baixar e instalar o AutoIT

Etapa 1) : Vá para este link.

Etapa 2) : Passe o mouse sobre as listas suspensas 'Autoit' e 'Editor Autoit'.

Etapa 3) Clique na opção Downloads 'AutoIT'.

Etapa 4) : Baixe "Autoit" clicando no botão 'Baixar Autoit'.

Passo 5) : Agora baixe o "Editor Autoit" clicando no botão 'Downloads'.

Etapa 6): Clique no link conforme mostrado abaixo.

Após o download, você obterá dois arquivos de configuração, conforme mostrado na tela abaixo, o primeiro é a configuração do AutoIt versão 3 e o segundo é o Scitautoit3 .

Etapa 6) : Para instalar o AutoIT-Click na configuração do AutoIT, um por um.

Etapa 7) : Após a instalação com sucesso - abra o Editor de AutoIT.

Vá para 'C: \ Arquivos de programas (x86) \ AutoIt3 \ SciTE'

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

Etapa 8) : Agora abre o identificador do elemento.

Vá para 'C: \ Arquivos de programas (x86) \ AutoIt3'

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

Nota: Depois de terminar com este identificador de elemento, você precisa fechar manualmente, ele não será fechado automaticamente.

Encontrar elemento por meio do identificador de elemento e escrever script no editor AutoIT.

Abaixo disso, veremos como usar o editor AutoIt e como encontrar o elemento na janela do carregador de arquivos por meio do Identificador de elemento AutoIT (o identificador de elemento é uma ferramenta como selenium IDE, identificador encontra o elemento da janela GUI ou pop-ups não HTML e fornece o atributo 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" do guru99 para carregar o currículo (arquivo Doc).

Depois de clicar no botão 'Escolher arquivo' da página "Escreva para nós", precisamos chamar o script AutoIT. O controle imediatamente transferido para 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 rodarmos o selenium script - ele irá preencher o formulário-> upload currículo-> Submit form.

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

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

Etapa 3) : Arraste a ferramenta de localização no elemento da caixa "Nome do arquivo" da janela do carregador de arquivos para encontrar as informações dos atributos básicos, conforme mostrado na tela abaixo com a seta.

Podemos obter o valor dos atributos, ou seja, title = 'Open' , class = 'Edit' e instance = '1' conforme mostrado abaixo. Esses valores são usados ​​para escrever um exemplo de script AutoIT, conforme explicado na etapa 4 a seguir.

Passo 4) : Agora abra o editor de script AutoIT, ir para 'C: \ Program Files (x86) \ AutoIt3 \ SciTE' e clique em 'SciTE.exe' como mostrado no passo 7 do 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 o requisito, mas agora vamos nos concentrar nos métodos abaixo, pois esses métodos são necessários para escrever um script de upload de arquivo:

  1. ControlFocus ("title", "text", controlID) // Define o foco de entrada para um determinado controle em uma janela.
  2. ControlSetText ("title", "text", controlID, "Caminho do arquivo que precisa ser carregado") // Define o texto de um controle.
  3. ControlClick ("title", "text", controlID) // Envia um comando de clique do mouse para um determinado controle.

Você pode ver que vários métodos são exibidos conforme mostrado na tela abaixo. O bom recurso do AutoIT é que ele é parecido com o Eclipse, que sugere alguns dos métodos.

Aqui no editor AutoIT, selecionamos o método de "foco de controle" . O identificador de elemento já está aberto e minimizado porque o elemento já foi identificado na etapa 3 acima. Podemos abri-lo maximizando-o.

Agora, pegaremos os valores do identificador de elemento para os métodos 'ControlFocus' e 'ControlSetText', pois esses métodos funcionam no mesmo elemento, ou seja, a 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âmetro para o método ControlFocus :

Este método define o foco para a caixa de texto 'nome do arquivo' da janela do carregador de arquivos.

  • O primeiro título do parâmetro é "Aberto".
  • Ignoramos o segundo parâmetro, o texto não é obrigatório.
  • O terceiro parâmetro controlID é a combinação de class = 'Editar' e Instância = '1', ou seja,. 'Edit1.'
    ControlFocus ("Open", "", "Edit1") // Este método define o foco da entrada para a caixa de texto 'Nome do arquivo'. 

Valores de parâmetro para o método ControlSetText :

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 é usado para definir o texto para o elemento de entrada.

  • O primeiro título do parâmetro é "Aberto".
  • Ignoramos o segundo parâmetro, o texto não é obrigatório.
  • O terceiro parâmetro controlID é a combinação de class = 'Edit' e Instance = '1', ou seja, "Edit1".
  • 4º parâmetro novo texto, passamos o caminho do arquivo que precisamos fazer o upload.
    ControlSetText ("Open", "", "Edit1", "E: \ Resume \ resume.doc") // Este método introduz o caminho do arquivo de um controle. 

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 carregador de arquivos para encontrar os atributos do botão 'Abrir' conforme mostrado na etapa 5 abaixo.

Etapa 5) : Agora arraste a ferramenta de localização no elemento do botão "Abrir" da janela do carregador de arquivos para encontrar as informações básicas de atributos.

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 do AutoIT.

Podemos obter o valor dos atributos, ou seja, title = 'Open' , class = 'Button' e instance = '1' conforme mostrado abaixo. Esses valores são usados ​​ao escrever o script Autoit, conforme explicado a seguir.

Valores de parâmetro para o método ControlClick :

Este método clica no botão 'Abrir' da janela do uploader de arquivos.

  • O primeiro título do parâmetro é "Aberto".
  • Ignoramos o segundo parâmetro; o texto não é obrigatório.
  • O 3º parâmetro controlID é a combinação de classe e instância, ou seja, "Button1".
ControlClick ("Abrir", "", "Button1") // Este método clica no botão 'Abrir' do uploader de arquivo.

Etapa 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).

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 Windows de 32 bits, use " compilar script x86" e para máquinas Windows de 64 bits, use " compilar script x64 . "

Passo 7): Arquivo 'FileUpload exe' gerado após a compilação, você pode ver na tela abaixo. Agora podemos usar este arquivo no script do webdriver do Selenium.

Agora usaremos este script AutoIT no driver da web Selenium. Verifique abaixo a saída.

AutoIT Upload de arquivo no Selenium Webdriver

No script Selenium, 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, em seguida, permitimos o envio do formulário no script Selenium AutoIt.

  • Abra o Eclipse e comece a escrever o código.
  • Quando o selênio clica no botão Escolher arquivo, a caixa de upload de arquivo é aberta.
  • Em seguida, precisamos chamar o script AutoIT, o controle imediatamente transferido para o AutoIT para fazer o upload de um arquivo e, em seguida, enviar o controle de volta para o selênio, conforme mostrado abaixo.

Etapa 1) : Desenvolva o script de selênio no eclipse.

  • A classe de tempo de execução 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.
  • Os métodos exec () executam o script AutoIT (FileUpload.exe).
Runtime.getRuntime (). Exec ("E: \\ AutoIT \\ FileUpload.exe");

a linha acima chamará o script AutoIT no selênio e fará o upload do arquivo.

Etapa 2) : Execute o script Selenium no 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 {Driver WebDriver = novo 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 (" Este endereço de e-mail está protegido contra spambots. Você precisa habilitar o JavaScript para visualizá-lo.");driver.findElement (By.id ("input_4")). click ();// abaixo da linha executa o script AutoIT.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 ();}}

Etapa 3) : Verifique a saída, o arquivo resume.doc foi carregado com sucesso e a mensagem de agradecimento será exibida.

Conclusão:

  • Identificador de elemento baixado e instalado e editor AutoIT.
  • Inaugurado o site para fazer a operação.
  • Identificador de elemento identifica os elementos da janela do uploader de arquivo.
  • Script AutoIT preparado no editor com a ajuda do identificador de elemento.
  • O script Autoit é usado no script do selenium webdriver.
  • Executou o script de selênio.
  • Resultado: o arquivo foi carregado com sucesso.

Este artigo é uma contribuição de Gaurav Nigam