Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Golden test framework with Java/Selenium/TestNG/Maven/Log4j2
Rating: 4.4 out of 5(47 ratings)
7,182 students
Created byYalcin Batur
Last updated 1/2022
English

What you'll learn

  • Able to build a test framework with the Intellij IDE using Java, Selenium WebDriver, TestNG, Maven and Apache Log4j2.
  • The skill to automate a web application according to the Page Object Model (POM) design pattern.
  • Enough knowledge of all the mentioned libraries to be a proficient test automation engineer!
  • HTML knowledge for boosting your automation skills
  • Some handy Java knowledge for improving your automation and implementing them in the test framework
  • See the description part for a complete overview!

Course content

6 sections101 lectures15h 57m total length
  • Typing code together!1:10

    Type along with me to improve through practice and persistence while you learn Java, Selenium, TestNG, Maven, and Log4j2 techniques, with downloadable source code to add to your project.

  • Feedback and help1:01

    Ask questions in the lecture Q&A to clarify content, and post your code using the formatting icon for easier debugging; email the instructor for updates if software fails.

  • What software do we need?1:17

    Install three essential tools: JDK, IntelliJ IDEA, and Google Chrome to set up Java projects and automate with Selenium WebDriver.

  • Install JDK on Windows3:49

    Install Open JDK 11 on Windows 10, ensuring the installer sets JAVA_HOME and updates your PATH. Verify the setup with java -version and echo %JAVA_HOME%.

  • Install IntelliJ on Windows3:31

    Install and start IntelliJ IDEA on Windows, choose the community edition, run the installer, set up shortcuts and path, reboot, and select the Darcula theme.

  • Install Google Chrome on Windows0:42

    Download and install Google Chrome on Windows using the provided URL, accept the installation, run Chrome, and confirm a successful setup.

  • Install JDK on Linux1:54

    Install the java development kit on Ubuntu using OpenJDK 11, verify installation with javac -version and java -version, and confirm the runtime environment is installed.

  • Install IntelliJ on Linux3:05

    Learn how to download from the JetBrains site and install IntelliJ IDEA community edition on Ubuntu, run the intellij-idea-community command, and apply the Darcula theme after accepting the user agreement.

  • Install Google Chrome on Linux1:47

    Install Google Chrome on Ubuntu, either from the website or via the command line, by applying the provided key and repository commands, then test by typing google-chrome.

  • Install JDK on Mac4:10

    Install open jdk on mac by downloading open jdk 11 and running the installer. Set environment variables for JAVA_HOME and verify with java -version.

  • Install IntelliJ on Mac3:23

    Download and install IntelliJ IDEA on Mac, choose the community edition, accept the user agreement, select the Darcula theme, and prepare to connect IntelliJ to the downloaded OpenJDK.

  • Install Google Chrome on Mac1:42

    Download Google Chrome for Mac using the provided link, run the installer, launch Chrome, and set it as the default browser on your Mac.

  • Configure IntelliJ options3:53

Requirements

  • You dont necessarily need to have java knowledge to start this course, but its nice to have basic knowledge of programming or java. If not it will be a little harder for you but i will be explaining the basics so you will be able to follow the course.

Description

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

Who this course is for:

  • Everyone who wants to learn automating web applications
  • Test Engineers / Automation engineers
  • People who wants to change career