Skip to content

Com base e adaptação em parte do que foi ensinado nos cursos "Playwright eXpress" e "Playwright Zombie Edition" da QAx, Projeto de Testes Funcionais Automatizados Web em Playwright e Javascript no front e API REST do ServeRest desenvolvido para praticar ainda mais testes automatizados, Page Objects e GitHub Actions

Notifications You must be signed in to change notification settings

AndressaKarla/testes-automatizados-web-front-serve-rest_playwright-javascript

Repository files navigation


🧪 Projeto de Testes Funcionais Automatizados Web | Playwright | Javascript | Page Objects | GitHub Actions

Badge ServeRest

ℹ️ Introdução

Me baseei e adaptei parte do que foi ensinado nos cursos "Playwright eXpress" e "Playwright Zombie Edition" da "QAx" para esse projeto "testes-automatizados-web-front-serve-rest_playwright-javascript" que é executado em um ambiente de produção no "front" e na "API REST" do "ServeRest" que simula uma loja virtual, nos navegadores Chrome e Firefox, Sistemas Operacionais Windows e Linux Ubuntu, e que foi desenvolvido com o objetivo de praticar ainda mais testes automatizados web em Playwright, Javascript, Page Objects e GitHub Actions.


⚠️ Instruções considerando Windows 10, para outras versões do Windows ou outros sistemas operacionais talvez seja necessário algumas adaptações

🎯 Executar os testes automatizados Web no navegador chrome, firefox, etc em modo headless (2º plano) em um ambiente de produção e Gerar os resultados dos testes no GitHub Actions

  • Nesse repositório, acessar a aba "Actions"
  • Na seção "Actions", clicar em "Pipeline Testes Automatizados Web Front ServeRest Playwright"
  • Em "This workflow has a workflow_dispatch event trigger.", clicar em "Run workflow" > "Run workflow" para executar testes automatizados Web no navegador chrome, firefox, etc em modo headless (2º plano) em um ambiente de produção e Gerar os resultados dos testes 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", etc]
  • Após o término da execução, clicar na run "Pipeline Testes Automatizados Web Front ServeRest Playwright"
  • Na seção "Artifacts", clicar em "playwright-report-html-chrome", "playwright-report-html-firefox, etc
  • Na janela aberta, escolher um diretório para baixar a pasta compactada "playwright-report-html-chrome.zip", "playwright-report-html-firefox.zip", etc
  • Na seção "Artifacts", clicar em "playwright-screenshots-videos-chrome", "playwright-screenshots-videos-firefox", etc
  • Na janela aberta, escolher um diretório para baixar a pasta compactada "playwright-screenshots-videos-chrome.zip", "playwright-screenshots-videos-firefox.zip", etc

🔎 Verificar no navegador padrão o report html gerado e armazenado anteriormente no GitHub Actions e descompactado no computador

  • No Windows 10, abrir uma janela do "Windows Explorer"
  • Acessar o diretório onde foi baixada a pasta compactada "playwright-report-html-chrome.zip", "playwright-report-html-firefox", etc anteriormente
  • Descompactar a pasta
  • Acessar a pasta descompactada "playwright-report-html-chrome", "playwright-report-html-firefox", etc
  • Clicar 2 vezes sob o report "index.html" gerado e armazenado anteriormente no GitHub Actions e descompactado para ser aberto e verificado no navegador padrão no computador

🔎 Verificar os screenshots e vídeos gerados e armazenados anteriormente no GitHub Actions e descompactados no computador

  • Abrir uma outra janela do "Windows Explorer"
  • Acessar o diretório onde foi baixada a pasta compactada "playwright-screenshots-videos-chrome.zip", "playwright-screenshots-videos-firefox.zip", etc anteriormente
  • Descompactar a pasta
  • Acessar a pasta descompactada "playwright-screenshots-videos-chrome", "playwright-screenshots-videos-firefox", etc
  • Na pasta descompactada "playwright-screenshots-videos-chrome", "playwright-screenshots-videos-firefox", etc acessada anteriormente, acessar "test-results > nome-arquivo-nome-describe-nome-cenario1-navegador1", "test-results > nome-arquivo-nome-describe-nome-cenariox-navegadorx", etc
  • Clicar 2 vezes sob os screenshots gerados e armazenados anteriormente no GitHub Actions e descompactados para ser abertos e verificados no computador
- test-finished-x.png
  . . .
- test-failed-x.png

Ex.1: "test-results > login-entrar-Funcionalidade-Tela-Login---Botão-cca59-te-é-seu-sistema-para-administrar-seu-ecommerce-chromium"

- test-finished-1.png

