- Gherkin
- Capybara
- SitePrism
- Testes c/ Capybara & Cucumber
- Projeto Fallen Store
- Dependências
- Desenvolvedor(es)
- Funcionalidades e Cenários com Gherkin
#language: pt
@search
Funcionalidade: Busca
Como um usuário da plataforma Fallen Store
Desejo realizar a busca por diversos produtos
Para visualizar mais informações de um certo produto
Contexto: Usuário localizado na página inicial
Dado que o usuário esteja na página inicial
@search_products
Cenário: Busca por produtos na plataforma
Quando realizar a busca por um produto
Então deverão ser retornados ao usuário resultados de acordo com a busca
@search_for_available_products
Esquema do Cenário: Busca por produtos disponíveis na plataforma
Quando realizar a busca pelo "<produto>"
Então deverão ser retornados ao usuário resultados de acordo com a busca
Exemplos:
| produto |
| Gear |
| Wear |
| Acessórios |
- Mapeamento de elementos HTML com Capybara
class GoogleHome < BasePage
def search_for(query)
find("input[name='q']").set query
# find(".gNO89b").click // Procura botão por nome da classe CSS
click_button "Pesquisa Google"
end
end
- Mapeamento de elementos HTML com SitePrism
class Home < SitePrism::Page
set_url('/')
element :logo, 'img[class="lnXdpd"]'
end
- Cenários de Teste Gherkin
#language: pt
Funcionalidade: Google
Cenário: Carregar a página inicial do Google
Dado que o usuário acesse a página inicial
Então logo do Google deverá ser exibida
Cenário: Buscar por Compass
Dado que o usuário acesse a página inicial
Quando buscar por "Compass"
Então resultados deverão ser exibidos ao usuário
- Como executar os testes:
# Acessa diretório do projeto
cd "Aulas - Capybara & Cucumber"
# Executa os testes
bundle exec cucumber
-
Principais pontos abordados:
- Page Objects com SitePrism
- Massas de dados estáticas e dinâmicas
- Diferentes tipos de reports da automação de testes
-
Cenários de testes Gherkin:
#language: pt
@product_page
Funcionalidade: Página do Produto
Como usuário da plataforma Fallen Store
Desejo personalizar informações de um certo produto
Para adquirir o produto com a melhor experiência possível
Contexto: Usuário localizado ná página de um produto
Dado que o usuário esteja localizado ná página de um certo produto
@change_product_color
Cenário: Troca de cor do produto
Quando o usuário alterar a cor do produto
Então deverá ser exibido o produto na respectiva opção escolhida
@change_product_size
Cenário: Troca de tamanho do produto
Quando o usuário alterar a cor do produto
E alterar o tamanho do produto
Então deverá ser exibido o produto na respectiva opção escolhida
@add_product_to_cart
Cenário: Adicionar produto ao carrinho
Quando o usuário alterar a cor do produto
E alterar o tamanho do produto
E adicionar o produto ao carrinho
Então o produto deverá ser adicionado ao carrinho
@calc_product_shipment_price
Cenário: Cálculo do frete de entrega do produto
Quando o usuário digitar o "<cep>"
Então deverá ser exibido informações de entrega
- Como executar os testes:
# Acessa diretório do projeto
cd "Aulas - SitePrism I Projeto Fallen Store"
# Executa todos os testes
bundle exec cucumber
# Executa testes por tags
bundle exec cucumber -p default -t@"<tag>" # ex: -t@calc_product_shipment_price
-
Linguagens e/ou API's:
- Ruby version >= 3.0.0
-
Instalar gems do projeto:
# Acessa diretório do projeto
cd "<pasta de um dos projetos>" # cd "ex: Aulas - SitePrism I Projeto Fallen Store"
# Instala as gems
bundle install
- People call me Rafa! 🎙️
- I live in Recife, Brazil 📍
- I'm a Computer Science (CC) Student 💻
- Feel free to share your knowledge with me, I'm always open to learn new things ⚡