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 artigoO 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 AutoIT2. 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!