{"id":22589104,"url":"https://github.com/rajatt95/testautomationframework_yt_rajat_api_cypress_js","last_synced_at":"2025-04-10T03:05:56.186Z","repository":{"id":221898508,"uuid":"755616188","full_name":"rajatt95/TestAutomationFramework_YT_Rajat_API_Cypress_JS","owner":"rajatt95","description":"This project is a Test Automation Framework built using Cypress and Javascript for automated testing of REST APIs.","archived":false,"fork":false,"pushed_at":"2025-01-27T14:10:27.000Z","size":514,"stargazers_count":1,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-24T04:35:16.927Z","etag":null,"topics":["crud-operations","custom-utilities","cypress","cypress-mochawesome-reporter","github-actions","javascript","nodejs","rest-api","test-automation","vscode"],"latest_commit_sha":null,"homepage":"https://www.youtube.com/@rajatt95","language":"HTML","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/rajatt95.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-02-10T18:37:28.000Z","updated_at":"2025-01-27T14:10:30.000Z","dependencies_parsed_at":"2024-12-08T08:12:28.138Z","dependency_job_id":"a2b88ff4-ab3a-41e3-ba6d-e9af5877e7ed","html_url":"https://github.com/rajatt95/TestAutomationFramework_YT_Rajat_API_Cypress_JS","commit_stats":null,"previous_names":["rajatt95/testautomationframework_yt_rajat_api_cypress_js"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajatt95%2FTestAutomationFramework_YT_Rajat_API_Cypress_JS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajatt95%2FTestAutomationFramework_YT_Rajat_API_Cypress_JS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajatt95%2FTestAutomationFramework_YT_Rajat_API_Cypress_JS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajatt95%2FTestAutomationFramework_YT_Rajat_API_Cypress_JS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rajatt95","download_url":"https://codeload.github.com/rajatt95/TestAutomationFramework_YT_Rajat_API_Cypress_JS/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248148237,"owners_count":21055547,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["crud-operations","custom-utilities","cypress","cypress-mochawesome-reporter","github-actions","javascript","nodejs","rest-api","test-automation","vscode"],"created_at":"2024-12-08T08:12:18.276Z","updated_at":"2025-04-10T03:05:56.156Z","avatar_url":"https://github.com/rajatt95.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\n    #/**\n    # * @author Rajat Verma\n    # * Email: rajatvermaa95@gmail.com\n    # * GitHub Profile: https://github.com/rajatt95\n    # * GitHub Page: https://rajatt95.github.io/\n    # * LinkedIn: https://www.linkedin.com/in/rajatt95/\n    # * Topmate: https://topmate.io/rajatt95\n    # * Telegram: https://t.me/rajatt95\n    # * Instagram: https://www.instagram.com/rajattvermaa95/\n    # * YouTube: https://www.youtube.com/@rajatt95\n    # * WhatsApp Community: https://chat.whatsapp.com/DVRP0ViD0YwELUKF2XMJHy\n    # * WhatsApp Channel: https://whatsapp.com/channel/0029Va9XXMhJ93waOU5Xer3r\n    # */\n    #/***************************************************/\n--\u003e\n---\n# 💻 Test Automation Framework | API \n\n[![Cypress](https://img.shields.io/badge/Cypress-17202C?style=for-the-badge\u0026logo=cypress\u0026logoColor=white)](https://www.cypress.io/) \n[![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge\u0026logo=javascript\u0026logoColor=black)](https://js.org/index.html) \n\n[![VS Code](https://img.shields.io/badge/VS_Code-007ACC?style=for-the-badge\u0026logo=visual-studio-code\u0026logoColor=white)](https://code.visualstudio.com/)\n[![Mochawesome Reports](https://img.shields.io/badge/Mochawesome%20Reports-\u003cCOLOR\u003e?style=for-the-badge\u0026logo=mochawesome\u0026logoColor=white)](https://www.npmjs.com/package/cypress-mochawesome-reporter)\n[![GitHub Actions](https://img.shields.io/badge/GitHub%20Actions-2088FF?style=for-the-badge\u0026logo=github-actions\u0026logoColor=white)](https://github.com/features/actions) \n\n## 📑 Table of Contents\n\u003c!-- # - [Video Tutorial](#video-tutorial) --\u003e\n- [Introduction](#introduction)\n- [Prerequisites](#prerequisites)\n- [Getting Started](#getting-started)\n- [Running Tests](#running-tests)\n- [Project Structure](#project-structure)\n- [Configuration](#configuration)\n- [Continuous Integration](#continuous-integration)\n- [Reporting](#reporting)\n- [Other Projects](#other-projects)\n- [Technical Documents](#technical-documents)\n- [Contacts](#contacts)\n\n## 📖 Introduction\nThis repository contains a Test Automation Framework built using Cypress and Javascript for automated testing of REST APIs.\n\n\u003c!-- ## 🎥 Video Tutorial\n\n\u003ca href=\"https://www.youtube.com/watch?v=g0nG6aPbpl4\u0026list=PLrBBHmoBFxBUu9G7haETpa0B03H9GnfKX\"\u003e \u003cimg src=\"https://img.youtube.com/vi/g0nG6aPbpl4/0.jpg\" alt=\"Test Automation Framework | WEB | Cypress + JS\" width=\"200\"\u003e \u003c/a\u003e\n\nClick on the image above to watch the tutorials. --\u003e\n\n## 🛠️ Prerequisites\n\n- [![Node.js](https://img.shields.io/badge/Node.js-43853D?style=for-the-badge\u0026logo=node.js\u0026logoColor=white)](https://nodejs.org/) (v18.16.1 or higher recommended)\n- [![npm](https://img.shields.io/badge/npm-CB3837?style=for-the-badge\u0026logo=npm\u0026logoColor=white)](https://www.npmjs.com/) (v9.5.1 or higher recommended)\n\n## ▶️ Getting Started\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/rajatt95/TestAutomationFramework_YT_Rajat_API_Cypress_JS.git\n   ```\n\n2. Navigate to the project directory:\n\n   ```bash\n   cd TestAutomationFramework_YT_Rajat_API_Cypress_JS\n   ```\n\n3. Install dependencies:\n\n   ```bash\n   npm install\n   ```\n\n## 🚀 Running Tests\n\n  ```bash\n  npm run cy:tests\n  ```\n\n## 📁 Project Structure\n\nThe tests follow a modular and maintainable structure:\n\n```\n|-- .github\n|     |-- workflows\n|          |-- 01_api_tests.yml\n|          |-- 02_api_tests_select_env.yml\n|-- cypress\n|     |-- e2e\n|          |-- tests-reqres\n|                |-- login.cy.js\n|                |-- register.cy.js\n|                |-- users.cy.js\n|     |-- fixtures\n|           |-- request-body\n|                |-- users\n|                    |-- user_create.json\n|                    |-- user_update_patch.json\n|                    |-- user_update_put.json\n|           |-- schema\n|                |-- users\n|                    |-- user_create.json\n|                    |-- user_update_patch.json\n|                    |-- user_update_put.json\n|     |-- reports\n|     |-- support\n|          |-- utils\n|                |-- EndpointUtils.js\n|                |-- RequestBodyUtils.js\n|                |-- RequestUtils.js\n|                |-- ResponseUtils.js\n|                |-- SchemaUtils.js\n|                |-- VerificationUtils.js\n|          |-- commands.js\n|          |-- e2e.js\n|-- .gitignore\n|-- cypress.config.js\n|-- package.json\n```\n\n- `cypress/e2e`: Contains the actual test files. You can organize your tests into subdirectories as needed. \n- `cypress/fixtures`: Contains external files (example: user create/update data) that can be used to mock data during tests.\n- `cypress/reports`: Contains the report for tests (Logs are attached).\n- `cypress/support`: Contains custom commands and global configuration.\n- `cypress/support/utils`: Contains the Utilities that provides methods for asserting different conditions on web elements, handling requests and responses.\n\n\n## ⚙️ Configuration\n\n- Modify `cypress.config.json` for Cypress configuration settings.\n- Customize `commands.js` and other files in `cypress/support` for reusable commands.\n\n## 🔄 Continuous Integration\n\nThis project is configured for CI using Github Actions. Check the configurations in `.github/workflows/*.yml`.\n\n- `01_api_tests.yml`: This workflow executes tests in pre-defined environment PROD.\n- `02_api_tests_select_env.yml`: This workflow will first ask User to select the environment (DEV / Pre-PROD / PROD) for tests execution.\n\n## 📊 Reporting\n\nMochawesome report (Logs are attached) is stored in the `cypress/reports` directory.\n\n\n## 🔭 Other Projects\n\n- [![Java](https://img.shields.io/badge/Java-007396?style=for-the-badge\u0026logo=java\u0026logoColor=white)](https://github.com/stars/rajatt95/lists/programming-language-java)  - \n  [![Selenium](https://img.shields.io/badge/Selenium-43B02A?style=for-the-badge\u0026logo=selenium\u0026logoColor=white)](https://github.com/stars/rajatt95/lists/selenium-automation-frameworks)\n  [![Appium](https://img.shields.io/badge/Appium-40C4FF?style=for-the-badge\u0026logo=appium\u0026logoColor=white)](https://github.com/stars/rajatt95/lists/appium-automation-frameworks)\n  [![Rest Assured](https://img.shields.io/badge/Rest%20Assured-5B47A5?style=for-the-badge\u0026logo=rest-assured\u0026logoColor=white)](https://github.com/stars/rajatt95/lists/restassured-automation-framework)\n\n- [![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge\u0026logo=javascript\u0026logoColor=black)](https://github.com/stars/rajatt95/lists/programming-language-javascript) - \n[![Cypress](https://img.shields.io/badge/Cypress-17202C?style=for-the-badge\u0026logo=cypress\u0026logoColor=white)](https://github.com/stars/rajatt95/lists/cypress-automation-frameworks)\n[![Playwright](https://img.shields.io/badge/Playwright-34495E?style=for-the-badge\u0026logo=playwright\u0026logoColor=white)](https://github.com/stars/rajatt95/lists/playwright-automation-frameworks)\n\n- [![Python](https://img.shields.io/badge/Python-3776AB?style=for-the-badge\u0026logo=python\u0026logoColor=white)](https://github.com/stars/rajatt95/lists/programming-language-python) -\n  [![Requests](https://img.shields.io/badge/Requests-2CA5E0?style=for-the-badge\u0026logo=python\u0026logoColor=white)](https://github.com/stars/rajatt95/lists/requests-automation-framework)\n\n## 📄 Technical Documents\n\n- [![Google Drive](https://img.shields.io/badge/Google%20Drive-4285F4?style=for-the-badge\u0026logo=google-drive\u0026logoColor=white)](https://drive.google.com/drive/folders/1tne9pZjgWvfrS0l9tVHs6k1jnQHpTLoA?usp=sharing)\n- [![GitHub Repository](https://img.shields.io/badge/GitHub-100000?style=for-the-badge\u0026logo=github\u0026logoColor=white)](https://github.com/rajatt95/Documents)\n\n## 📧 Contacts\n\n- [![Email](https://img.shields.io/badge/Email-rajatvermaa95%40gmail.com-green)](mailto:rajatvermaa95@gmail.com)\n- [![GitHub Profile](https://img.shields.io/badge/GitHub-Profile-blue)](https://github.com/rajatt95)\n- [![GitHub Page](https://img.shields.io/badge/GitHub-Page-lightgrey)](https://rajatt95.github.io/)\n- [![LinkedIn](https://img.shields.io/badge/LinkedIn-Profile-blue)](https://www.linkedin.com/in/rajatt95)\n- [![Topmate](https://img.shields.io/badge/Topmate-Profile-red)](https://topmate.io/rajatt95)\n- [![Telegram](https://img.shields.io/badge/Telegram-Channel-blue)](https://t.me/rajatt95)\n- [![Instagram](https://img.shields.io/badge/Instagram-Profile-orange)](https://www.instagram.com/rajattvermaa95/)\n- [![YouTube](https://img.shields.io/badge/YouTube-Channel-red)](https://www.youtube.com/@rajatt95)\n- [![WhatsApp Community](https://img.shields.io/badge/WhatsApp-Community-brightgreen)](https://chat.whatsapp.com/LP20xMGvxnEL88GoB58bo1)\n- [![WhatsApp Channel](https://img.shields.io/badge/WhatsApp-Channel-brightgreen)](https://whatsapp.com/channel/0029Va9XXMhJ93waOU5Xer3r)\n\nFeel free to reach out if you have any questions, or suggestions, or just want to chat!\n\nThanks for visiting my GitHub profile! 😊\n\n\u003cp align=\"left\"\u003e \u003cimg src=\"https://komarev.com/ghpvc/?username=rajatt95\u0026label=Profile%20views\u0026color=0e75b6\u0026style=flat\" alt=\"rajatt95\" /\u003e \u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frajatt95%2Ftestautomationframework_yt_rajat_api_cypress_js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frajatt95%2Ftestautomationframework_yt_rajat_api_cypress_js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frajatt95%2Ftestautomationframework_yt_rajat_api_cypress_js/lists"}