An open API service indexing awesome lists of open source software.

https://github.com/amitk432/demoframework

Demo Framework using Selenium, Java, Maven, Cucumber & TestNG. For the Website https://practicetestautomation.com
https://github.com/amitk432/demoframework

cucumber java maven selenium testng

Last synced: about 2 months ago
JSON representation

Demo Framework using Selenium, Java, Maven, Cucumber & TestNG. For the Website https://practicetestautomation.com

Awesome Lists containing this project

README

          

# Demo Automation Framework

This is a Selenium TestNG-based automation framework for UI testing. It is designed with modularity and scalability in mind, using the Page Object Model (POM) and standard Java best practices.

## ๐Ÿ“ Project Structure

```
demoFramework-master/
โ”‚โ”€โ”€ src/
โ”‚ โ”œโ”€โ”€ main/java/utilities/ # Helper classes (WebDriverManager, reporting, etc.)
โ”‚ โ”œโ”€โ”€ main/java/pages/ # Page Object Model classes
โ”‚ โ”œโ”€โ”€ main/java/steps/ # Step Definitions for Cucumber
โ”‚ โ”œโ”€โ”€ main/java/runners/ # Test runners for executing scenarios
โ”‚ โ”œโ”€โ”€ test/resources/features/ # Cucumber feature files
โ”‚โ”€โ”€ test-output/ # Test reports and logs
โ”‚โ”€โ”€ pom.xml # Maven dependencies and configurations

```

## ๐Ÿš€ Getting Started

### Prerequisites

- Java 17 or later
- Maven 3.6+
- IntelliJ IDEA (recommended)
- Chrome or compatible browser for Selenium tests

### ๐Ÿ”ง Setup

1. Clone this repository or download the ZIP.
2. Navigate into the project directory:
```bash
cd demoFramework-master
```
3. Install dependencies:
```bash
mvn clean install
```

### ๐Ÿงช Running Tests

Run all tests defined in the `testng.xml` suite:

```bash
mvn test
```

You can also run individual test classes by modifying `testng.xml` or using the Maven Surefire plugin.

## ๐Ÿ›  Technologies Used

- Java
- Maven
- Selenium WebDriver
- TestNG
- Page Object Model (POM) design pattern

## ๐Ÿ“„ Notes

- Tests are currently configured to run in parallel by methods via `testng.xml`.
- Modify `Runner.java` under `runners` package to control execution logic.

---

Happy Testing! ๐ŸŽ‰