
Install TestNG in eclipse at both levels via eclipse marketplace and maven integration, then add the maven dependency and create a TestNG class to explore annotations, assertions, XML, and groups.
Create a TestNG class and test method to automate eBay's first test, click the search button with no input using a CSS selector, and verify navigation to all categories.
Learn how to use TestNG asserts to validate actual vs expected, including equals, not equals, true, false, null, and not null, with messages and hard versus soft assertions.
Learn hard and soft assertions in TestNG, using assertEquals, assertTrue, and assertNull to control test flow. Soft assertions let tests continue, ending with sa.assertAll to report failures.
Learn to use before method and after method in TestNG to set up the driver before each test and close the browser afterward, ensuring teardown despite failures.
Learn how before class and after class annotations in TestNG set up and tear down for an entire test class, executed around all tests with example logs for two tests.
Drive test execution with TestNG xml files by creating a driver xml that defines a sanity test suite and runs two classes to execute all tests.
Include and exclude test methods in a TestNG xml file. The session uses driver2.xml with eBay home and advanced search sanity tests for a dropdown sorting check.
Explore how before test and after test annotations govern execution in TestNG, including their relationship to the test tag in TestNG.xml and interaction with before/after class and method setups.
Learn how before suite and after suite annotations control setup and teardown across the entire TestNG test suite, executing first and last regardless of class placement.
Explore the page factory concept and how to organize web elements with an object repository in a Selenium and TestNG framework, including the home page, advanced search, and results page.
Learn to add a list of web elements in a page factory using a CSS selector with find by, mirroring single elements for maintainability and future test use.
Explore using page factory elements in tests by making web elements public, initializing them with a driver via a constructor, and replacing driver.findElement calls with page elements.
Learn to implement the page object model, a three-layer approach with elements, page classes, and test classes for Selenium or Appium automation, enabling one page per application.
Create an abstract base test to centralize setup and teardown with before/after annotations, initialize the driver and page objects once, and let tests extend it for cleaner design.
Create a page library and app library to centralize page objects, providing a common starting point and simplifying maintenance by initializing pages via constructors and private fields with getters.
Design a flow library to wrap driver actions like navigate to url, get current url, and get title, then integrate with app and page libraries for reusable test flows.
Learn to create and run TestNG groups like P0 and P1, and configure TestNG XML to execute only selected groups with a before method for isolated drivers.
Define and use TestNG parameters by declaring them in xml, injecting into test methods, and running tests dynamically across chrome or firefox with optional defaults.
Learn how to manage test dependencies in TestNG by declaring depends on methods, controlling execution order, and using always run to execute tests regardless of failures.
Learn how to ignore specific tests or classes in TestNG with the ignore annotation, and distinguish ignoring from skipping, including how dependencies and always_run affect execution.
Enable parallel execution in TestNG by configuring suite level parallel with a thread count. Run multiple classes, methods, or tests in parallel, each with its own browser driver.
Discover how to access TestNG html reports by running an xml suite and opening the html report in the test output folder; review passed, failed, skipped tests and execution time.
Use a TestNG data provider to drive tests from excel data read into a 2d array, supplying name, email, and password for each row.
Replace thread.sleep with an implicit wait in the before method to reduce delays. Centralize the base url and page urls in page objects, exposing get page url via app.pages.
Learn to Build your Automation Framework from Scratch using TestNG and Selenium WebDriver with Page Object Model Design.
This course covers TestNG and Automation Framework Building in detail from basic to advanced levels.
This course highly focuses on TestNG, Java, Maven, Selenium WebDriver, Page Object Model and Page Factory Design.
I believe in example-oriented teaching. So, you won’t find any PPTs during the sessions. But, you will find dozens of real time scenarios used to elaborate TestNG concepts
Feel free to post your questions/feedback in the block provided under each session-video. I will make sure all of your queries are addressed. ‘Course Outline’ below will give you an idea about the depth and the overall coverage of this course. If you want to learn any other TestNG concept - which is not already covered in this course - then feel free to let me know via Udemy messenger.
Course Outline:
TestNG Framework
Installing TestNG
Automating Basic Tests in TestNG
Assertions in TestNG
Hard vs Soft Assertions in TestNG
BeforeMethod and AfterMethod Annotations
BeforeClass and AfterClass Annotations
Managing Test Execution Using TestNG XML Files
Include and Exclude Methods in XML File
BeforeTest and AfterTest Annotations
BeforeSuite and AfterSuite Annotations
TestNG Groups
TestNG Parameters
Managing Test Dependencies in TestNG
Ignoring Test Methods in TestNG
Parallel Execution in TestNG
TestNG HTML Reports
Data Provider in TestNG
Creating Automation Framework from Scratch using Page Object Model and WebElements Page Factory
What is Page Factory?
Elements Collection (List) in Page Factory
Initializing Page Factory Elements
Page Object Model Design
Creating Base Page Class
Creating Page Library
Creating Flow Library
**I will be updating more topics to this outline as per changing trends in technology**
This course is designed for you if you are:
a QE Automation Engineer OR
a Selenium WebDriver automation aspirant OR
a manual testing professional willing to jump start your automation carrier OR
a QTP/UFT professional wanting to switch to Selenium as per testing market demand OR
a QE Manager exploring better automation solutions for your project OR
a fresh grad looking to learn a quick new skill which has high demand in the job market OR
aspiring to learn coding and automation
To get the maximum benefit from the course, please take a look at following steps explaining 'How to take this course?'
Step 1: Schedule 30-45 minutes of your time daily for 5 days a week. 'Continuity' is the key.
Step 2: All sessions are divided in small videos of less than 20 minutes. Watch 2-3 videos daily.
Step 3: Hands-on exercise is very important. So, immediately try out the programs discussed in the session. Try them on your won. You can download these programs from lecture resources.
Step 4: Assignments with answer keys are provided where-ever necessary. Complete the assignments before jumping on to the next sessions.
Step 5: If you come across any questions or issues, please feel free to contact me and I will make sure that your queries are resolved.
Wish you all a very happy learning.
Note: All the course videos are in Full HD. For the best video streaming quality, please adjust the resolution from 'settings' at bottom right-hand corner of video player. Choose 1080p or 720p as per your network speed.