Skip to content

Instantly share code, notes, and snippets.

View joaovictorino's full-sized avatar
🏠
Working from home

João Victorino joaovictorino

🏠
Working from home
View GitHub Profile
@joaovictorino
joaovictorino / Habilitando o Kubernetes.md
Created October 6, 2023 03:34
Habilitando o Kubernetes

Habilitando o Kubernetes

O Kubernetes é um orquestrador de contêiner que funciona exclusivamente em servidores com configurações específicas, porém existe versões mais leves de Kubernetes e próprias para rodar em desktops.
Para aqueles que estiverem utilizando o Docker Desktop, basta ir em Configurações -> Kubernetes e habilitar, este processo pode demorar um pouco.

Quem estiver em ambiente Linux, pode instalar o Kind seguindo este tutorial https://kind.sigs.k8s.io/docs/user/quick-start/.
Para aqueles que estiverem usando WSL sem Docker Desktop, podem também instalar o Kind, seguindo este outro tutorial https://kind.sigs.k8s.io/docs/user/using-wsl2/

Após a instalação execute o comando abaixo para conferir se o Kubernetes está instalado corretamente

@joaovictorino
joaovictorino / Trabalhando com massa de dados.md
Created October 6, 2023 02:11
Trabalhando com massa de dados

Trabalhando com massa de dados

Vamos criar um teste de desempenho que use um conjunto de dados para isso.
Na pasta "k6" crie o arquivo "data.json" com os dados abaixo

{
    "contas": [
        { "numero": "888888", "saldo": 1999 },
        { "numero": "444444", "saldo": 2333 }
@joaovictorino
joaovictorino / Testando a transferência por API.md
Last active October 6, 2023 01:49
Testando a transferência por API

Testando a transferência por API

Vamos testar a API de transferência de valores.
Crie na pasta "k6" o arquivo "TransferenciaAPI.js" com o código abaixo

import http from 'k6/http';
import { check, sleep } from 'k6';
import { htmlReport } from "https://raw.githubusercontent.com/benc-uk/k6-reporter/main/dist/bundle.js";
import { textSummary } from "https://jslib.k6.io/k6-summary/0.0.1/index.js";
@joaovictorino
joaovictorino / Iniciando os testes de desempenho.md
Created October 6, 2023 01:21
Iniciando os testes de desempenho

Iniciando os testes de desempenho

Vamos criar nosso primeiro teste de desempenho utilizando o k6.
Primeiramente instale o k6 em sua máquina usando o endereço https://k6.io/docs/get-started/installation/
Agora na pasta raiz, crie um pasta chamada "k6" e crie o arquivo "ConsultarContaAPI.js" com o código abaixo

import http from 'k6/http';
import { check, sleep } from 'k6';
@joaovictorino
joaovictorino / Conteinerizando a aplicação.md
Created October 5, 2023 22:57
Conteinerizando a aplicação

Conteinerizando a aplicação

Vamos conteinerizar nossa aplicação para que possamos fazer os testes de desempenho e disponibilidade de forma isolada.
Para dar continuidade às atividades agora, é importante ter o Docker instalado em sua máquina.
Então para isso, vamos criar dois arquivos na pasta raiz de workspaces, portanto crie o arquivo chamado "Dockerfile" com o conteúdo abaixo

FROM node:18-alpine3.16 AS BUILD_IMAGE
WORKDIR /app
COPY package*.json web/package*.json ./
@joaovictorino
joaovictorino / Unindo BDD e Playwright.md
Last active March 2, 2024 16:29
Unindo BDD e Playwright

Unindo BDD e Playwright

Como o BDD torna os testes mais próximos do negócio, e os testes de aceitação são feitos na visão do usuário, nada mais lógico que usar BDD em testes de aceitação.
Portanto vamos usar o Cucumber e o Playwright juntos.
Na pasta "features" do projeto "web", crie o arquivo "transferirPlay.feature" conforme abaixo

# language: pt
Funcionalidade: Transferir valores entre contas
    Validar a transferência de valores entre contas
@joaovictorino
joaovictorino / Criando através da interface.md
Last active October 5, 2023 03:45
Criando através da interface

Criando através da interface

Fizemos a criação dos testes digitando todo o código, mas o Playwright tem um interface visual para nos ajudar a construir os testes.
Portanto instale no seu VSCode a extensão "Playwright" da Microsoft (id:ms-playwright.playwright).
Quando a instalação finalizar, procure um ícone como um "tubo de ensaio" no seu VSCode no menu esquerdo.
Clique nele e procure um item no final do menu aberto escrito "Record new" e clique nele.
Um novo arquivo de testes deve ser criado e o navegador será aberto, agora tudo que fizermos no navegador será criado como código no arquivo.

Siga os passos abaixo:

  1. Digite na barra de endereços "http://localhost:3000" (nosso projeto e o banco devem estar rodando)
@joaovictorino
joaovictorino / Criando o teste do nosso projeto.md
Last active October 5, 2023 03:32
Criando o teste do nosso projeto

Criando o teste do nosso projeto

Agora vamos remover este teste do Google e criar um teste para o nosso projeto.
Portanto exclua o arquivo "google.spec.ts" na pasta "e2e" e crie o arquivo "ConsultaConta.spec.ts" com o código abaixo

import { test, expect } from '@playwright/test';

test('Consultar Conta', async ({ page }) => {
 await page.goto('http://localhost:3000/');
@joaovictorino
joaovictorino / Instalando e configurando o Playwright.md
Last active March 5, 2024 00:28
Instalando e configurando o Playwright

Instalando e configurando o Playwright

Vamos criar nosso teste end-to-end (e2e) utilizando o Playwright para isso.
Portanto vá até o projeto "web" e execute o comando abaixo

npm install @playwright/test@1.38.1 -D

Agora crie o arquivo "playwright.config.ts", na raiz do projeto web, com o conteúdo abaixo

@joaovictorino
joaovictorino / Criando as outras telas.md
Last active March 2, 2024 16:32
Criando as outras telas

Criando as outras telas

Ainda não terminamos, faltam três arquivos, então vamos criá-los.
Na pasta "pages/conta" crie o arquivo "criar.tsx" com o conteúdo abaixo

import React, { FormEvent, useState } from "react"
import { useRouter } from "next/router";

export default function ContaCriar() {