Skip to content

Desafio Técnico que consiste na construção de um projeto de Automatização de Testes da Página de Busca do Google utilizando a tecnologia Selenium WebDriver na linguagem C#.

Notifications You must be signed in to change notification settings

linogt/automate-tests-google-search-page

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

automate-tests-google-search-page

Desafio Prático - Automatizar a Página de Busca do Google

  • Criar um projeto de automação de testes utilizando o Selenium WebDriver com o Dotnet na versão mais recente. Automatizar a página de busca do Google validando os pontos que forem importantes para assegurar que a página está funcionando conforme o esperado. Crie quantos cenários de automação achar necessário.
  • Avaliar e criticar a usabilidade da página de buscas do Google.
  • Documentar todo o processo para subir a aplicação, preferencialmente no arquivo “README”

Tecnologias utilizadas

  • C#
  • .NET
  • Visual Studio Code Community
  • Selenium WebDriver
  • Selenium Grid
  • Docker

Pacotes utilizados

  • MSTest.TestAdapter.3.0.2
  • MSTest.TestFramework.3.0.2
  • NUnit.3.13.3
  • NUnit3TestAdapter.4.3.1
  • Selenium.Support.4.7.0
  • Selenium.WebDriver.4.7.0
  • Selenium.WebDriver.ChromeDriver.108.0.5359.7100
  • Selenium.WebDriver.GeckoDriver.0.32.0

Como executar

  1. Crie uma pasta
  2. Abra o terminal dentro dela e digite o comando "pull clone git@github.com:linogt/automate-tests-google-search-page.git" para clonar o repositório
  3. Abra a pasta "BuscaGoogle"
  4. Abra o arquivo "BuscaGoogle.csproj" no Visual Studio Community.
  5. Execute os testes

Processo

1º Etapa - Criação dos Cenários de Testes

Nessa etapa foi feita a avaliação para decidir quais seriam os cenários de testes. Assim, em vista das funcionalidades oferecidas pelo Google, foram selecionadas as de conversão de moeda, cálculo aritiméticos, informações de tabela nutriconal e buscas específicas. Ademais, o layout da página e os caminhos para os links também foram selecionados para teste. Por fim, foram definidas as entradas e saídas esperadas em cada cenário.

2º Etapa - Criação dos Testes Automatizados

Para a etapa de criação dos testes automatizados foi utilizado a tecnologia Selenium WebDriver na linguagem C# com o .NET mais recente.

Ordem de criação do código

Classe TestFixture: Classe onde ficará os atributos, métodos, asserts, setup, teardown de cada cenário. Classe SetUp: Classe que define o comportamento do teste antes dele ser executado, como por exemplo o sistema operacional e navegador utilizado. Classe TearDown: Classe que define o comportamento do teste após a execução, como por exemplo a função de fechar driver. Classe Test: Classe que define o comportamento do teste ao longo da sua execução, como por exemplo os asserts e métodos.

3º Etapa - Criação dos Métodos

Após a criação dos testes é feito uma análise para converter todo comportamento repetitivo em método.

4º Etapa - Testes no ambiente da máquina local

Nessa etapa os cenários foram testados no ambiente da máquina local (Windows) nos navegadores Google Chrome, Microsoft Edge e Firefox. Os resultados dos testes foram salvos em tabelas que podem ser conferidas na seção "Resultados" e "Tempo dos Testes".

Exemplos

Teste de Tabela Nutricional - Ambiente Windows - Navegador Google

20230120_051933.mp4

Teste de Layout - Ambiente Windows - Navegador Firefox

20230120_052108.mp4

Teste de Conversão - Ambiente Windows - Navegador Edge

20230120_052205.mp4

5º Etapa - Testes no ambiente Linux

Para testar no ambiente Linux foi utilizado o software Docker em conjunto com o Selenium Grid. Nessa etapa os cenarios foram testados nos navegadores Google Chrome, Microsoft Edge e Firefox. Os resultados dos testes foram salvos em tabelas que podem ser conferidas na seção "Resultados" e "Tempo dos Testes".

Exemplo

Teste de Conversão - Ambiente Linux - Navegador Google

20230120_053123.mp4

6º Etapa - Disponibilização do Projeto

Após a conclusão dos testes o código e seus resultados foram disponibilizados no GitHub

Resultados

