+---.idea
| \---libraries
+---bin
| +---.idea
| | \---libraries
| +---src
| | +---main
| | | \---java
| | | +---CommomUtil
| | | +---META-INF
| | | \---PageObjects
| | \---test
| | \---java
| \---target
| +---classes
| | +---CommomUtil
| | \---PageObjects
| \---generated-sources
| \---annotations
\---src
+---main
| \---java
| +---CommomUtil
| +---META-INF
| \---PageObjects
\---test
\---java
+---Common
\---Tests
- Different WebDriver Methods
- Different Locator Techniques
- Use of Implicit and Explicit Wait
- Use of Multiple Windows -> MultipleWindows Class
- Use of Selenium Grid -> SeleniumGrid Class
- Implementation of Partial ScreenShot Mechanism -> PartialScreenshot Class
- Implementation of Fluent Wait -> Fluent Wait Class
- Implementation of UX Validations using Selenium Width/Height Method -> UXValidations Class
- Passed parameters from pom.xml / testng / data.properties file to test classes
- Set Default Parameter(browser) in pom.xml and using that directly in test class. Will pass the browser value at the runtime by using command mvn clean test -Dbrowser=chrome . If no value is pass from command line, then the default value present in pom.xml will be used.
- Implemented TestNG.xml file to run different TestCases
- Implemented @BeforeTest/@Test/@AfterTest annotation to run the tests
- Implemented @DataProvider Annotation
- Implemented Parameterization mechanism where global values are passing from testng.xml to test methods
- Implemented TestNg Listener -> ITestListener
- Implemented Parallel Test Execution by Mentioning parallel thread count in testng.xml
- Accessed methods of base class directly by inheriting the base class
- Accessed methods of base class by making an object of base class
- To run the Cucumber Tests using tags mechanism from command line. Use this command
mvn clean test -Dcucumber.filter.tags="@QAClickAcademy or @Amazon"