{"id":28153770,"url":"https://github.com/sandipchopkar95/java_selenium_junit-bdd_demoblaze","last_synced_at":"2026-05-01T21:05:48.688Z","repository":{"id":267669038,"uuid":"901980657","full_name":"sandipchopkar95/Java_Selenium_JUnit-BDD_Demoblaze","owner":"sandipchopkar95","description":"This is a Behavior Driven Development (BDD) test automation framework using Selenium WebDriver, Java, JUnit, and Cucumber. It follows Page Object Model (POM) design principles and is structured for scalable and maintainable test automation.","archived":false,"fork":false,"pushed_at":"2025-05-14T12:14:03.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-14T13:36:05.612Z","etag":null,"topics":["bdd","cucumber","cucumber-java","java","selenium"],"latest_commit_sha":null,"homepage":"","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/sandipchopkar95.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,"zenodo":null}},"created_at":"2024-12-11T17:12:51.000Z","updated_at":"2025-05-14T13:05:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"ce82304a-8569-4acb-a11b-169e32db3455","html_url":"https://github.com/sandipchopkar95/Java_Selenium_JUnit-BDD_Demoblaze","commit_stats":null,"previous_names":["sandipchopkar95/demoblaze_bdd"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandipchopkar95%2FJava_Selenium_JUnit-BDD_Demoblaze","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandipchopkar95%2FJava_Selenium_JUnit-BDD_Demoblaze/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandipchopkar95%2FJava_Selenium_JUnit-BDD_Demoblaze/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandipchopkar95%2FJava_Selenium_JUnit-BDD_Demoblaze/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sandipchopkar95","download_url":"https://codeload.github.com/sandipchopkar95/Java_Selenium_JUnit-BDD_Demoblaze/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254283295,"owners_count":22045141,"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":["bdd","cucumber","cucumber-java","java","selenium"],"created_at":"2025-05-15T06:12:07.272Z","updated_at":"2025-10-28T22:19:22.208Z","avatar_url":"https://github.com/sandipchopkar95.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Java Selenium BDD Framework with JUnit\n\nThis is a Behavior Driven Development (BDD) test automation framework using **Selenium WebDriver**, **Java**, **JUnit**, and **Cucumber**. It follows **Page Object Model (POM)** design principles and is structured for scalable and maintainable test automation.\n\n---\n\n## 📁 Project Structure\n\n```\nsrc/\n├── main/\n│   └── java/com/personal/demoblaze/\n│       ├── AppConstants/              # Application constants\n│       │   └── AppConstant.java\n│       ├── config/                    # Driver and config setup\n│       │   ├── ConfigReader.java\n│       │   └── DriverManager.java\n│       ├── pages/                     # Page Object Model classes\n│       │   ├── CartPage.java\n│       │   ├── ContactUs.java\n│       │   ├── HomePage.java\n│       │   ├── LoginPage.java\n│       │   └── MyAccountPage.java\n│       └── utils/                     # Utility classes\n│           ├── ScreenshotUtil.java\n│           └── WaitHelper.java\n│\n├── test/\n│   └── java/com/personal/demoblaze/\n│       ├── basetest/                  # Base test class\n│       │   └── BaseTest.java\n│       ├── runners/                   # Cucumber test runners\n│       │   └── TestRunner.java\n│       └── stepdefinitions/          # Step definition classes\n│           ├── HomePage_Steps.java\n│           ├── Login_Logout_Steps.java\n│           └── MyAccountPage_Steps.java\n│\n├── resources/\n│   ├── config.properties              # Test configuration\n│   └── features/homepage/            # Feature files\n│       ├── HomePage.feature\n│       ├── Login_LogOut.feature\n│       ├── MyAccountPage.feature\n│       └── cucumber.properties\n```\n\n---\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- Java JDK 11+\n- Maven 3.6+\n- IDE (IntelliJ IDEA, Eclipse, etc.)\n- Browser driver (e.g., ChromeDriver)\n\n### Installation\n\nClone the repository and navigate to the project root directory.\n\n```bash\ngit clone https://github.com/your-repo/demoblaze-bdd-framework.git\ncd demoblaze-bdd-framework\n```\n\nInstall dependencies:\n\n```bash\nmvn clean install\n```\n\n---\n\n## 🧪 Running Tests\n\nRun the test suite using Maven:\n\n```bash\nmvn test\n```\n\nOr directly run via JUnit in your IDE using `TestRunner.java`.\n\n---\n\n## 🧾 Writing Feature Files\n\nFeature files are written in **Gherkin** syntax and located in `src/test/resources/features/homepage/`.\n\nExample:\n\n```gherkin\nFeature: Login Functionality\n\n  Scenario: Successful login with valid credentials\n    Given user is on login page\n    When user enters valid username and password\n    Then user should be redirected to the homepage\n```\n\n---\n\n## 🧩 Step Definitions\n\nStep definitions are implemented in `stepdefinitions/` and mapped to feature file steps using Cucumber annotations:\n\n```java\n@Given(\"user is on login page\")\npublic void user_is_on_login_page() {\n    loginPage.navigateToLogin();\n}\n```\n\n---\n\n## ⚙ Configuration\n\nEdit `config.properties` to change environment settings such as:\n\n```properties\nbrowser=chrome\nbaseUrl=https://demoblaze.com\nimplicitWait=10\n```\n\n---\n\n## 📸 Utilities\n\n- `ScreenshotUtil.java`: Captures screenshots on failures.\n- `WaitHelper.java`: Provides custom wait logic.\n\n---\n\n## 🧱 Base Test\n\n`BaseTest.java` handles browser setup and teardown using JUnit `@Before` and `@After`.\n\n---\n\n## 📂 Reporting\n\nIntegrate tools like **ExtentReports**, **Allure**, or **Cucumber Reports** for advanced reporting (not included in base setup).\n\n---\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandipchopkar95%2Fjava_selenium_junit-bdd_demoblaze","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsandipchopkar95%2Fjava_selenium_junit-bdd_demoblaze","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandipchopkar95%2Fjava_selenium_junit-bdd_demoblaze/lists"}