Giter VIP home page Giter VIP logo

andressakarla / testes-automatizados-api-serve-rest_ruby Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 31 KB

Projeto de Testes Automatizados de API na API REST do ServeRest desenvolvido para me aprofundar um pouco mais nos estudos sobre testes automatizados em Ruby nas ferramentas Rspec, HTTParty e GitHub Actions

Ruby 100.00%
api-rest fixtures github-actions github-workflows httparty json rspec ruby

testes-automatizados-api-serve-rest_ruby's Introduction


Projeto de Testes Automatizados de API REST | Ruby | Rspec | HTTParty | GitHub Actions 🧪


ℹ️ Introdução

Esse projeto "testes-automatizados-api-serve-rest_ruby" é executado em um ambiente de desenvolvimento na "API REST" do "ServeRest" que simula uma loja virtual, com o objetivo de me aprofundar um pouco mais nos estudos sobre testes automatizados de API REST em Ruby nas ferramentas Rspec, HTTParty e GitHub Actions.


🎯 Executar testes automatizados de API REST em um ambiente de desenvolvimento, Gerar e armazenar relatório html no GitHub Actions

  • Nesse repositório, acessar a aba "Actions"
  • Na seção "Actions", clicar em "Pipeline Testes Automatizados API ServeRest Ruby"
  • Em "This workflow has a workflow_dispatch event trigger.", clicar em "Run workflow" > "Run workflow" para executar testes automatizados de API REST, gerar e armazenar relatório html no GitHub Actions [com os conteúdos de "secrets.USUARIO_ENV", etc (baseado nos arquivos "usuario.example.json", etc, e configurados na aba "Settings" desse repositório > "Secrets and variables" > "Actions" > "Secrets" > "Repository secrets") que foram redirecionados para os arquivos "usuario.json"]
  • Após o término da execução, clicar na run "Pipeline Testes Automatizados API ServeRest Ruby"
  • Na seção "Artifacts", clicar em "relatorio-api-serve-rest-ruby"
  • Na janela aberta, escolher um diretório para baixar a pasta compactada "relatorio-api-serve-rest-ruby.zip"

Verificar no navegador padrão o relatório html gerado e armazenado anteriormente no GitHub Actions e descompactado no computador 🕵️‍♀️

  • Abrir uma janela do "Windows Explorer"
  • Acessar o diretório onde foi baixada a pasta compactada "relatorio-api-serve-rest-ruby.zip" anteriormente
  • Descompactar a pasta
  • Acessar a pasta descompactada "relatorio-api-serve-rest-ruby"
  • Clicar 2 vezes sob o relatório "relatorio-api-serve-rest-ruby.html" gerado e armazenado anteriormente no GitHub Actions e descompactado para ser aberto e verificado no navegador padrão no computador

Antes de clonar ou executar esse projeto localmente no computador, é necessário seguir as instruções abaixo 👇

🛠️ Janela do "Windows Explorer" > aba "Exibir" e marcar algumas opções

  • Abrir uma janela do "Windows Explorer"
  • Clicar na aba "Exibir"
  • Marcar a opção "Extensões de nomes de arquivos"
  • Marcar a opção "Itens ocultos"

🛠️ Janela do "Windows Explorer", criar uma pasta "tools"

  • Abrir uma janela do "Windows Explorer"
  • Acessar o diretório "C:"
  • Criar uma pasta "tools"

🛠️ Cmder (Console Emulator)

  • Baixar o Console Emulator (cmder)
  • Clicar com botão direito na pasta compactada > Extrair para "cmder"
  • Mover a pasta descompactada "cmder" para o diretório "C:\tools" criado anteriormente
  • Acessar o diretório "C:\tools\cmder"
  • Clicar com botão direito no executável "cmder.exe" > Enviar para > Área de trabalho (criar atalho)
  • Acessar a Área de Trabalho
  • Clicar 2 vezes no atalho "Cmder - Atalho"
  • Clicar na opção "Unblock and Continue"

🛠️ Desinstalar Ruby e/ou Rails que já foram instalados em algum outro momento

  • Na ferramenta de pesquisa do Windows, informar "Adicionar ou remover programas"
  • Clicar na sugestão apresentada
  • Em "Aplicativos e recursos", no campo de busca, informar "Ruby" e/ou "Rails"
  • Clicar no resultado apresentado
  • Clicar no botão "Desinstalar" e prosseguir com as etapas de desinstalação
  • Na janela do "Windows Explorer" acessar o diretório "C:", procurar e excluir a pasta "Ruby" e/ou "Rails"
  • Acessar o diretório "C:\Users\usuario", procurar e excluir os arquivos ".gem" e ".bundle"

🛠️ Ruby+Devkit versão 3.1.2-1 (x64)

  • Baixar o Ruby+Devkit 3.1.2-1 (x64)

  • Em "Select Components", marcar todas as opções caso ainda não estiverem marcadas

  • Em "Completing the Ruby 3.1.2-1 ...", verificar se "Run 'ridk install' to set ip MSYS2 ..." está marcado por padrão e clicar em "Finish"

  • No terminal aberto automaticamente, após algum tempo teclar "Enter"

  • Após o término da instalação, teclar "Enter" novamente

  • Fechar esse terminal

  • Abrir um novo cmder ou outro terminal de preferência, informar o comando abaixo para confirmar se o ruby realmente foi instalado

ruby -v
  • E verificar se foi retornada a mesma versão do ruby+devkit instalada anteriormente:
ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x64-mingw-ucrt]
  • Fechar esse cmder ou terminal