Cenário 1 - Perguntas

Id Funcionalidade/Componentes Título Passo-a-passo para execução Resultado Esperado Status
1 Busca Astronauta Lua Escreva "Qual é o nome do primeiro astronauta que pisou na lua?" no campo de busca e aperte "Enter". Neil Armstrong Ok
2 Busca Beatles Escreva "Ano do fim dos Beatles" no campo de busca e aperte "Enter". 1970 Ok
3 Busca Clube da Luta Escreva ""Ano de lançamento do filme Clube da Luta" no campo de busca e aperte "Enter". 29 de outubro de 1999 Ok
4 Busca Coca-Cola Escreva "Ano e local que a Coca Cola foi fundada" no campo de busca e aperte "Enter". 1892, Atlanta, Geórgia, EUA Ok
5 Busca Corinthians Escreva "Data em que o Corinthians foi fundado" no campo de busca e aperte "Enter". 1 de setembro de 1910 Ok
6 Busca Grecia Escreva "Qual continente fica a Grecia" no campo de busca e aperte "Enter". Europa Ok
7 Busca Japão Escreva "Qual é a capital do Japão?" no campo de busca e aperte "Enter". Tóquio Ok
8 Busca Marvel Escreva "Fundador da Marvel" no campo de busca e aperte "Enter". Martin Goodman Ok
9 Busca Rússia Escreva "Qual maior país do mundo em km" no campo de busca e aperte "Enter". Rússia Ok
10 Busca Jujutsu Kaisen Escreva "Nome do protagonista de Jujutsu Kaisen" no campo de busca e aperte "Enter". Yuji Itadori Ok

Cenário 2 - Cálculos Aritméticos

Id Funcionalidade/Componentes Título Passo-a-passo para execução Resultado Esperado Status
1 Busca Matemática1 Insira a equação "2+2" no campo de busca, e aperte "Enter". 4 OK
2 Busca Matemática2 Insira a equação "2-2" no campo de busca, e aperte "Enter". 0 OK
3 Busca Matemática3 Insira a equação "2/2" no campo de busca, e aperte "Enter". 1 OK
4 Busca Matemática4 Insira a equação "2*2" no campo de busca, e aperte "Enter". 4 OK
5 Busca Matemática5 Insira a equação "2-2" no campo de busca, e aperte "Enter". 0 OK
6 Busca Matemática6 Insira a equação "-2-2" no campo de busca, e aperte "Enter". -4 OK
7 Busca Matemática7 Insira a equação "2*10" no campo de busca, e aperte "Enter". 20 OK
8 Busca Matemática8 Insira a equação "20-50" no campo de busca, e aperte "Enter". -30 OK
2 Busca Matemática5 Insira a equação "2^2" no campo de busca, e aperte "Enter". 4 OK
9 Busca Matemática9 Insira a equação "10+10" no campo de busca, e aperte "Enter". 20 OK
10 Busca Matemática10 Insira a equação "0+0" no campo de busca, e aperte "Enter". 0 OK

Cenário 3 - Layout

Id Funcionalidade/Componentes Título Passo-a-passo para execução Resultado Esperado Status
1 Layout Como Funciona a Pesquisa O teste certifica que o texto está na página. A presença do texto no rodapé da página Ok
2 Layout Configurações O teste certifica que o texto está na página. A presença do texto no rodapé da página Ok
3 Layout Negócios O teste certifica que o texto está na página. A presença do texto no rodapé da página Ok
4 Layout Privacidade O teste certifica que o texto está na página. A presença do texto no rodapé da página Ok
5 Layout Publicidade O teste certifica que o texto está na página. A presença do texto no rodapé da página Ok
6 Layout Termos O teste certifica que o texto está na página. A presença do texto no rodapé da página Ok
7 Layout Sobre O teste certifica que o texto está na página. A presença do texto no rodapé da página Ok

Cenário 4 - Conversor

Id Funcionalidade/Componentes Título Passo-a-passo para execução Resultado Esperado Status
1 Busca Dolar Para Euro Escreva "100 usd to eur" no campo de busca e aperte "Enter". A conversão de dolár para euro. Ok
2 Busca Euro Para Dolar Escreva "100 eur to usd" no campo de busca e aperte "Enter". A conversão de euro para dolár. Ok
3 Busca Reais Para Dolar Escreva "100 brl to usd" no campo de busca e aperte "Enter". A conversão de real para dolár. Ok
4 Busca Reais Para Euro Escreva "100 eur to usd" no campo de busca e aperte "Enter". A conversão de real para dolár. Ok

