This is a comprehensive automation framework developed for testing the UI of different websites. The goal of this project is to automate the testing process and improve testing skills. The framework is built using Java, Selenium WebDriver, Cucumber, TestNG, and Page Factory pattern. It supports Maven build, parallel execution, and cross-browser testing.
-
Java: The framework is written in Java, a versatile and widely used programming language.
-
Selenium WebDriver: Selenium WebDriver is used as the primary tool for interacting with the browser and automating web applications.
-
Cucumber: The framework utilizes Cucumber, a popular behavior-driven development (BDD) tool, to define test scenarios in a human-readable format.
-
TestNG: TestNG is used as the testing framework for executing test cases, managing test suites, and generating test reports.
-
Page Factory: The framework employs the Page Factory pattern for efficient and maintainable page object management, improving test code readability and reusability.
-
Maven Build: The framework integrates with Apache Maven for dependency management and build automation, making it easy to manage project libraries and dependencies.
-
Parallel Execution: The framework supports parallel test execution, allowing you to run tests concurrently, reducing overall execution time.
-
Cross-Browser Testing: The framework provides the ability to run tests on different browsers, ensuring compatibility and functionality across multiple environments.
-
Clone the repository to your local machine.
-
Ensure that you have Java JDK installed on your system.
-
Install Apache Maven to manage dependencies and build the project.
-
Update the configuration files to specify the browser, test environment, and other settings as per your requirements.
-
Write your feature files using Cucumber's Gherkin syntax, defining test scenarios and steps.
-
Implement the step definitions in Java using the Page Factory pattern to interact with the application's UI elements.
-
Run the tests using the provided TestNG runner class or command-line interface.
-
View the test reports generated by TestNG for test results and any failures.
Contributions to the framework are welcome! If you find any issues, have suggestions, or would like to contribute enhancements, feel free to submit a pull request.
Feel free to customize the README file further to include any additional details, specific testing goals, or project-specific information. The primary objective of this project is to automate testing for different websites and enhance your testing skills, enabling more efficient and reliable testing processes.