- findAll
- findById
- Query
- Writing test cases with Mockito
- Test suites
- Parameterized tests
- Timeout for tests
- Test coverage
-
Dependency Management in Gradle
- Understanding dependencies in a project
- Declaring dependencies in Gradle
- Understanding the different types of dependencies (compile, test, etc.)
-
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.)
-
Multi-project Builds
- Understanding multi-project builds
- Configuring multi-project builds
- Sharing common configurations in multi-project builds
-
Gradle Plugins
- What are Gradle plugins?
- Applying plugins to your project
- Overview of common plugins (Java, Application, etc.)
-
Gradle Wrapper
- What is the Gradle Wrapper? Why is it used?
- Generating and using the Gradle Wrapper
-
Advanced Topics
- Understanding build scans
- Customizing the build process with Gradle properties and environment variables
- Introduction to writing custom Gradle plugins
-
Hands-on Project
- Building a multi-module Java project from scratch using Gradle
- Utilizing different Gradle features in the project
-
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.
-
Introduction to Automated Testing
- Understanding the importance of automated testing
- The role of Selenium in automated testing
-
Setting Up Your Environment
- Installing Java and setting up the Java development environment
- Installing Selenium WebDriver and configuring it in your IDE
-
Understanding Selenium WebDriver
- Overview of Selenium WebDriver
- Different WebDriver implementations: FirefoxDriver, ChromeDriver, etc.
- Navigating to a web page and basic usage
-
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
-
Interacting with Web Elements
- Understanding WebElement interface
- Performing actions: click, input text, read text, etc.
- Handling dropdowns, checkboxes, and radio buttons
-
Waiting Strategies
- Understanding the need for waiting in Selenium
- Implicit wait vs Explicit wait
- Fluent wait
-
Handling Alerts and Pop-ups
- Understanding Alert interface
- Accepting and dismissing alerts
- Inputting text in alerts
-
Page Object Model
- Understanding the Page Object Model for maintainability
- Implementing Page Objects and Page Factories
-
Handling Multiple Windows and Tabs
- Navigating between and interacting with multiple windows and tabs
-
Handling Iframes
- Understanding iframes and how to navigate into, within, and out of them
-
Working with Cookies
- Reading, adding, and deleting cookies
-
Introduction to Selenium Grid
- What is Selenium Grid?
- Running tests on different browsers and operating systems
- Running tests in parallel to reduce time
-
Introduction to TestNG
- Understanding TestNG framework
- Annotations in TestNG
- Creating a Test Suite with TestNG
-
Hands-on Project
- Building a complete automated test suite for a web application
- Using Selenium Grid and TestNG for comprehensive testing