Executando meu primeiro Script C# com Zalenium

Buenas amigos,

Para quem não conhece o Zalenium, este é um container que disponibiliza uma infraestrutura flexível e escalável baseada em Selenium Grid. É uma excelente alternativa para execução de testes automatizados nos navegadores Chrome e Firefox. Ou seja, por meio dele o automatizador de testes só precisa se preocupar em codificar e rodar testes, nada mais.

Antes de me aprofundar no que eu já fiz com o Zalenium, cabe salientar que eu fiquei conhecendo essa ferramenta graças ao Elias Nogueira no DevOps Porto alegre. Quando vi ele executando essa solução em seus scripts em Java, fiquei me perguntando se conseguiria fazer o mesmo com o C#. Conversando mais com o Elias, e com meus colegas de trabalho Raone Costa e Maurício S e procurando material na Internet, consegui evoluir. Inclusive esses meus dois colegas citados, tiveram bastante sucesso nas primeiras execuções na nossa empresa.

Bom, mas história e referências a parte... vamos aos passos para rodar nosso primeiro script:

  1. Primeiramente, para mostrar o que consegui fazer, fiz um clone do repositório do Leonardo Amaral da Internet. Quem quiser começar uma Solution do zero, ou pegar uma sua, pode fazer também. No Problem. 
  2. Baixar o Docker para seu computador. Eu uso Windows (Eu sei o que vc deve ter pensado...), mas vamos lá. 
  3. Após o Docker rodando, executar os comandos abaixo. Esses comandos são para pegar as imagens do Selenium e do Zalenium.
    • docker pull elgalu/selenium
    • docker pull dosel/zalenium
    • docker run --rm -ti --name zalenium -p 4444:4444 -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/videos:/home/seluser/videos --privileged dosel/zalenium start
  4. Abrir o navegador e acessar: http://localhost:4444/grid/admin/live. Se abrir a imagem abaixo, tudo está ok. Se não abrir, tente repetir o processo, verificar se o Docker está rodando ou reiniciar sua máquina (Sim, reiniciar ajuda heheheh)
  5. Agora na sua Solution faça a seguinte configuração:
    • Arquivo: App.config 
      • <add key="Remote" value="Yes" />
      • <add key="SeleniumServerURL" value="http://localhost:4444/wd/hub" />
    • Arquivo: Assemblyinfo.cs: 
      • [assembly: LevelOfParallelism(3)]
  6. Para forçar a entrar no "Remote" Driver, editei o DriveDactory.cs: 
  7. Agora é só executar os scripts e ver eles rodando em paralelo no Zalenium: http://localhost:4444/grid/admin/live
E era isso, scripts rodando, auto escalonável, flexível e rápido. Todas referências e passos para simular esse teste estão aí. Sucesso e até o próximo post.


Comentários