A framework which allows different Selenium test classes to run in parallel using TestNG
Pros:
- Static method utilization is reduced
- Each test case has its own base class instance initiated at the beginning of the test, which controls all other aspects like driver, reporting, test data management etc.
- Parallel run of different test classes is enabled
- As test methods, static methods can be utilized as well as dynamic ones.
- Page Object Model is implemented
- Easier to maintain the existing test cases.
- Extent report along with TestNG report is included.
- Ongoing process of adding new test methods.
- Temp file management
- Element Highlighting implemented.
- Element Screenshot implemented.
- Running batch file implemented along with task kill chromedriver.exe and chrome.exe
- Running VBScripts implemented. Although not tested.
- Replaced deprecated implicit wait and explicit waits with the latest ones.
- Introduced Fluent Wait.
- Wrapped the WebDriver with ThreadGuard to protect the thread's ownership of the WebDriver instance.
- Scroll to middle of the page added.
- Handling JavaScript alerts, confirmations and prompts are added.
- HTTP Proxy Setting added with webdriver.
- Added page loading strategy, pop up blocker and download path in ChromeOptions.
- Implemented Assertion Manager, controlling Hard & Soft Assert from Configuration file, for each test case.
- Added remote webdriver but not implemented.
- Added test case for downloading files, validating files in a directory and delete them.
- Implemented Clipboard Copy Paste utilities.
- Implemented count() in xpaths for traversing web tables.
- Implemented Colour Validation with Color class.
Cons:
- Parallel Execution Reports are not getting generated. Need to debug that.
- Screenshot cannot be taken for JavaScript alerts. Need to check later.
- OutOfMemry Error : Heap Space Issue -> Temporary solution by sure-fire configurations provided. Need to look for memory leaks later.
- Drag & Drop is not working.