- Selenium WebDriver - 4.6.0 -- For automating Browser UI scenarios
- TestNG - 7.4.0 -- The Test Runner to execute Suite
- Maven Surefire Plugin - 3.0.0 -- To Run as Maven Test
- Cucumber - 7.10.1 -- To Run tests in BDD fashion
- Common.io - 2.11.0 -- To include common utils like FileCopy to move captures screenshots to reports
-
Factory Design Pattern:
- For driver initialization based on different browser name as input, Factory Design pattern is used
-
Page Object Model and Page Factory
- Web Pages designed based POM & Page Factory
- Appropriate Naming Conventions
- Usage of proper Intendation
- Usage of DRY (Don't Repeat Yourself) Principle
- Avoiding longer lines of code in each file
- Proper exception handling
- Provide comments for each step
- Step 1 : Use the main source(src/main) for your framework design and test source(src/test) for project specific configuration and tests
- Step 2 : Use base/WebDriverImpl class to add Project specific reusable methods
- Step 3 : Use base/WebDriverBase and base/HelperBase interfaces to implemenent abstract menthods in WebDriverImpl
- Step 4 : Use reporter/ScreenShotListener implementing ITestListener to capture screenshots on failure.
- Step 5 : Use testExecutionEngine/ExecutionEngine for defining and configuring before/after methods
- Step 6 : Use utils/CommonUtils class to configure Framework specific generic methods
- Step 7 : Use src/test/pageObjects/ to have locators specific to each page available in pages/
- Step 8 : Use src/test/pages to configure page specific methods
- Step 9 : Use src/test/testcases/ to define sequence of testSteps and perform assertions
- Step 10: Use src/test/resources/config.properties for configuring dynamic parameters like LangaugeToToggle, ThemeToSelect
- Step 11: For reports, after a run is completed, navigate to testNG reports
- Approach 1 : Use Run Suite Option from testng.xml
- Approach 2 : Use Run As/TestNG Suite
- Approach 3 : Use "Run All" option available in testcases/ValidateSportsTakTest.java
- Approach 4 : Using command line, Navigate to project directory(./SportsTak) and execute "mvn clean test"
- target/surefire-reports