Selenium Grid 4 - Parte 1

Franklin Araujo
3 min readOct 7, 2022

--

Fala pessoal. Tudo blz? :)

Alguns anos atrás escrevi um artigo que explicava basicamente como executar cenários de teste no Selenium Grid implantado no Docker como container. Na época na versão 3.8. Segue o link para quem tiver curiosidade.

Essa serie será dividida em alguns episódios :)

  • Episódio 1: Melhorias da versão Selenium Grid 4.5 (Interface)
  • Episódio 2: Iremos implantar o Selenium Grid 4.5 em container com Docker, e adicionar nós de diferentes plataformas.
  • Episódio 3: Execução do cenário de testes em Python contra o Chrome, Firefox e Edge no Selenium Grid 4.5
  • Episódio 4: Implantação Selenium Grid 4.5 em cluster Azure Kubernetes
  • Episódio 5: Novas features Selenium Grid 4.5

O que é Selenium Grid?

Basicamente o Selenium Grid faz o papel de um roteador de testes, ou seja, ele é um servidor proxy inteligente que facilita a execução de testes em paralelo em diferentes máquinas e plataformas. Isso é feito roteando comandos para instâncias remotas do navegador da Web, onde um servidor atua como o hub. Esse hub roteia comandos de teste para vários nós já previamente registrados no Selenium Grid.

Melhorias Selenium Grid 4.5:

Interface teve uma mudança bem significativa. Agora conseguimos visualizar separadamente, os nós ativos com seus respectivos browsers e plataformas, sessões ativas e percentual de concorrência. Abaixo a comparação entre os dois.

Interface Selenium Grid 3.8
Interface Selenium Grid 4.5

Com relação ainda a mudanças, existia uma feature porém somente instalada com o Selenium Grid Extras, que era a possibilidade de visualizar a execução dos seus testes dentro do Selenium Grid remotamente. Atualmente essa funcionalidade já se encontra embarcada no Selenium Grid 4.5. Basta acessar o menu Sessions e clicar no ícone de câmera.

Informar a senha padrão

Senha para acesso remoto aos testes

E acompanhar a execução dos cenários

Tela remota sendo apresentada a execução dos testes

Outro ponto interessante é a visualização do arquivo .JSON com as configurações de Capabilities informada no seu código e outras do nó sendo executado.

Em resumo a tela ficou bem mais leve e funcional. Com a feature de acesso remoto ao destino dos testes para acompanhar ao vivo da execução, possibilidade de analisar concorrências nos nós e sessões abertas.

No próximo artigo iremos implantar essa infraestrutura do zero, instalando o Docker, implantando os containers e executando um teste em cada nó do Hub.

Um grande abraço e até breve!
Siga para o Episódio 2

--

--

Franklin Araujo

Tech lead | Software Engineering lead | Systems engineering specialist apaixonado por tecnologia, games e uma boa leitura sempre!