🛠️ Baixar, instalar e configurar o git

  • Caso ainda não tenha o git baixado e instalado, acessar o site do git, baixar e instalar
  • Caso ainda não tenha configurado o git, seguir os passos apresentados nesse link Configure a ferramenta e configurar

🛠️ Clonar o projeto

  • Abrir uma janela do "Windows Explorer"
  • Acessar o diretório onde será clonado o projeto "testes-automatizados-api-serve-rest_ruby"
  • Copiar esse diretório
  • Abrir um novo cmder
  • Informar o comando abaixo para acessar onde será clonado o projeto
cd "<diretório copiado anteriormente>"

Ex.:

cd "C:\Users\usuario\Desktop"
  • Informar o comando abaixo para clonar este repositório via "HTTPS"
git clone https://github.com/AndressaKarla/testes-automatizados-api-serve-rest_ruby.git
  • Ou informar o comando abaixo para clonar este repositório via "SSH"
git clone [email protected]:AndressaKarla/testes-automatizados-api-serve-rest_ruby.git

🛠️ Instalar todas as dependências necessárias

  • No cmder aberto anteriormente, informar o comando abaixo para acessar o projeto “testes-automatizados-api-serve-rest_ruby” clonado anteriormente
cd testes-automatizados-api-serve-rest_ruby

Ex.:

C:\Users\usuario\Desktop\testes-automatizados-api-serve-rest_ruby
  • Informar o comando abaixo para instalar todas as dependências necessárias do projeto
bundle install

🛠️ Instalar as extensões no Visual Studio Code (VS Code)

  • Caso ainda não tenha o VS Code baixado e instalado, acessar o site do Visual Studio Code, baixar e instalar com a opção "System Installer"
  • Com o Visual Studio Code aberto, caso seja apresentado alguma mensagem de "Instalar pacote de idiomas ...", clicar no ícone de configurações > "Don't Show Again"
  • Clicar na opção "Manage > Profiles > Create Profile"
  • Em "Profile name", informar "Ruby"
  • Clicar na opção "Create"
  • Clicar na opção "Extensions", informar e instalar as extensões abaixo:
    • One Dark Pro
      • binaryify
        • Clicar na opção "One Dark Pro Darker" apresentada para habilitar a extensão
    • Material Icon Theme
      • Philipp Kief
        • Clicar na opção "Material Icon Theme" apresentada para habilitar a extensão
    • Simple Ruby ERB
      • Victor Ortiz Heredia

📑 Abrir o VS Code diretamente na pasta do projeto "testes-automatizados-api-serve-rest_ruby"

  • No cmder aberto anteriormente, informar o comando abaixo para abrir o VS Code diretamente na pasta do projeto "testes-automatizados-api-serve-rest_ruby"
code .
  • Aguardar o VS Code ser aberto
  • Fechar esse cmder
  • No VS Code aberto, caso seja apresentado "Do you trust the authors on the files in this folder?", marcar a opção "Trust the authors of all files in the parent folder ...."
    • Clicar no botão "Yes, I trust the authors ...."

🛠️ Criar arquivos "usuario.json", informando os dados com base nos arquivos "usuario.example.json", etc

  • No VS Code aberto anteriormente, acessar "spec > support > fixtures"
  • Criar o arquivo "usuario.json"
    • Informar os dados com base no arquivo "usuario.example.json"
    • Salvar o arquivo "usuario.json" com os dados informados anteriormente

🎯 Executar testes automatizados de API REST em um ambiente de desenvolvimento, Gerar e armazenar relatório html no computador

  • Abrir uma janela do "Windows Explorer"
  • Acessar o diretório onde foi clonado o projeto “testes-automatizados-api-serve-rest_ruby”
  • Copiar esse diretório
  • Abrir um novo cmder
  • Informar o comando abaixo para acessar o projeto "testes-automatizados-api-serve-rest_ruby"
cd "<diretório copiado anteriormente>"

Ex.:

cd "C:\Users\usuario\Desktop\testes-automatizados-api-serve-rest_ruby"
  • Informar o comando abaixo para executar cada feature individualmente do projeto:
bundle exec rspec spec/tests/nome_arquivo_test.rb

Ex. 1:

bundle exec rspec spec/tests/post_login_test.rb

Ex. 2:

bundle exec rspec spec/tests/delete_usuario_test.rb
  • Ou informar o comando abaixo para executar todas as features e/ou cenários do projeto (mesmo comando que é utilizado no "Passo 4" do job "ruby-api-rest" da "Pipeline Testes Automatizados API ServeRest Ruby" em ".github > workflows > workflow-testes-automatizados-api-serve-rest-ruby.yml" no GitHub Actions) e Gerar os resultados dos testes no computador:
bundle exec rspec spec/tests/*

Verificar no navegador padrão o relatório html gerado anteriormente no computador 🕵️‍♀️

📑 Relatório html no computador

  • No VS Code aberto anteriormente, acessar "relatorios > relatorio-api-serve-rest-ruby.html"
  • Clicar com botão direito do mouse sob o arquivo "relatorio-api-serve-rest-ruby.html" > "Reveal in File Explorer"
  • Na janela do "Windows Explorer" aberta automaticamente, clicar 2 vezes sob o arquivo "relatorio-api-serve-rest-ruby.html" para ser aberto e visualizado no navegador padrão

Feito com ❤️ por Andressa Karla 👋

Medium Linkedin


testes-automatizados-api-serve-rest_ruby's People

Contributors

andressakarla avatar

Watchers

 avatar

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.