Golden test framework with Java/Selenium/TestNG/Maven/Log4j2
- Description
- Curriculum
- FAQ
- Reviews
In this course i will teach you to build a test framework with IntelliJ using Java, Selenium WebDriver, TestNG, Maven and Apache Log4j2.
The course is divided in to two parts.
The first part is the lessons part. In this part I will teach you the basics of selenium, testNG and the foundations of building our framework.
Once the foundations are set we can carry on to the second part.
In the second part we will build a test framework based on automating a real website.
The framework will be built according to the Page Object Model (POM) design pattern. The POM is a concept that is used a lot to automate multiple page applications. Here we segregate the automation from our tests. This makes the framework more maintainable. Your tests will also be easier to read and will be more script based. Even a collegue with less programming experience can create some tests in this framwork.
After this course you will be able to create a whole framework for automated testing of webapplications with all its necessary components.
I will also keep updating the course with new subjects in the future.
Here is a more detailed overview of the subjects i will teach:
– Enough Java knowledge to start automating
– Setting up the software needed
– Basic methods of Selenium WebDriver
– Some handy ChromeOptions
– HTML knowledge for automating web applications
– Finding elements with xpath and css
– Handle basic html elements such as dropdowns, inputfields, checkboxes,
frames, alerts, tables, lists, date pickers, switching windows, etc
– Creating handy tools with java such as a dynamic date formatter for your test cases
– Creating enums for static dropdowns and implementing them in the framework
– Integrating Maven after learning basics
– How to build a Page Object Model Designed framework
– Usage of different Assertions
– Difference between hard and soft assertions
– Implementing smart wait’s
– Setup global properties file for usernames and passwords etc
– Take screenshots
– Using the JavaScript Executor
– Controlling test cases with the testNG xml
– TestNG Parameterization
– DataProvidor annotation
– Implement TestNG listeners
– Executing tests from the command line so we can link the project to a tool
for CI/CD (Continuous Integration / Continuous Delivery)
– Setting up log4j2 for logging with an xml and a properties file.
– Create new logging files after each test run
– Integrating all of above components in a working framework while teaching
-
1Typing code together!Video lesson
-
2Feedback and helpVideo lesson
-
3What software do we need?Video lesson
-
4Install JDK on WindowsVideo lesson
-
5Install IntelliJ on WindowsVideo lesson
-
6Install Google Chrome on WindowsVideo lesson
-
7Install JDK on LinuxVideo lesson
-
8Install IntelliJ on LinuxVideo lesson
-
9Install Google Chrome on LinuxVideo lesson
-
10Install JDK on MacVideo lesson
-
11Install IntelliJ on MacVideo lesson
-
12Install Google Chrome on MacVideo lesson
-
13Configure IntelliJ optionsVideo lesson
-
23Add the Selenium WebDriver language bindings & TestNG jar file to the projectVideo lesson
-
24Lesson01a - Setup Chrome DriverVideo lesson
-
25Lesson01b - Setup other DriversVideo lesson
-
26Lesson02 - Basic methods of WebDriverVideo lesson
-
27Lesson03a - Bigger window with driverVideo lesson
-
28Lesson03b - Bigger window with Chrome OptionsVideo lesson
-
29Lesson04a - @Test annotationVideo lesson
-
30Lesson04b - @Before and @After Test/Method annotationsVideo lesson
-
31Lesson04c - More @Before and After annotationsVideo lesson
-
32Lesson05 - Creating a managerVideo lesson
-
33ERROR while executing tests - An advertisement is poping up!Video lesson
-
34Lesson05 - Quick example - using the driver from the Manager in other classesVideo lesson
-
35Lesson 06a - Intro to Selenium Locators and the Document Object Model(DOM)Video lesson
-
36Lesson06a - findElement(s) method and overview of locators - part01Video lesson
-
37Lesson06a - findElement(s) method and overview of locators - part02Video lesson
-
38Lesson06b - Master the Xpath syntax - part01Video lesson
-
39Lesson06b - Master the Xpath syntax - part02Video lesson
-
40Lesson06c - Master the CssSelector syntax - part01Video lesson
-
41Lesson06c - Master the CssSelector syntax - part 2Video lesson
-
42Lesson06d - Exercise01 - Finding elementsVideo lesson
-
43Lesson06d - Exercise01 - Finding elements - solution videoVideo lesson
-
44Lesson07a - First steps of automation with clicksVideo lesson
-
45Lesson07b - Exercise02 - ClicksVideo lesson
-
46Lesson07b - Exercise02 - Clicks - solution videoVideo lesson
-
47Lesson08a - Simulate typing with sendKeys methodVideo lesson
-
48Lesson08b - Exercise03 - Simulate typing with sendKeys methodVideo lesson
-
49Lesson08b - Exercise03 - Simulate typing with sendKeys method - solution videoVideo lesson
-
50Lesson09a - getText methodVideo lesson
-
51Lesson09b - getAttribute methodVideo lesson
-
52Lesson10a - Assertions - Assert.failVideo lesson
-
53Lesson10b - Assertions - Assert.assertEqualsVideo lesson
-
54Lesson10c - Assertions - Assert.assertTrue and Assert.assertFalseVideo lesson
-
55Lesson10d - Assertions- HardAsserts vs SoftAssertsVideo lesson
-
56Lesson11a - Static dropdownsVideo lesson
-
57Lesson11b - Exercise04 - Static dropdownsVideo lesson
-
58Lesson11b - Exercise04 - Static dropdowns - solution videoVideo lesson
-
59Lesson12 - Exercise05 - Simple formVideo lesson
-
60Lesson12 - Exercise05 - Simple form - solution videoVideo lesson
-
61Lesson13 - Javascript alertsVideo lesson
-
62Lesson14 - FramesVideo lesson
-
63Lesson15 - Switching windowsVideo lesson
-
64Lesson 16 - Smart waitsVideo lesson
-
65Lesson 17 - Handle a List<> of elementsVideo lesson
-
66Lesson 18 - Auto suggestive dropdownsVideo lesson
-
67Lesson 19 - JavaScript ExecutorVideo lesson
-
68Lesson 20a - Intro to the Page Object Model design patternVideo lesson
-
69Lesson 20a - The Factory class - Find web elements and initializing themVideo lesson
-
70Lesson 20b - The Constants class - Creating constants for the locator valuesVideo lesson
-
71Lesson 20c - The Page class - Creating methods for the web elementsVideo lesson
-
72Lesson 20d - The Test class - Creating our test scriptVideo lesson
-
73Lesson20e - Just some extra info - implement POM into single page applicationsVideo lesson
-
74Lesson 21 - Creating enums for static dropdowns and implementing themVideo lesson
External Links May Contain Affiliate Links read more