Este repositório contém testes de funcionalidades realizados no projeto ServeRest Dev Web. O objetivo desses testes é garantir o correto funcionamento das principais características do sistema. Abaixo estão listadas as funcionalidades testadas, assim como aquelas que estão planejadas para teste futuro:
Este repositório contém testes automatizados desenvolvidos utilizando o Cypress para estudar a aplicação web do ServeRest
- Node.js instalado: Instalar NodeJs instalado
- IDE utilizada neste projeto: Visual Stuido Code (VSCode)
Para iniciar um novo projeto com Node.js:
npm init
# ou
npm init -y
Ao utilizar npm init -y, as perguntas serão respondidas com os valores padrão. Este é o primeiro passo para iniciar qualquer projeto JavaScript.
Para instalar o Cypress, utilize o seguinte comando npm:
npm install cypress
Este comando instalará o Cypress como uma dependência do projeto.
Para inicializar o Cypress, utilize o seguinte comando:
npx cypress open
Este comando abrirá o Cypress Test Runner, onde você poderá executar e gerenciar seus testes.
Para executar o Cypress em modo headless, utilize o seguinte comando:
npx cypress run
Este comando executará o Cypress em modo headless, o que significa que não abrirá a interface gráfica do Test Runner, e os resultados dos testes serão exibidos no terminal
Running: register.cy.js (1 of 1)
Create an accountt √ Given that registers an account as administered (8465ms)
1 passing (9s)
(Results)
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Tests: 1 │
│ Passing: 1 │
│ Failing: 0 │
│ Pending: 0 │
│ Skipped: 0 │
│ Screenshots: 0 │
│ Video: false │
│ Duration: 8 seconds │
│ Spec Ran: register.cy.js │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
============================================================================================
(Run Finished)
Spec Tests Passing Failing Pending Skipped
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ ✔ register.cy.js 00:08 1 1 - - - │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
✔ All specs passed! 00:08 1 1 - - -
Para instalar o Cypress Plugin API
npm i cypress-plugin-api -D
- Verificar se o sistema permite que os usuários façam login com sucesso utilizando credenciais válidas.
- Testar o processo de criação de novas contas de usuário no sistema, tanto com privilégios de administrador quanto de usuários comuns.
- Realizar o fluxo de logout do sistema.
Para o usuário administrador, foram testadas as seguintes funcionalidades:
- Cadastrar um novo usuário
- Listar Usuários
- Editar Usuário
- Excluir Usuário
- Cadastrar Produtos
- Listar Produtos
- Editar Produto
- Excluir Produto
Todos os testes acima foram conduzidos através da Interface Gráfica do Usuário (GUI).
- User Session com o Cypress
- Criação de todos os testes utilizando a API por meio da GUI.
Os testes foram realizados utilizando o Cypress, uma ferramenta de teste de frontend rápida, fácil de usar e confiável, construída para o ecossistema moderno da web. O Cypress permite escrever, executar e depurar testes de maneira eficiente, oferecendo uma experiência de teste de ponta a ponta.
Para contribuir com este projeto, siga os passos abaixo:
- Faça um fork deste repositório clicando no botão "Fork" no canto superior direito da página.
- Clone o fork para o seu ambiente de desenvolvimento local:
git clone https://github.com/CristianoSFMothe/serverest-cypress
- Crie uma branch para suas alterações:
git checkout -b minha-contribuicao
- Faça suas alterações e adicione-as utilizando o git:
git add .
git commit -m "Descrição das alterações"
- Envie suas alterações para o seu repositório remoto:
git push origin minha-contribuicao
Crie um pull request clicando no botão "Pull Request"
na página do seu fork.
Sinta-se à vontade para contribuir, reportar problemas ou sugerir melhorias. Se você tiver alguma dúvida sobre como executar os testes ou quaisquer outras questões relacionadas ao projeto, não hesite em entrar em contato.