Ex.2: "test-results > login-entrar-Funcionalidade-Tela-Login---Botão-227d2-gem-×Email-é-obrigatório×Password-é-obrigatório-firefox"

- test-failed-1.png
  • Na pasta descompactada "playwright-screenshots-videos-chrome", "playwright-screenshots-videos-firefox", etc acessada anteriormente, acessar "test-results > nome-arquivo-nome-describe-nome-cenario1-navegador1", "test-results > nome-arquivo-nome-describe-nome-cenariox-navegadorx", etc
  • Clicar 2 vezes sob os vídeos gerados e armazenados anteriormente no GitHub Actions e descompactados para ser abertos e verificados no computador
- video.webm

Ex.1: "test-results > login-entrar-Funcionalidade-Tela-Login---Botão-cca59-te-é-seu-sistema-para-administrar-seu-ecommerce-chromium"

- video.webm

Ex.2: "test-results > login-entrar-Funcionalidade-Tela-Login---Botão-227d2-gem-×Email-é-obrigatório×Password-é-obrigatório-firefox"

- video.webm

⚠️ Antes de clonar ou executar esse projeto localmente no computador, é necessário ter os pré-requisitos e 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"

🛠️ Baixar e instalar o git e gitbash; configurar o git

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

🛠️ Instalar todas as dependências necessárias

Desinstalar completamente Node.js e npm que já foram instalados em algum outro momento

Node versão 18.12.1

  • Baixar e instalar o node v18.12.1 > node-v18.12.1-x64.msi
  • Abrir um novo gitbash ou outro terminal
  • Informar o comando abaixo para confirmar se o node realmente foi instalado
node --version
  • Verificar se foi retornada a mesma versão do node instalada anteriormente:
v18.12.1
  • Informar o comando abaixo para confirmar se o npm realmente foi instalado
npm --version
  • E verificar se foi retornada essa mesma versão do npm:
8.19.2
  • Fechar esse gitbash ou terminal

🛠️ Clonar o projeto

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

Ex.:

cd "C:\Projetos\Automação"
  • Informar o comando abaixo para clonar este repositório via "HTTPS"
git clone https://github.com/AndressaKarla/testes-automatizados-web-front-serve-rest_playwright-javascript.git
  • Ou informar o comando abaixo para clonar este repositório via "SSH"
git clone [email protected]:AndressaKarla/testes-automatizados-web-front-serve-rest_playwright-javascript.git

🛠️ Instalar todas as dependências necessárias

  • No gitbash aberto anteriormente, informar o comando abaixo para acessar o projeto "testes-automatizados-web-front-serve-rest_playwright-javascript" clonado anteriormente
cd "testes-automatizados-web-front-serve-rest_playwright-javascript"

Ex.:

C:\Projetos\Automação\testes-automatizados-web-front-serve-rest_playwright-javascript
  • Informar o comando abaixo para forçar, mesmo tendo possíveis conflitos, a instalação das dependências do projeto
npm install --force

🛠️ 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 "Playwright"
  • Clicar na opção "Create"
  • Clicar na opção "Extensions", informar e instalar as extensões abaixo:
    • Hyper Term Theme
      • HasseNasse
        • Clicar na opção "Hyper Term Black" apresentada para habilitar a extensão
    • Material Icon Theme
      • Philipp Kief
        • Clicar na opção "Material Icon Theme" apresentada para habilitar a extensão
    • Playwright Test for VSCode
      • Microsoft
  • Fechar o VS Code

📑 Abrir o VS Code diretamente na pasta do projeto "testes-automatizados-web-front-serve-rest_playwright-javascript"

  • No gitbash aberto anteriormente, informar o comando abaixo para abrir o VS Code diretamente na pasta do projeto "testes-automatizados-web-front-serve-rest_playwright-javascript"
code .
  • Aguardar o VS Code ser aberto
  • Fechar esse gitbash
  • 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", etc, informando os dados com base nos arquivos "usuario.example.json", etc

  • No VS Code aberto anteriormente, acessar "tests > 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 e Gerar os resultados dos testes no computador

🚩 Executar os testes automatizados Web no navegador chrome em um ambiente de produção na interface gráfica do Playwright e Gerar os resultados dos testes no computador (test-results)

  • Abrir uma janela do "Windows Explorer"
  • Acessar o diretório onde foi clonado o projeto "testes-automatizados-web-front-serve-rest_playwright-javascript"
  • Copiar esse diretório
  • Abrir um novo gitbash
  • Informar o comando abaixo para acessar o projeto "testes-automatizados-web-front-serve-rest_playwright-javascript"
cd "<diretório\copiado\anteriormente>"

Ex.:

