- 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”
- C#
- .NET
- Visual Studio Code Community
- Selenium WebDriver
- Selenium Grid
- Docker
- 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
- Crie uma pasta
- 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
- Abra a pasta "BuscaGoogle"
- Abra o arquivo "BuscaGoogle.csproj" no Visual Studio Community.
- Execute os 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.
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.
Após a criação dos testes é feito uma análise para converter todo comportamento repetitivo em método.
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
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
Após a conclusão dos testes o código e seus resultados foram disponibilizados no GitHub
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 |
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 |
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 |
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 |
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 |
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 |
- 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.
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 |
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 |
A Página de Busca do Google passou em todos dos testes mostrando-se uma ferramente altamente eficaz com diversas utilidades.
Gabriel Lino Topa Garcia