Open nobregao opened 7 months ago
Os cenários a serem testados devem ser os mais importantes, e vendo "por alto", parece que você listou bons cenários. Tem alguns detalhes como Visualiza os botões “Login” e “Cadastrar” pode ser removido, já que isso seria testado pelo Pode se cadastrar e Pode realizar login.
Já usei o Cypress em 2019/20 e não me lembro de ter tido problemas com ele. Nunca usei o Playwright, então não consigo dizer qual faz mais sentido aqui. Não sei se é tão simples migrar entre um e outro quanto foi quando migramos do Jest para o Vitest (https://github.com/filipedeschamps/tabnews.com.br/pull/1642).
Você já teve experiências com algum dos dois?
Uma opção para começar essa implementação é criar um PR com alguns testes relacionados, que irá realizar todo o setup necessário (instalação de dependências e configurações), e assim não fica um PR muito denso com várias coisas diferentes para serem analisadas.
@aprendendofelipe acha melhor abrir o issue #255 de novo e concentrar todas as informações lá ou continuar aqui?
tenho experiência de estudo. uma sugestão para sairmos do lugar: implementar poucos cenários importantes nas duas ferramentas (em 2 PR diferentes) daí podemos comparar tempo de execução, sintaxe e configuração.
caso seja uma ideia a seguir, sugiro seguirmos nessa issue porque a #255 é focada em playwright.
uma sugestão para sairmos do lugar: implementar poucos cenários importantes nas duas ferramentas (em 2 PR diferentes) daí podemos comparar tempo de execução, sintaxe e configuração.
É o ideal, sim. Assim, já descobrimos o que funciona e o que não funciona para nosso caso.
Vou seguir com isso 💪
olá, seguindo com a discussão dos testes.
o que temos?
tests/e2e/home.spec.js
:
tests/e2e/login.spec.js
:
tests/e2e/publish-content.spec.js
:
tests/e2e/register.spec.js
:
status de outras coisas importantes:
gostaria de combinar para abrir o PR com esses primeiros testes + documentação, daí os demais e outros cenários que pensarmos posso fazer em outro. o que acham?
Pode abrir o PR quando achar que está pronto para mesclar, ou seja, ao ter os testes prontos, a documentação e resolver as revisões do PR #1687. Como o Felipe mencionou em https://github.com/filipedeschamps/tabnews.com.br/pull/1687#issuecomment-2143595807, sugiro também diminuir a quantidade de commits, para facilitar a revisão e separação em etapas do que foi resolvido.
Quanto tempo esses testes levam para serem executados na sua máquina? E, como comparação, quanto tempo levam todos os outros testes?
Descrição
Houve uma discussão em #255 sobre a implementação desse tipo de teste, mas como faz um tempo e não teve andamento gostaria de priorizar esse desenvolvimento para os fluxos principais.
Sugestão de implementação
Divido em sessões para organizar a minha mente kk
Sobre ferramenta
Na issue foi mencionada o Playwright, mas também existe Cypress. No artigo Playwright vs. Cypress — Uma Análise Detalhada do @RodrigoOBC cita semelhanças e diferenças. Além de ambas serem open-source, também suportam múltiplos navegadores e geram evidências de teste.
Pelo contexto atual do que já temos, percebo que o Cypress poderia nos atender. Porém, com o avanço do projeto, talvez, faça mais sentindo utilizar o Playwright dado que é possível paralelizar os testes.
Independente da ferramenta é interessante abstrair a implementação com o uso da abstração Page Objects (mencionado na issue) utilizando Playwright tem esse exemplo e Cypress tem esse aqui.
Sobre fluxos
Futucando o projeto localmente pensei nesses fluxos por tipo de usuário:
😶🌫️ Anônimo
🙃 Usuário padrão
😎 Usuário privilegiado
Posso ter me empolgado nesses cenários kk e, com certeza, não pensei em todos os possíveis. Vamos nos somando!
O que acham da ideia? e dos fluxos? fazem sentido?