Configurando Selenium Grid com Docker — Parte 1

Bárbara Cabral
4 min readFeb 4, 2019

--

Neste artigo, explicarei o básico sobre como começar a trabalhar com um com o Selenium Grid utilizando containers com o Docker.

Mas primeiro … é essencial conhecer os conceitos e os comandos básicos do docker. Ainda estou “aprendendo e saber qual problema ele pretende resolver. Vamos junto?

O que é Docker?

Docker é um sistema de código aberto que facilita a criação, implantação e execução de aplicativos com segurança usando contêineres. Os contêineres permitem que os desenvolvedores empacotem um aplicativo com todas as partes necessárias, como bibliotecas e outras dependências, e enviam tudo como um único pacote.

Esses pacotes serão executados em qualquer outra máquina, independentemente do ambiente e das configurações personalizadas. O Docker está disponível para aplicativos baseados em Linux e Windows.

O que é Selênium?

O seknium é uma estrutura de teste de software de código aberto para aplicativos da web. Ele permite que você automatize os testes, usando um navegador da Web para executar tarefas como clicar, preencher campos e rolar.

Os principais componentes são o Selenium WebDriver e o Selenium Server, que podem ser configurados com o Selenium Grid, que é uma forma de configurar o servido para execução de Testes em paralelo.

O Selenium WebDriver faz chamadas diretas para o navegador usando o suporte nativo de cada navegador para automação. As chamadas diretas são feitas e os recursos que eles suportam dependem do navegador e dos drivers específicos do navegador que você escolher (ChromeDriver, FirefoxDriver, SafariDriver, etc.). A função dos drivers é simplesmente envia comandos ao navegador e recupera os resultados.

Por que usar Selenium com Docker?

Em primeiro lugar, émuito mais fácil começar a usar os contêineres já configurados do que tentar definir o Selenium do zero. Você não precisa instalar o Java e também não precisa instalar todos os navegadores necessários na sua máquina. Usar contêineres significa que você pode criar uma nova instância do Selenium quando precisar, descartá-la e começar do zero. Alternativamente, se você planeja deixá-lo em execução por longos períodos de tempo, se / quando falhar, você pode simplesmente configurar para reinicializar.
Os membros da equipe podem usar o mesmo contêiner, independentemente do sistema operacional usado, para que haja menos discrepâncias entre os ambientes. Então você tem um ambiente que exige menos esforço de configuração e manutenção.

Vamos então aos passos para utilização dessa infraestrutura! =D

Ah, espera! Primeiro… precisamos entender o funcionamento básico do Docker.

Conceitos básicos

Containers

São peças de software que têm tudo o que precisa para a aplicação rodar. Eles isolam o ambiente e não sofrem efeitos de de softwares ao seu redor, mantém uma mesma infraestrutura para ambientes de desenvolvimento e testes, reduz os conflitos entre os times e/ou aplicações. Cada container executa seu código de forma independente mas compartilham do mesmo Sistema Operacional.

Docker Engine

É ele quem gerencia os containers em cima do Sistema Operacional que você está usando.

Images

É um projeto para a criação de um container, ele especifica o que o container vai rodar para ser executado.

Dockerfile

Vai conter os comandos denro de uma imagem para executar o container.

Commandos importantes

$ docker ps

^Lista os containers que estão de pé (ou executando)

$ docker images

^Lista todas as imagens existentes

$ docker rmi ae7 bc8

^Remove as imagens com hash ae7 e bc8

$ docker run .

^Lê o arquivo Dockerfile do repositório atual e cria uma imagem

docker build -f /path/to/a/Dockerfile .

^Este comando lê do repositório atual e cria uma imagem.

$ docker rm $(docker ps -a -q)

^Remove todos os containers parados

$ docker rmi $(docker images -a -q) -f

^Remove todas as imagens

Instalação

  1. Para assegurar que você vai instalar do zero, primeiro remova ttodasversões antigas do docker

$ sudo apt-get remove docker docker-engine docker.io

2. Atualize o index apt (para ubuntu)

$ sudo apt-get update

3. Instalar as dependências

$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common

4. Adicionar a chave oficial do Docker

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add

5. Adicionar o fingerprint

$ sudo apt-key fingerprint 0EBFCD88

6. Use o comando abaixo para apontar o reposítório estável no Ubuntu

$ sudo add-apt-repository \
“deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable”

Pronto! Agora você pode verificar se o docker está rodando certinho utilizando este comando:

Na parte 2, vamos falar como configurar o docker-compose para levanrar nosso container de forma orquestrada.

Referências:

--

--