Hibernate ORM

  • findAll
  • findById
  • Query

Unit Testing

  • Writing test cases with Mockito
  • Test suites
  • Parameterized tests
  • Timeout for tests
  • Test coverage

Mock Objects

Gradle

  1. Dependency Management in Gradle

    • Understanding dependencies in a project
    • Declaring dependencies in Gradle
    • Understanding the different types of dependencies (compile, test, etc.)
  2. Tasks in Gradle

    • What is a task in Gradle?
    • Defining and configuring tasks
    • Task dependencies
    • Understanding common tasks in Java projects (compile, test, build, clean, etc.)
  3. Multi-project Builds

    • Understanding multi-project builds
    • Configuring multi-project builds
    • Sharing common configurations in multi-project builds
  4. Gradle Plugins

    • What are Gradle plugins?
    • Applying plugins to your project
    • Overview of common plugins (Java, Application, etc.)
  5. Gradle Wrapper

    • What is the Gradle Wrapper? Why is it used?
    • Generating and using the Gradle Wrapper
  6. Advanced Topics

    • Understanding build scans
    • Customizing the build process with Gradle properties and environment variables
    • Introduction to writing custom Gradle plugins
  7. Hands-on Project

    • Building a multi-module Java project from scratch using Gradle
    • Utilizing different Gradle features in the project
  8. Conclusion

    • Review of the Gradle course
    • Using Gradle in continuous integration/continuous deployment (CI/CD) pipelines
    • Next steps: exploring other plugins, Groovy, and Kotlin DSL

Remember, learning by doing is the most effective way to understand these concepts. Make sure to use hands-on exercises and projects throughout the course.

Selenium

  1. Introduction to Automated Testing

    • Understanding the importance of automated testing
    • The role of Selenium in automated testing
  2. Setting Up Your Environment

    • Installing Java and setting up the Java development environment
    • Installing Selenium WebDriver and configuring it in your IDE
  3. Understanding Selenium WebDriver

    • Overview of Selenium WebDriver
    • Different WebDriver implementations: FirefoxDriver, ChromeDriver, etc.
    • Navigating to a web page and basic usage
  4. Locating Web Elements

    • Understanding the DOM (Document Object Model)
    • Locating elements by ID, class, name, tag name, etc.
    • Locating elements using CSS Selectors and XPath
  5. Interacting with Web Elements

    • Understanding WebElement interface
    • Performing actions: click, input text, read text, etc.
    • Handling dropdowns, checkboxes, and radio buttons
  6. Waiting Strategies

    • Understanding the need for waiting in Selenium
    • Implicit wait vs Explicit wait
    • Fluent wait
  7. Handling Alerts and Pop-ups

    • Understanding Alert interface
    • Accepting and dismissing alerts
    • Inputting text in alerts
  8. Page Object Model

    • Understanding the Page Object Model for maintainability
    • Implementing Page Objects and Page Factories
  9. Handling Multiple Windows and Tabs

    • Navigating between and interacting with multiple windows and tabs
  10. Handling Iframes

    • Understanding iframes and how to navigate into, within, and out of them
  11. Working with Cookies

    • Reading, adding, and deleting cookies
  12. Introduction to Selenium Grid

    • What is Selenium Grid?
    • Running tests on different browsers and operating systems
    • Running tests in parallel to reduce time
  13. Introduction to TestNG

    • Understanding TestNG framework
    • Annotations in TestNG
    • Creating a Test Suite with TestNG
  14. Hands-on Project

    • Building a complete automated test suite for a web application
    • Using Selenium Grid and TestNG for comprehensive testing

API Testing

Collections/Generics

Logging

Functional Programming in Java