cd "C:\Projetos\Automação\testes-automatizados-web-front-serve-rest_playwright-javascript"
  • Informar o comando abaixo para abrir a interface gráfica do Playwright
npm run pw:ui
  • NÃO fechar esse gitbash
  • Na interface gráfica do Playwright, em "Filter", clicar no ícone à esquerda ">" para expandir
  • Marcar a opção "chromium" e desmarcar outra opção que esteja marcada
  • Em "TESTS" > "... spec.js", ir clicando no ícone à esquerda ">" para ir expandindo
  • Em "TESTS", clicar na opção verde "Run all" para executar todas as funcionalidades e/ou cenários do projeto no navegador chrome na interface gráfica do Playwright e Gerar os resultados dos testes no computador (test-results)
  • Após executar os testes, fechar a interface gráfica do Playwright
  • Fechar esse gitbash

🚩 Ou executar os testes automatizados Web no navegador chrome em um ambiente de produção na interface gráfica e Gerar os resultados dos testes no computador (test-results, playwright-report)

  • Abrir uma janela do "Windows Explorer"
  • Acessar o diretório onde foi clonado o projeto "testes-automatizados-web-front-serve-rest_playwright-javascript"
  • Copiar esse diretório
  • Abrir um novo gitbash
  • Informar o comando abaixo para acessar o projeto "testes-automatizados-web-front-serve-rest_playwright-javascript"
cd "<diretório\copiado\anteriormente>"

Ex.:

cd "C:\Projetos\Automação\testes-automatizados-web-front-serve-rest_playwright-javascript"
  • Informar o comando abaixo para executar todas as funcionalidades e/ou cenários do projeto no navegador chrome em um ambiente de produção na interface gráfica e Gerar os resultados dos testes no computador (test-results, playwright-report):
npm run test:headed
  • Após executar os testes, fechar esse gitbash

🚩 Ou executar os testes automatizados Web no navegador chrome em modo headless (2º plano) em um ambiente de produção e Gerar os resultados dos testes no computador (test-results, playwright-report)

  • Abrir uma janela do "Windows Explorer"
  • Acessar o diretório onde foi clonado o projeto "testes-automatizados-web-front-serve-rest_playwright-javascript"
  • Copiar esse diretório
  • Abrir um novo gitbash
  • Informar o comando abaixo para acessar o projeto "testes-automatizados-web-front-serve-rest_playwright-javascript"
cd "<diretório\copiado\anteriormente>"

Ex.:

cd "C:\Projetos\Automação\testes-automatizados-web-front-serve-rest_playwright-javascript"
  • Informar o comando abaixo para executar todas as funcionalidades e/ou cenários do projeto no navegador chrome em modo headless (2º plano) em um ambiente de produção (mesmo comando que é utilizado no "Passo 6" do job "playwright-chrome" da "Pipeline Testes Automatizados Web Front ServeRest Playwright" em ".github > workflows > workflow-testes-automatizados-web-front-serve-rest-playwright.yml" no GitHub Actions) e Gerar os resultados dos testes no computador (test-results, playwright-report):
npm run test
  • Após executar os testes, fechar esse gitbash

🚩 Executar os testes automatizados Web no navegador firefox em um ambiente de produção na interface gráfica do Playwright e Gerar os resultados dos testes no computador (test-results)

  • Abrir uma janela do "Windows Explorer"
  • Acessar o diretório onde foi clonado o projeto "testes-automatizados-web-front-serve-rest_playwright-javascript"
  • Copiar esse diretório
  • Abrir um novo gitbash
  • Informar o comando abaixo para acessar o projeto "testes-automatizados-web-front-serve-rest_playwright-javascript"
cd "<diretório\copiado\anteriormente>"

Ex.:

cd "C:\Projetos\Automação\testes-automatizados-web-front-serve-rest_playwright-javascript"
  • Informar o comando abaixo para abrir a interface gráfica do Playwright
npm run pw:ui
  • NÃO fechar esse gitbash
  • Na interface gráfica do Playwright, em "Filter", clicar no ícone à esquerda ">" para expandir
  • Marcar a opção "firefox" e desmarcar outra opção que esteja marcada
  • Em "TESTS" > "... spec.js", ir clicando no ícone à esquerda ">" para ir expandindo
  • Em "TESTS", clicar na opção verde "Run all" para executar todas as funcionalidades e/ou cenários do projeto no navegador firefox na interface gráfica do Playwright e Gerar os resultados dos testes no computador (test-results)
  • Após executar os testes, fechar a interface gráfica do Playwright
  • Fechar esse gitbash

