O documento discute a história e uso do Selenium e Docker para automatizar testes. Explica como o Selenium permite testar aplicações web e como o Docker pode ser usado para criar e gerenciar ambientes de teste isolados utilizando containers. Também fornece instruções básicas sobre como instalar e usar o Docker, incluindo comandos comuns como "pull", "run" e "stop".
2. A primeira viagem a bordo do
container: automatize seus
testes com selenium e docker
Victor Costa Melo Eng. de Computação | Agile Tester NDD
@VictorCostaMelo
victor.costa.melo@hotmail.com
3. Roteiro
Selenium
História
Selenium Grid
Docker
História
Como instalar
Comandos essenciais
Selenium com Docker
Docker – Visual Studio
Docker Power Shell
5. Selenium
O que é:
Framework open-source para testar aplicações web,
disponível para as linguagens: C#, Groovy, Java, Perl, PHP,
Python, Ruby e Scala.
Criado em 2004 por Jason Huggins como ferramenta interna
da ThougtWorks. Foi chamado de Selenium RC (primeira
Versão).
6. Selenium
Evolução
Em 2007 já na Google Huggins juntamente com Jennifer
Bevan desenvolveram uma versão estável do Selenium RC
RC
Em 2008 Simon Stewart Desenvolveu uma versão superior
do Selenium RC e chamou de Selenium WebDriver.
7. Selenium
Selenium Grid
Em 2008 Philippe Hangarigou, também da ThoughtWorks,
criou o Selenium Grid.
É um servidor que permite testar vários ambientes ao
mesmo tempo através de um hub.
17. Docker
É VM?
Ambas as soluções são parecidas, o que muda são as
tecnologias empregadas.
No container o controle de recursos é realizado diretamente
por chamadas de sistema e não por uma camada de virtualização
como a VM
19. Docker
Quais as Vantagens ?
• Compartilha bibliotecas com o host
• Prático para validar ideias
• Reaproveitamento de ambientes
• É escalável
• Economiza recursos do host
21. Docker
Docker para Windows
Ele possui uma arquitetura cliente/servidor (Client –Daemon)
Windows 10 pro aceita o Docker for Windows ou pode-se utilizar
o Docekr toolBox (coso esteja utilizando outras versões do
Windows).
22. Docker
Instalando Docker For Windows
1. Baixe o instalador
2. Basta seguir os passos do assistente de instalação
3. Vá ao menu de pesquisa e digite “docker”
4. Você verá este símbolo na barra
isto significa que o Docker está sendo inicializado
23. Docker
Instalando Docker no Linux e Mac
• Você pode encontrar um tutorial AQUI para instalar no
Ububuntu !
• Ou AQUI se você utiliza Mac OS!
24. Docker
Aonde posso encontrar os containers?
Existe um repositório online onde diversos containers estão
disponíveis e prontos para serem utilizados.
26. Docker
Hora de por as mãos na massa!
1. Docker pull <NOME_DA_IMAGEM> - Baixa
imagem para o host;
2. Docker run <NOME_DA_IMAGEM> - Cria um
container com a imagem do parâmetro
3. Docker start <ID_CONTAINER> - Inicia o
container
Hora de por as mãos na massa!
1. Docker pull <NOME_DA_IMAGEM> - Baixa
imagem para o host;
27. Docker
Hora de por as mãos na massa!
1. Docker pull <NOME_DA_IMAGEM> - Baixa
imagem para o host;
2. Docker run <NOME_DA_IMAGEM> - Cria um
container com a imagem do parâmetro
3. Docker start <ID_CONTAINER> - Inicia o
container
Hora de por as mãos na massa!
1. Docker pull <NOME_DA_IMAGEM> - Baixa
imagem para o host;
2. Docker run <NOME_DA_IMAGEM> - Cria um
container com a imagem do parâmetro
28. Docker
Hora de por as mãos na massa!
1. Docker pull <NOME_DA_IMAGEM> - Baixa
imagem para o host;
2. Docker run <NOME_DA_IMAGEM> - Cria um
container com a imagem do parâmetro
3. Docker start <ID_CONTAINER> - Inicia o
container
Hora de por as mãos na massa!
1. Docker pull <NOME_DA_IMAGEM> - Baixa
imagem para o host;
2. Docker run <NOME_DA_IMAGEM> - Cria um
container com a imagem do parâmetro
3. Docker start <ID_CONTAINER> - Inicia o
container
29. Docker
4. Docker stop <ID_CONTAINER> - Interrompe o
container
5. Docker rmi <ID_CONTAINER> - remove o
container
6. Docker container prune – remove todos os
container que estão parados
4. Docker stop <ID_CONTAINER> - Interrompe o
container
5. Docker rmi <ID_CONTAINER> - remove o
container
6. Docker container prune – remove todos os
container que estão parados
30. Docker
4. Docker stop <ID_CONTAINER> - Interrompe o
container
5. Docker rmi <ID_CONTAINER> - remove o
container
6. Docker container prune – remove todos os
container que estão parados
4. Docker stop <ID_CONTAINER> - Interrompe o
container
5. Docker rmi <ID_CONTAINER> - remove o
container
6. Docker container prune – remove todos os
container que estão parados
31. Docker
4. Docker stop <ID_CONTAINER> - Interrompe o
container
5. Docker rmi <ID_CONTAINER> - remove o
container
6. Docker container prune – remove todos os
container que estão parados
4. Docker stop <ID_CONTAINER> - Interrompe o
container
5. Docker rmi <ID_CONTAINER> - remove o
container
6. Docker container prune – remove todos os
container que estão parados
32. Docker
Comandos específicos
1. Docker run -d -p 12345:80
<NOME_DA_IMAGEM> - Define uma porta específica
para ser atribuída à porta 80.
2. Docker run -it <NOME_DA_IMAGEM> -
Conecta o terminal que estamos utilizando com o
do container.
Comandos específicos
1. Docker run -d -p 12345:80
<NOME_DA_IMAGEM> - Define uma porta específica
para ser atribuída à porta 80.
2. Docker run -it <NOME_DA_IMAGEM> -
Conecta o terminal que estamos utilizando com o
do container.
33. Docker
Comandos específicos
1. Docker run -d -p 12345:80
<NOME_DA_IMAGEM> - Define uma porta específica
para ser atribuída à porta 80.
2. Docker run -it <NOME_DA_IMAGEM> -
Conecta o terminal que estamos utilizando com o
do container.
Comandos específicos
1. Docker run -d -p 12345:80
<NOME_DA_IMAGEM> - Define uma porta específica
para ser atribuída à porta 80.
2. Docker run -it <NOME_DA_IMAGEM> -
Conecta o terminal que estamos utilizando com o
do container.
35. Docker – Visual Studio
Comandos específicos
1. Docker run -d -p 12345:80
<NOME_DA_IMAGEM> - Define uma porta específica
para ser atribuída à porta 80.
2. Docker run -it <NOME_DA_IMAGEM> -
Conecta o terminal que estamos utilizando com o
do container.
Comandos específicos
1. Docker run -d -p 12345:80
<NOME_DA_IMAGEM> - Define uma porta específica
para ser atribuída à porta 80.
2. Docker run -it <NOME_DA_IMAGEM> -
Conecta o terminal que estamos utilizando com o
do container.
36. Docker – Visual Studio
Comandos específicos
1. Docker run -d -p 12345:80
<NOME_DA_IMAGEM> - Define uma porta específica
para ser atribuída à porta 80.
2. Docker run -it <NOME_DA_IMAGEM> -
Conecta o terminal que estamos utilizando com o
do container.
Comandos específicos
1. Docker run -d -p 12345:80
<NOME_DA_IMAGEM> - Define uma porta específica
para ser atribuída à porta 80.
2. Docker run -it <NOME_DA_IMAGEM> -
Conecta o terminal que estamos utilizando com o
do container.
38. Docker – Power Shell (admin)
Comandos específicos
1. Docker run -d -p 12345:80
<NOME_DA_IMAGEM> - Define uma porta específica
para ser atribuída à porta 80.
2. Docker run -it <NOME_DA_IMAGEM> -
Conecta o terminal que estamos utilizando com o
do container.
Comandos específicos
1. Docker run -d -p 12345:80
<NOME_DA_IMAGEM> - Define uma porta específica
para ser atribuída à porta 80.
2. Docker run -it <NOME_DA_IMAGEM> -
Conecta o terminal que estamos utilizando com o
do container.
Mapeamento da Porta
com a porta do Host
39. Docker – Power Shell (admin)
Comandos específicos
1. Docker run -d -p 12345:80
<NOME_DA_IMAGEM> - Define uma porta específica
para ser atribuída à porta 80.
2. Docker run -it <NOME_DA_IMAGEM> -
Conecta o terminal que estamos utilizando com o
do container.
Comandos específicos
1. Docker run -d -p 12345:80
<NOME_DA_IMAGEM> - Define uma porta específica
para ser atribuída à porta 80.
2. Docker run -it <NOME_DA_IMAGEM> -
Conecta o terminal que estamos utilizando com o
do container.
Compartilhamento de
memória com o host
40. Docker – Power Shell (admin)
Comandos específicos
1. Docker run -d -p 12345:80
<NOME_DA_IMAGEM> - Define uma porta específica
para ser atribuída à porta 80.
2. Docker run -it <NOME_DA_IMAGEM> -
Conecta o terminal que estamos utilizando com o
do container.
Comandos específicos
1. Docker run -d -p 12345:80
<NOME_DA_IMAGEM> - Define uma porta específica
para ser atribuída à porta 80.
2. Docker run -it <NOME_DA_IMAGEM> -
Conecta o terminal que estamos utilizando com o
do container.
Nome da imagem utilizada
para criar o container