Code Monkey home page Code Monkey logo

realitystone_sprint5_rafaschettini_compass's Introduction

Compass.UOL LOGO

RealityStone | Sprint 5 @ Compass.UOL

Last commits Commits activity

Conteúdos:

Gherkin

  • 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 |

Capybara

  • 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

SitePrism

  • Mapeamento de elementos HTML com SitePrism
class Home < SitePrism::Page
    
  set_url('/')

  element :logo, 'img[class="lnXdpd"]'

end

Capybara e Cucumber

  • 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

Projeto Fallen Store

  • 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

Dependências

  • 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

Desenvolvedor

  • 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 ⚡

💬 You can find me here:

Rafa-LINKEDIN Rafa-GMAIL

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.