Projeto com testes automatizados de PERFORMANCE, utilizando o framework: K6
Utilizado:
Index
README
.
- Pre-requisitos
- Configuração
- Instalação
- Estrutura
- Como Testar
- Como visualizar o Report
- Suporte
- Licença
Tips:
Utilizar o Scoop ou Chocolatey para baixar os packages sinalizados acima.
Yarn:
choco install yarn
K6:
choco install k6
Docker:
choco install docker
Clonar o projeto:
git clone https://github.com/uLucasFraga/k6_for_studies.git
- Usar o terminal para instalar as dependências do package.json, por exemplo:
yarn install
IMPORTANTE:
- Para escolher o ambiente a testar:
É necessário a escolha do ambiente através process.ENV
.
Por exemplo: env=DEV yarn loadTest
para DEV ou env=LOCAL yarn loadTest
para LOCAL.
Se não for inputado nenhum valor, o default é LOCAL.
Limpar o projeto & instalar todas as dependências via package.json:
cd /k6-for-studies
yarn clean
yarn install
A estrutura do repositório segue a arquitetura abaixo:
📦k6-for-studies
┣ 📂dashboards
┃ ┗ 📜k6-load-testing-results.json
┣ 📂docs
┃ ┗ 📂img
┃ ┃ ┗ 📜img.png
┣ 📂src
┃ ┣ 📂requests
┃ ┃ ┗ 📜users.request.js
┃ ┣ 📂simulations
┃ ┃ ┗ 📜fullFlowLoad.test.js
┃ ┃ ┗ 📜fullFlowStress.test.js
┃ ┣ 📂utils
┃ ┃ ┗ 📜utils.js
┣ 📜.babelrc
┣ 📜.dockerignore
┣ 📜.gitignore
┣ 📜docker-compose.yml
┣ 📜grafana-dashboard.yaml
┣ 📜grafana-datasource.yaml
┣ 📜LICENSE
┣ 📜package.json
┣ 📜README.md
┣ 📜webpack.config.js
┣ 📜yarn-lock
Após confirmar as configurações anteriores, seguir os passos abaixo:
IMPORTANTE: Os testes rodando localmente, não é gerado report no grafana.
Para rodar os testes de Load com o yarn:
yarn local:loadTest
Para rodar os testes de Load sem o yarn:
k6 run -e env=LOCAL src/simulations/fullFlowLoad.test.js
Para rodar os testes de Stress com o yarn:
yarn local:stressTest
Para rodar os testes de Stress sem o yarn:
k6 run -e env=LOCAL src/simulations/fullFlowStress.test.js
Para rodar os testes de Load com o yarn:
yarn docker:up
yarn docker:loadTest
yarn docker:down
Para rodar os testes de Stress sem o yarn:
docker-compose up -d influxdb grafana serverest && docker-compose run k6 run -e env=LOCAL src/simulations/fullFlowStress.test.js
IMPORTANTE: Os testes via docker será gerado um dashboard no grafana: Dashboard do Grafana
Exemplo de dados gerados no Grafana:
- contato:
- MIT license
- Copyright 2023 © Lucas Fraga - Linkedin