{"id":23044479,"url":"https://github.com/kvishalrj/qkart_ui_testing","last_synced_at":"2026-04-28T11:05:15.984Z","repository":{"id":264197262,"uuid":"892646607","full_name":"kvishalrj/QKart_UI_Testing","owner":"kvishalrj","description":"A ecommerce website ","archived":false,"fork":false,"pushed_at":"2024-11-22T14:50:37.000Z","size":136,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-08T16:11:55.993Z","etag":null,"topics":["developer-tools","html","java","locators","selenium","testng","xpath"],"latest_commit_sha":null,"homepage":"https://www.crio.do/learn/portfolio/vishal-kumar-criodo/ME_QKART_QA_V2/","language":"Java","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/kvishalrj.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-22T14:03:53.000Z","updated_at":"2024-11-27T07:47:40.000Z","dependencies_parsed_at":"2024-11-22T15:48:56.431Z","dependency_job_id":null,"html_url":"https://github.com/kvishalrj/QKart_UI_Testing","commit_stats":null,"previous_names":["kvishalrj/qkart_ui_testing"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvishalrj%2FQKart_UI_Testing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvishalrj%2FQKart_UI_Testing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvishalrj%2FQKart_UI_Testing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvishalrj%2FQKart_UI_Testing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kvishalrj","download_url":"https://codeload.github.com/kvishalrj/QKart_UI_Testing/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246922241,"owners_count":20855343,"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":["developer-tools","html","java","locators","selenium","testng","xpath"],"created_at":"2024-12-15T21:13:51.048Z","updated_at":"2026-04-28T11:05:10.952Z","avatar_url":"https://github.com/kvishalrj.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QKart UI Testing\n\n## Overview\n**QKart** is an e-commerce platform, and the purpose of this project is to design and automate test cases for the application using the **TestNG** framework.\n\n### Project Highlights:\n- Debugged and fixed **failing test cases** and improved existing test coverage for critical functionalities like **Register**, **Login**, **Product Search**, and **Cart Management**.\n- Automated manual test cases using **Selenium** with proper synchronization via **implicit and explicit waits**.\n- Enhanced locators with **dynamic XPath**, improving the reliability of the test scripts.\n- Migrated tests to the **TestNG** framework, enabling features like **test grouping**, **prioritization**, and **parameterization**.\n- Implemented **data-driven testing** using **Apache POI**, ensuring robustness with varied test inputs.\n- Modularized and maintained the test code for better readability and reduced duplication.\n- Captured screenshots before and after each test and upon encountering errors to aid in debugging.\n\n## Tools and Technologies Used:\n- **Java**\n- **Selenium WebDriver**\n- **TestNG**\n- **Apache POI**\n- **XPath**\n- **Developer Tools**\n- **HTML**\n\n## Project Structure:\nThe project is organized into the following modules:\n\n1. **Page Objects**:\n   - Encapsulates web elements and their respective methods for different QKart pages like Registration, Login, Products, and Cart.\n\n2. **Test Cases**:\n   - Designed following the **Page Object Model (POM)** with reusable methods for operations like searching, adding to the cart, and session management.\n\n3. **TestNG Configurations**:\n   - TestNG XML files manage test suites, parameterization, and test grouping (e.g., **Sanity** and **Regression**).\n\n4. **Synchronization Enhancements**:\n   - Improved test resilience by placing appropriate **implicit and explicit waits** for better synchronization between test scripts and the UI.\n\n5. **Reports**:\n   - **TestNG Listeners** generate detailed logs and screenshots for passed and failed tests.\n\n## Features Implemented:\n- **Data-Driven Testing**:\n  - Automated tests dynamically utilize data from Excel files via **Apache POI**.\n- **Modularization**:\n  - Modular test code enhances reusability and reduces redundancy.\n- **Enhanced Locators**:\n  - Dynamic XPath for robust and reliable element selection.\n- **Screenshots**:\n  - Screenshots are captured before and after test execution and upon failures.\n- **Cross-Browser Validations**:\n  - Automation validations span multiple tabs and browser windows.\n\n## How to Run:\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/kvishalrj/QKart_UI_Testing.git\n   ```\n2. Import the project into your preferred IDE (IntelliJ IDEA, Eclipse, etc.).\n3. Ensure **Java**, **Selenium**, and required dependencies are installed.\n4. Execute the test suite via `TestNG.xml` or using Maven/Gradle.\n\n### Running Tests:\n#### Using Maven:\n```bash\nmvn test\n```\n\n#### Using Gradle:\n```bash\ngradle test\n```\n\n## Reporting:\nAfter the test run, detailed reports are generated:\n- **Screenshots**: Located in the `screenshots/` directory.\n- **Test Reports**: Found in the `reports/` directory, providing detailed insights into the test execution.\n\n## Future Scope:\n- Expand test coverage for advanced features like payment gateways and user reviews.\n- Integrate with CI/CD pipelines for continuous testing.\n- Enhance reporting with tools like **Extent Reports**.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkvishalrj%2Fqkart_ui_testing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkvishalrj%2Fqkart_ui_testing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkvishalrj%2Fqkart_ui_testing/lists"}