{"id":20849459,"url":"https://github.com/gbrlsouza/lobbycypresstests","last_synced_at":"2026-02-27T05:01:37.052Z","repository":{"id":261604911,"uuid":"884800392","full_name":"GbrlSouza/LobbyCypressTests","owner":"GbrlSouza","description":"Lobby Cypress Tests","archived":false,"fork":false,"pushed_at":"2024-11-26T16:38:39.000Z","size":36941,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-30T20:49:43.957Z","etag":null,"topics":["cypress","github-actions","html","javascript","video","xml"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GbrlSouza.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-07T12:14:59.000Z","updated_at":"2024-11-29T11:44:15.000Z","dependencies_parsed_at":"2024-11-26T17:37:18.090Z","dependency_job_id":null,"html_url":"https://github.com/GbrlSouza/LobbyCypressTests","commit_stats":null,"previous_names":["gbrlsouza/lobbycypresstestslocalhost","gbrlsouza/lobbycypresstests"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GbrlSouza/LobbyCypressTests","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GbrlSouza%2FLobbyCypressTests","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GbrlSouza%2FLobbyCypressTests/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GbrlSouza%2FLobbyCypressTests/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GbrlSouza%2FLobbyCypressTests/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GbrlSouza","download_url":"https://codeload.github.com/GbrlSouza/LobbyCypressTests/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GbrlSouza%2FLobbyCypressTests/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29885799,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T23:51:21.483Z","status":"online","status_checked_at":"2026-02-27T02:00:06.759Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cypress","github-actions","html","javascript","video","xml"],"created_at":"2024-11-18T03:05:11.424Z","updated_at":"2026-02-27T05:01:37.034Z","avatar_url":"https://github.com/GbrlSouza.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lobby Cypress Tests\n\nRepositório contendo a suíte de testes automatizados com Cypress de o projeto **Lobby** ou **Dev**.\n\n## Visão Geral\n\nEste projeto utiliza o framework de testes E2E (End-to-End) Cypress para verificar o comportamento e a funcionalidade da aplicação **Lob**. A suíte de testes foi projetada para ser robusta, confiável e eficiente, garantindo que as funcionalidades essenciais do projeto sejam testadas automaticamente.\n\n## Estrutura do Projeto\n\n- **cypress/**: Contém a pasta com todos os testes, fixtures e comandos customizados.\n  - **fixtures/**: Armazena arquivos de dados para uso nos testes.\n  - **integration/**: Contém os arquivos dos testes automatizados.\n  - **plugins/**: Scripts de configuração e customizações do Cypress.\n  - **support/**: Funções e comandos globais que podem ser usados por todos os testes.\n- **cypress.json**: Arquivo de configuração do Cypress.\n- **README.md**: Documentação do projeto.\n\n## Requisitos\n\n- Node.js (versão 14 ou superior)\n- Cypress (versão 12 ou superior)\n\n## Instalação\n\n1. Clone o repositório:\n\n   ```bash\n   git clone https://github.com/GbrlSouza/LobCypressTestsLocalHost.git\n   ```\n\n2. Acesse o diretório do projeto:\n\n   ```bash\n   cd LobCypressTestsLocalHost\n   ```\n\n3. Instale as dependências:\n\n   ```bash\n   npm install\n   ```\n\n## Executando os Testes\n\n- Para abrir o Cypress em modo interativo:\n\n  ```bash\n  npx cypress open\n  ```\n\n- Para executar os testes no modo headless:\n\n  ```bash\n  npx cypress run\n  ```\n\n## Configuração\n\n- As configurações de ambiente podem ser ajustadas no arquivo `cypress.json`.\n- Adicione credenciais sensíveis ou variáveis de ambiente de forma segura, se necessário.\n\n## Estrutura de Testes\n\n- **Testes de Login**: Verificam a funcionalidade de autenticação do usuário.\n- **Testes de UI**: Validam elementos da interface, como botões, formulários e links.\n- **Testes de Funcionalidade**: Checam funcionalidades críticas, como envio de formulários e navegação.\n\n## Boas Práticas\n\n- Sempre mantenha os testes atualizados com as funcionalidades da aplicação.\n- Use comandos customizados no Cypress para evitar repetição de código.\n- Execute os testes em diferentes navegadores e ambientes para melhor cobertura.\n\n## Contribuição\n\n1. Faça um fork do repositório.\n2. Crie uma branch para sua feature/bug fix (`git checkout -b minha-branch`).\n3. Commit suas mudanças (`git commit -m 'Minha feature incrível'`).\n4. Dê push na branch (`git push origin minha-branch`).\n5. Abra um Pull Request.\n\n## Licença\n\nEste projeto é licenciado sob a [MIT License](LICENSE).\n\n---\n\nSinta-se à vontade para contribuir ou abrir issues caso encontre algum problema ou tenha sugestões de melhoria!\n\n## Saiba Mais\n\nEsse arquivo é um **workflow do GitHub Actions** que automatiza a execução de testes com o **Cypress** sempre que houver um *push* (envio de código) para o repositório. Vou explicar cada parte em detalhes:\n\n### Estrutura do Workflow\n- **Nome do Workflow: `Cypress Tests`**\n  - Nome que aparece no GitHub para identificar o que o workflow faz.\n\n### Quando Executar o Workflow\n- **on: push**\n  - Significa que o workflow será acionado automaticamente quando houver um *push* no repositório. Pode ser configurado para outros eventos, mas aqui ele está configurado para mudanças no código.\n\n---\n\n### Definição do Trabalho (Job)\n- **jobs: cypress-run**\n  - Define um trabalho chamado `cypress-run`, que será executado em uma máquina Ubuntu.\n\n### Ambiente de Execução\n- **runs-on: ubuntu-22.04**\n  - Especifica que o trabalho será executado em um ambiente Linux (Ubuntu 22.04). É uma das opções mais comuns para CI/CD porque é rápida e amplamente compatível.\n\n---\n\n### Passos do Workflow\n1. **Checkout do Código**\n   - **name: Checkout**\n   - **uses: actions/checkout@v4**\n   - Este passo usa a ação oficial `actions/checkout` para clonar o código do repositório. É necessário para que o código esteja disponível no ambiente de execução.\n\n2. **Instalar Dependências**\n   - **name: Install Dependencies**\n   - **run: npm install**\n   - Executa `npm install` para baixar todas as dependências listadas no `package.json` do projeto. Isso garante que o Cypress e qualquer outra biblioteca estejam instalados antes de rodar os testes.\n\n3. **Corrigir Permissões do Cypress**\n   - **name: Fix Cypress Permissions**\n   - **run: chmod +x ./node_modules/.bin/cypress**\n   - Altera as permissões do binário do Cypress para que ele seja executável. Isso é feito com o comando `chmod +x`, que pode ser necessário em ambientes Linux.\n\n4. **Instalar Cypress**\n   - **name: Install Cypress**\n   - **run: npx cypress install**\n   - Usa `npx` para instalar o binário do Cypress. Isso garante que o Cypress esteja configurado corretamente e pronto para rodar os testes.\n\n5. **Executar Testes Cypress**\n   - **name: Run Cypress Tests**\n   - **run: npm run test**\n   - Executa o comando `npm run test`, que deve estar configurado no `package.json` para rodar os testes Cypress. Aqui, espera-se que o Cypress inicie e execute todos os testes definidos.\n\n6. **Upload de Screenshots do Cypress**\n   - **name: Upload Cypress Screenshots**\n   - **if: failure()**\n   - **uses: actions/upload-artifact@v3**\n   - Esse passo faz o upload das capturas de tela (screenshots) geradas pelo Cypress, mas **somente se os testes falharem**. A condição `if: failure()` garante que os screenshots sejam salvos apenas em caso de falha, ajudando a depurar problemas.\n   - **with**: Define o nome do artefato (`cypress-screenshots`) e o caminho para encontrar os screenshots (`cypress/screenshots`). Se nenhum arquivo for encontrado, ele ignora.\n\n7. **Upload de Vídeos do Cypress**\n   - **name: Upload Cypress Videos**\n   - **uses: actions/upload-artifact@v3**\n   - Sem a condição de falha, este passo faz o upload dos vídeos gerados pelo Cypress, independentemente de os testes passarem ou falharem.\n   - **with**: Define o nome do artefato (`cypress-videos`) e o caminho para encontrar os vídeos (`cypress/videos`). Também ignora se não houver arquivos.\n\n---\n\n### Resumo\nEsse workflow configura o ambiente, instala as dependências, garante que o Cypress esteja pronto para uso, e executa os testes. Se os testes falharem, ele armazena screenshots e vídeos como artefatos, facilitando a análise do que deu errado. É uma configuração robusta para integrar testes Cypress em um processo de CI/CD.\n\n### Explicando o Workflow YAML\nAqui está o que acontece em cada etapa:\n\n1. **name: Cypress Tests**: Define o nome do workflow. Este é um identificador simples para o que o workflow faz.\n\n2. **on: push**: O workflow será executado sempre que houver um `push` para o repositório, ou seja, quando houver mudanças no código.\n\n3. **jobs: cypress-run**: Define o trabalho chamado `cypress-run` que será executado em um sistema operacional Ubuntu 22.04.\n\n### Etapas do Workflow\n1. **Checkout**:\n   - Usa a ação `actions/checkout@v4` para baixar o código do repositório no runner (o ambiente que executa o workflow).\n\n2. **Install Dependencies**:\n   - Roda `npm install` para instalar as dependências listadas no `package.json`.\n\n3. **Fix Cypress Permissions**:\n   - Executa `chmod +x ./node_modules/.bin/cypress` para garantir que o Cypress tenha as permissões corretas para ser executado.\n\n4. **Install Cypress**:\n   - Roda `npx cypress install` para baixar e instalar os binários do Cypress.\n\n5. **Run Cypress Tests**:\n   - Executa `npm run test`, que inicia os testes Cypress definidos no `package.json`.\n\n6. **List Cypress Folder**:\n   - Executa `ls -la cypress/videos` para listar os arquivos na pasta de vídeos, garantindo que os arquivos foram gerados corretamente. Isso é útil para depuração, especialmente se você quiser verificar se os arquivos esperados foram criados.\n\n7. **Upload Cypress Screenshots**:\n   - Se os testes falharem, esta etapa faz upload das capturas de tela como artefatos. O `if: failure()` garante que esta etapa só seja executada se houver falhas.\n\n8. **Upload Cypress Videos**:\n   - Faz upload dos vídeos gravados dos testes Cypress como artefatos. Se não houver arquivos, o workflow ignora silenciosamente.\n\n---\n\n### Comtinua não entendendo!?\n- Passa no RH!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgbrlsouza%2Flobbycypresstests","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgbrlsouza%2Flobbycypresstests","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgbrlsouza%2Flobbycypresstests/lists"}