Cenário 5 - Tabela Nutricional

Id Funcionalidade/Componentes Título Passo-a-passo para execução Resultado Esperado Status
1 Busca específica Chocolate Cafeína Escreva "chocolate cafeína em 100g" no campo de busca e aperte "Enter". 43 mg Ok
2 Busca específica Chocolate Calorias Escreva "chocolate calorias em 100g" no campo de busca e aperte "Enter". 546 calorias Ok
3 Busca específica Chocolate Carboidratos Escreva "chocolate carboidratos em 100g" no campo de busca e aperte "Enter". 61 g Ok
3 Busca específica Chocolate Gordura Escreva "chocolate gordura em 100g" no campo de busca e aperte "Enter". 31 g Ok
3 Busca específica Chocolate Proteína Escreva "chocolate proteína em 100g" no campo de busca e aperte "Enter". 4,9 g Ok

Cenário 6 - Links

Id Funcionalidade/Componentes Título Passo-a-passo para execução Resultado Esperado Status
1 Links Pesquisa Google Clicar em "Pesquisa Google". Manter-se na página de busca pois nada foi escrito na caixa. Ok
2 Links Estou com sorte Clicar em "Estou com sorte". Redirecionar o usuário para a página "Estou com sorte". Ok
3 Links Imagem Clicar em "Imagem". Redirecionar o usuário para a página "Imagem". Ok
4 Links Sobre Clicar em "Sobre". Redirecionar o usuário para a página "Sobre". Ok
4 Links Publicidade Clicar em "Publicidade". Redirecionar o usuário para a página "Publicidade". Ok
5 Links Negócios Clicar em "Negócios". Redirecionar o usuário para a página "Negócios". Ok
6 Links Como funciona a Pesquisa Clicar em "Como funciona a Pesquisa". Redirecionar o usuário para a página "Como funciona a Pesquisa". Ok
7 Links Privacidade Clicar em "Privacidade". Redirecionar o usuário para a página "Privacidade". Ok
7 Links Termos Clicar em "Termos". Redirecionar o usuário para a página "Termos". Ok

Observações

  • Os testes foram feitos em paralelo
  • Ao testar no navegador FireFox foi adicionada a função Thread.Sleep(3000) no método PesquisarPergunta(), para que o navegador tenha 3 segundos para carregar a página antes de fazer a comparação.
  • O teste de Links não respondem bem no navegador Microsoft Edge. Apesar de possuir links diferentes e isso dificultar a automatização de testes, após uma análise manual é possível notar que todos os links estão funcionando como esperado.

Tempo dos Testes

Sistema Operacional: Windows

Navegador Cenário 1 - Perguntas Cenário 2 - Cálculos Aritméticos Cenário 3 - Layout Cenário 4 - Conversor Cenário 5 - Tabela Nutricional Cenário 6 - Links
Google Chrome 43,9 s 50,4 s 15,6 s 30,6 s 32,7 s 31,9 s
Microsoft Edge 46,9 s 49,1 s 30,4 s 39,6 s 40,1 s 33,1 s
Firefox 55,6 s 54,9 s 19,7 s 41,6 s 36,6 s 1,2 min

Sistema Operacional: Linux

Navegador Cenário 1 - Perguntas Cenário 2 - Cálculos Aritméticos Cenário 3 - Layout Cenário 4 - Conversor Cenário 5 - Tabela Nutricional Cenário 6 - Links
Google Chrome 3,3 min 3,6 min 40 s 1,4 min 1,1 min 1 min
Microsoft Edge 3,8 min 4 min 36,7 s 2,2 min 1,1 min 3,5 min
Firefox 4,8 min 5,6 min 46 s 2,4 min 59,1 s 4,2 min

Avaliação Final

A Página de Busca do Google passou em todos dos testes mostrando-se uma ferramente altamente eficaz com diversas utilidades.

Autor

Gabriel Lino Topa Garcia

About

Desafio Técnico que consiste na construção de um projeto de Automatização de Testes da Página de Busca do Google utilizando a tecnologia Selenium WebDriver na linguagem C#.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages