Selênio + AutoIT. Automação de Teste do Windows

Meu nome é Ivan Sidorenko, sou engenheiro de testes na Digital Design.

Minha tarefa era desenvolver testes automáticos para um de nossos projetos usando a ferramenta Selenium WebDriver em Java. Você pode ler mais sobre isso no meu último artigo

O Selenium é uma ferramenta para automatizar aplicativos da Web em vários navegadores. Durante o desenvolvimento de testes automáticos, deparei-me com um cenário em que você precisa interagir com a janela do Windows para baixar arquivos. Infelizmente, o Selenium não pode trabalhar com janelas do Windows, portanto, uma solução alternativa teve que ser encontrada.



Durante a pesquisa, a escolha caiu no AutoIT . Essa ferramenta foi projetada para automatizar tarefas no Microsoft Windows, que eram necessárias. Neste artigo, descreverei o trabalho com o AutoIT para resolver uma tarefa. Supõe-se que você já tenha um ambiente de desenvolvimento com o Selenium WebDriver conectado. Como exemplo, será usada uma janela para carregar fotos em um dos sites de edição de fotos. Então vamos começar.

1. Baixe e instale o AutoIT

2. Vá para um dos serviços para baixar fotos, por exemplo, aqui. Aqui você precisa clicar no botão "Download Photos" para obter essa janela do Windows



3. Agora vá para a pasta AutoIT3 e selecione Au3Info.exe



4. Au3Info é uma ferramenta que permite obter informações sobre a janela necessária para automação. Para obter informações sobre um elemento específico, basta arrastar do bloco Finder Tool para o elemento window.



Obteremos os valores dos atributos de campo de entrada do elemento "Nome do arquivo". Para uso no script AutoIT, precisamos dos atributos Title = 'Open' e Class = 'Edit'

5. Vá para a pasta AutoIt3 \ SciTE e selecione SciTE, aqui escreveremos um script tão simples.



Aqui ControlFocus é um método , que define o foco no elemento da janela “Nome do arquivo”

- O primeiro parâmetro é o valor do título da janela desejada; no nosso caso, é 'Open'
- O segundo parâmetro é opcional
- O terceiro parâmetro é a combinação dos valores do atributo Classe e Instância, ou seja, acontece Edit1



ControlSetText - um método pelo qual o texto é inserido na entrada do elemento "Nome do arquivo"

  • O primeiro parâmetro é o valor do título
  • O segundo parâmetro é opcional
  • O terceiro parâmetro é a combinação dos valores do atributo Class e Instance, ou seja, acontece Edit1
  • O quarto parâmetro é o texto que será inserido na entrada, aqui escrevemos o caminho para o arquivo que anexaremos

ControlClick - clica no botão "Abrir"

  • O primeiro parâmetro é o valor do título
  • O segundo parâmetro é opcional
  • O terceiro parâmetro é a combinação dos valores do atributo Class e Instance, ou seja, Acontece Button1



6. Salve o script como Autoit



7. Agora, para executar o script, você precisa compilá-lo. Para compilar um script, existem duas opções - para um sistema de 64 bits ou para 86. Escolha a apropriada para o seu sistema operacional.



8. Temos um arquivo AutoItScript.exe compilado. Verificaremos seu desempenho - vá para o < www.iloveimg.com/en/photo-editor "> serviço de edição de fotos e clique em" Selecionar imagem. Agora execute o AutoItScript.exe



9. Agora você pode adicionar este script no Selenium, por exemplo, para Java, essa adição seria assim:

Runtime.getRuntime().exec(":\\auto\\AutoItScript.exe");

Esta solução é altamente estável. Além disso, devido ao fato de termos um arquivo executável, essa solução pode ser usada com diferentes linguagens de programação. A desvantagem é que esse script não pode ser usado no modo sem cabeça - um modo no qual o navegador não inicia.

Espero que este artigo ajude você a testar a automação!

All Articles