Season Libraries - Ep. 04: Library AutoIt - Automação Desktop


Olááááá Robotizadores!!! O post da vez é sobre automação de aplicativos Desktop com a dupla Robot + Library AutoIt, para quem ainda não o conhece dá uma olhadinha no site do AutoIt e no projeto AutoIt Library para Robot! Bora robotizar esses desktops também??? Só vem...




#FICADICA: Lembrando que é necessário que você já tenha uma noção sobre o Robot Framework!!! Se ainda não tem, dá uma olhadinha nos primeiros posts do blog!!!


01 - Instalação da library AutoItLibrary

pip install robotframework-autoitlibrary


02 - Captura dos elementos/controles (Controls)

Ao instalar o AutoIt, um diretório é criado, provavelmente (C:\RobotFramework\Extensions\AutoItLibrary).

Nele temos a documentação das keywords (AutoItLibrary.html), a documentação do próprio AutoIt (AutoItX.chm) e o aplicativo de mapeamento de objetos (Au3Info.exe).

Diretório criado pela instalação do AutoItLibrary

Você usará o Au3Info.exe para capturar os dados dos controles/elementos que quer interagir. No vídeo abaixo mostrarei como fazer!


03 - Escreva seu código no Robot Framework

Segue meu exemplo... Usei um aplicativo meu, que fiz em Delphi, chamado SEALsScript.exe bem simples apenas para exemplificar. O .exe se encontra no meu GitHub se quiserem utilizá-lo.

Abaixo o código como fica, mas os detalhes serão explicados no vídeo!!




04 - Montando o script do teste

Segue vídeo mostrando passo-a-passo:



05 - Dicas

01 - Dependendo do software que você irá automatizar, muitos controles/elementos são customizados e não reconhecidos pelo AutoIt, isso é muuuito comum no mundo da automação Desktop, mas como o Robot é um framework genérico, ele permite utilizarmos quantas libraries quisermos, certo? Então, se algum elemento na tela não foi encontrado, utilize a library Sikuli para interagir com esse elemento via reconhecimento de imagem!!!!

02 - Talvez o uso de Sleeps seja necessário para que dê tempo do seu software carregar a tela desejada, use Sleeps em conjunto com os Waits do AutoIt para esperar as telas serem carregadas e então interagir com os elementos.

03 - Use de preferência uma máquina virtual: testes Desktop tendem a ser muito lentos e não pode ter movimentos na tela, então para você não ficar "preso" sem poder mexer na sua máquina, faça esse tipo de teste numa máquina virtual!!!

04 - Automação Desktop deve ser muuuitoo bem pensada e planejada, principalmente em sistemas legados!! Falhas de não reconhecimento de elementos e lentidão na execução são os vilões da parada, opte por um plano de testes bem específico, exemplo: testes de regressão muito críticos, bugs recorrentes, bateria de testes de homologação, etc. Não é aconselhado automatizar TUDO!! Organize seus testes e sua infraestrutura para execuções paralelas e builds noturnos (para quem trabalha com CI).


E aí gostaram???? O exemplo está disponível no meu GitHub ... Abraço robotizadores!!! Até a próxima...

Postagens mais visitadas deste blog

[CURSO] Automação de Testes com Robot Framework em português [com cupom de desconto]!!

Nossa experiência com o Robot Framework em 6 meses...

Season Premiere: Introdução ao Robot Framework