Selenium Grid 4 -Parte 2

Franklin Araujo
4 min readOct 10, 2022

--

Fala pessoal, blz? :)
Essa é a segunda parte do artigo Selenium Grid 4. A primeira parte encontra-se no link abaixo:
Selenium Grid 4 — Parte 1. Fala pessoal. Tudo blz? :) | by Franklin Araujo | Oct, 2022 | Medium

Nessa segunda parte iremos criar uma infraestrutura do Selenium Grid 4 com HUB e NODES em diferentes plataformas e navegadores.

Para nosso laboratório vamos utilizar:

HUB e NODES:
- Linux Ubuntu 20.04.5 LTS (Virtualizada com VirtualBox — Configuração da placa de rede no Virtual Box em modo Brigde)
- Docker Client 20.10.14
- Docker Engine 20.10.14
- Java 11.0.16 2022–07–19
- Selenium Server 4.5

NODE e CLIENT
- Windows 10
- Java 1.8.0_311
- Selenium Server 4.5
- Chrome Driver
- Edge Driver

Para entendermos como ficará nossa infraestrutura, seguiremos o modelo abaixo:

Modelo Infraestrutura Selenium Grid (Hub e Nodes)

Na máquina Linux seguiremos com a configuração e execução dos containers hub e nodes conforme documentação do Selenium no Github.

O Hub e os nodes serão criados na mesma rede e irão se reconhecer pelo nome do container. Como primeira parte será necessário configurar uma rede docker.
$ docker network create grid

Seguiremos com o restante dos comandos:
Como primeira execução será feito o download da imagem e posterior execução dos containers. Vamos iniciar com o HUB

Seguindo com os Nodes:

  • Chrome
  • Edge
  • Firefox

Ainda no terminal confirme os 4 containers em execução com o comando
$ docker ps. A saída será semelhante a imagem abaixo:

Saída informando containers ativos

Após término do download e start dos containers acesse seu navegador e cole o endereço http://localhost:4444. Sua tela será apresentada semelhante a imagem abaixo:

Agora que subimos o hub e os nodes na máquina virtual Linux, iremos apontar mais um nós dessa vez da origem Windows pra dentro do Hub na máquina Linux

Podemos fazer isso de 2 formas, registrando o nó com a detecção automática de driver, pra isso basta incluir os driver dentro da pasta do selenium-server, ou informar a localização do drivers junto com outros parâmetros. Para o nosso laboratório iremos usar a detecção automática.

Crie uma pasta para o laboratório chamada Selenium-Server-4

  • Baixe o Selenium Server 4.5 e mova para a pasta acima
  • Verifique a versão do seu navegador Chrome e baixe a correspondente Chrome Driver. Extraia dentro da pasta Selenium-Server-4.
  • Baixe a versão do Webdriver Edge e extraia dentro da pasta Selenium-Server-4.

Abra o prompt de comando em sua máquina Windows e localize a pasta Selenium-Server-4

Execute o comando abaixo, sendo o ip da máquina virtual Linux que está registrado o Hub.

Na máquina Windows abra o navegador e cole o endereço http://ip do servidor linux:4444 e note que foi criado um nó Windows para os navegadores Chrome e Edge com 8 instâncias cada um.

Fechamos a segunda parte do laboratório Selenium Grid 4.

Nesse artigo conseguimos subir uma infraestrutura do Selenium Grid 4 Cross plataforma e Cross browsers. O hub ainda possibilita a adição de outras plataformas como Mac, e devices mobiles.

Na terceira e última parte iremos executar um teste em Python contra o hub criado nesse artigo e fará o papel de roteador distribuindo os cenários para o nó ativo em um browser específico.

Grande abraço e até a próxima pessoal!

Esse artigo faz parte da série Selenium Grid 4.

No próximo artigo iremos executar os testes desse laboratório:
Sigam para a Parte 3 ou relembrem a Parte 2

--

--

Franklin Araujo

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