🚩 Ou executar os testes automatizados Web no navegador firefox em um ambiente de produção na interface gráfica e Gerar os resultados dos testes no computador (test-results, playwright-report)

  • Abrir uma janela do "Windows Explorer"
  • Acessar o diretório onde foi clonado o projeto "testes-automatizados-web-front-serve-rest_playwright-javascript"
  • Copiar esse diretório
  • Abrir um novo gitbash
  • Informar o comando abaixo para acessar o projeto "testes-automatizados-web-front-serve-rest_playwright-javascript"
cd "<diretório\copiado\anteriormente>"

Ex.:

cd "C:\Projetos\Automação\testes-automatizados-web-front-serve-rest_playwright-javascript"
  • Informar o comando abaixo para executar todas as funcionalidades e/ou cenários do projeto no navegador firefox em um ambiente de produção na interface gráfica e Gerar os resultados dos testes no computador (test-results, playwright-report):
npm run test:headed:ff
  • Após executar os testes, fechar esse gitbash

🚩 Ou executar os testes automatizados Web no navegador firefox em modo headless (2º plano) em um ambiente de produção e Gerar os resultados dos testes no computador (test-results, playwright-report)

  • Abrir uma janela do "Windows Explorer"
  • Acessar o diretório onde foi clonado o projeto "testes-automatizados-web-front-serve-rest_playwright-javascript"
  • Copiar esse diretório
  • Abrir um novo gitbash
  • Informar o comando abaixo para acessar o projeto "testes-automatizados-web-front-serve-rest_playwright-javascript"
cd "<diretório\copiado\anteriormente>"

Ex.:

cd "C:\Projetos\Automação\testes-automatizados-web-front-serve-rest_playwright-javascript"
  • Informar o comando abaixo para executar todas as funcionalidades e/ou cenários do projeto no navegador firefox em modo headless (2º plano) em um ambiente de produção (mesmo comando que é utilizado no "Passo 6" do job "playwright-firefox" da "Pipeline Testes Automatizados Web Front ServeRest Playwright" em ".github > workflows > workflow-testes-automatizados-web-front-serve-rest-playwright.yml" no GitHub Actions) e Gerar os resultados dos testes no computador (test-results, playwright-report):
npm run test:ff
  • Após executar os testes, fechar esse gitbash

🔎 Verificar os resultados das execuções dos testes automatizados Web no computador

📑 Report html no computador

  • No VS Code aberto anteriormente, acessar "playwright-report > index.html"
  • Clicar com botão direito do mouse sob o report "index.html" > "Reveal in File Explorer"
  • Na janela do "Windows Explorer" aberta automaticamente, clicar 2 vezes sob o report "index.html" gerado e armazenado anteriormente no computador para ser aberto e verificado no navegador padrão

📑 Screenshots no computador

  • No VS Code aberto anteriormente, acessar "test-results > nome-arquivo-nome-describe-nome-cenario1-navegador1", "test-results > nome-arquivo-nome-describe-nome-cenariox-navegadorx", etc
  • Clicar 2 vezes sob os screenshots
- test-finished-x.png
  . . .
- test-failed-x.png

Ex.1: "test-results > login-entrar-Funcionalidade-Tela-Login---Botão-cca59-te-é-seu-sistema-para-administrar-seu-ecommerce-chromium"

- test-finished-1.png

Ex.2: "test-results > login-entrar-Funcionalidade-Tela-Login---Botão-227d2-gem-×Email-é-obrigatório×Password-é-obrigatório-firefox"

- test-failed-1.png

📑 Vídeos no computador

  • No VS Code aberto anteriormente, acessar "test-results > nome-arquivo-nome-describe-nome-cenario1-navegador1", "test-results > nome-arquivo-nome-describe-nome-cenariox-navegadorx", etc
  • Clicar 2 vezes sob os vídeos
- video.webm

Ex.1: "test-results > login-entrar-Funcionalidade-Tela-Login---Botão-cca59-te-é-seu-sistema-para-administrar-seu-ecommerce-chromium"

- video.webm

Ex.2: "test-results > login-entrar-Funcionalidade-Tela-Login---Botão-227d2-gem-×Email-é-obrigatório×Password-é-obrigatório-firefox"

- video.webm

Feito com ❤️ por Andressa Karla 👋

Medium Linkedin


About

Com base e adaptação em parte do que foi ensinado nos cursos "Playwright eXpress" e "Playwright Zombie Edition" da QAx, Projeto de Testes Funcionais Automatizados Web em Playwright e Javascript no front e API REST do ServeRest desenvolvido para praticar ainda mais testes automatizados, Page Objects e GitHub Actions

Topics

Resources

Stars

Watchers

Forks