About the course
After completion of this interactive course you will be able to work as Automation developer (SDET). The course includes interactive online classes, video, useful information, quizzes, home assignments, work on real life QA projects as well as the opportunity to receive mentoring support by phone, Slack or any messenger. Duration of the course 4.5-5 months, 6-8 hours weekly
-
Basic Java programming, Maven, Git
-
Selenium web-driver, JUnit testing
-
Back-end testing using Java, Postman, JMeter and other tools
-
Object Oriented Programming
-
Devops tools: Github and Continuous integration
-
Performance and Load testing basics
-
Co-op with Legion IT Services or one of the company partners is an optional part of the course
-
Please note: the learning materials, examples, assignments are in English, the course instruction is provided in Russian
-
Prerequisites: Intermediate English, Manual QA methodologies and tools knowledge
-
Upon successful completion of the course participants will receive a verified digital diploma.
Curriculum
-
1
1. Automation Intro
-
About the course
-
Setup slack
-
Use slack on your PC
-
Intro
-
What Is Automation?
-
What can be automated?
-
Automation Benefits
-
Automation Limits
-
Automation Process And Lifecycle
-
Automation Developer Skills Set
-
Content of the course
-
Presentation
-
-
2
2. Java Installation and First Steps
-
Java Intro
-
What Is Programming Language
-
Why Java?
-
Java Structure and Tools
-
Install JDK on Windows
-
Install JDK on MacOS
-
IDE Installation
-
JDK and IDE setup - links and instructions
-
Create first Java Project
-
Java Packages and Classes
-
First Java Program
-
Java Variables
-
Basic arithmetic
-
Variables additional example - Books Project
-
Primitive and Non-Primitive (Objects) variables
-
Code from the lesson
-
Presentation
-
Basic Java Cheat Sheet
-
IntelliJ Idea shortkeys
-
Test your learning
-
Work with instructor + your homework
-
M2 - Variables assignment
-
-
3
3. Basic Java - Conditions and Loops
-
Java Basics - Intro
-
Java Methods
-
Students App Diagram
-
If - Else Statement
-
Boolean Flags as Condition
-
How to debug your code
-
While loop
-
For loop
-
Loop inside the loop
-
Break and Continue in loops
-
Code from the lesson
-
Java Methods additional example - Books project
-
Test your learning
-
M3 - Loops Assignments
-
Solution demo1
-
Self Training
-
-
4
4. Basic Java - Methods with "return", Strings manipulatons
-
Intro
-
Methods With "returns"
-
Login App Diagram
-
Null and empty Strings validations
-
How to compare Strings
-
Additional manipulations with Strings
-
How to Convert and Cast variables
-
How to Edit and Format Strings
-
Demo - Solve interview Strings assignment
-
Code from the lesson
-
Methods with returns - Books project
-
Test your learning
-
M4 - String Assignment
-
Self Training
-
-
5
5. Intermediate Java - Data Structures
-
Intro
-
Create Simple Array
-
String/Integer Array functionality
-
Create Array List
-
Array List main methods
-
How to sort ArrayList?
-
HashMap
-
HashSet
-
Code from the lesson
-
Test your learning
-
M5 - Arrays and Hashes Assignment
-
Self Training
-
-
6
6. Object Oriented Programming
-
OOP Intro
-
Classes and Objects
-
Classes and Objects Demo
-
Class Constructors
-
Encapsulation
-
Inheritance
-
Polymorphism
-
Abstract Classes And Methods
-
Interfaces
-
OOP Summary
-
Code From the lesson
-
Presentation
-
Additional OOP Example - Books project - objects
-
Additional OOP example - Books Project - Inheritance
-
Books Store Project code
-
Test your learning
-
JAVA OOP CHEAT SHEET
-
M6 - OOP Assignment
-
Homework solution Demo - Design
-
Homework solution Demo - Abstract Employee
-
Homework solution Demo - Hierarchy
-
Homework solution Demo - Run Program
-
Homework Solution - code
-
Self Training
-
-
7
7. Advanced Java
-
Static Methods and Variables
-
Switch cases
-
Enums
-
Try catch blocks
-
Work with Files - Create File
-
Write to File
-
Read from File
-
Delete File
-
Summary
-
Code from the lesson
-
Test Your learning
-
M7 - Assignment
-
Self Training
-
-
8
8. Maven, JUnit 5 and Logging
-
Intro
-
About Maven
-
Maven Dependencies and Build
-
Pom File Example
-
Maven outside of IDEA (optional)
-
Create first Unit Test
-
Assertions
-
Before and After Tests
-
Parameterized tests - Value Source
-
Parameterized tests - Enum Source
-
Parameterized tests - Method Source
-
Log4J - how to add logs to your application
-
Pom File Example
-
log4j2.xml file example
-
Summary
-
Maven presentation
-
The code from the lesson
-
Junit5 Cheat Sheet
-
Test your learning
-
M8 - Junit Assignment
-
Additional lesson - optional
-
Self-training
-
-
9
9. Working with Git and GitHub
-
Intro
-
What is VCS?
-
Git Main functionality
-
Example of team work
-
GitHub setup
-
Git ignore file
-
Initial add, commit and push
-
Commit changes and View History
-
Create new branches and Pull Requests
-
Git Presentation
-
Work with git outside of IntelliJ (optional)
-
Git command line cheatsheet (optional)
-
M9 - Github assignment
-
-
10
10. Selenium WebDriver - Basics
-
Intro
-
Selenium components
-
Advantages and Disadvantages
-
How does it work?
-
HTML Intro
-
Setup and Dependencies
-
Pom File example
-
Manage Selenium Driver. Open browser test
-
Add assertions, Before and After
-
Find Element By ID, Name, Css, Class, Link
-
Find Element By Xpath
-
Buttons and Input boxes, the first test
-
Code from the lesson
-
Selenium presentation
-
Fun Way to Learn Xpathes
-
M10 - Selenium assignment
-
-
11
11. Selenium WebDriver - Advanced
-
Intro
-
How to find element using Chrome console (devtools)
-
How to debug Selenium tests
-
Composite XPath and Radio Buttons
-
Contains and Errors in UI
-
Parameterized Selenium tests
-
Siblings, Descendants and Ancestors
-
Console ($x) examples
-
Selenium Actions
-
Manage WebDriver
-
Pause test with Thread Sleep
-
Pause test with Implicit wait
-
Pause test with Explicit wait
-
Web Driver Wait - additional examples
-
Code from the lesson
-
Selenium cheat sheet
-
M11 - Advanced selenium Assignment
-
-
12
12. Selenium Page Objects Model
-
Intro
-
What is POM?
-
Main Infrastructure classes
-
Implement WebDriver
-
Main Tests class - setup
-
Base page and Methods wrappers
-
First page object and Test
-
Run and Debug test
-
Relations between Page Objects
-
Logs in Selenium project
-
Take Screenshots with Selenium
-
How to import and export project
-
Summary
-
Page Object Model schema
-
Example project
-
M12 - Selenium Project Assignment - Kidkiddos
-
-
13
13. Selenium WebDriver - V4 update
-
Selenium 4 setup
-
Capture Element functionality
-
Open new tab and new window
-
Test element size
-
Relative locators
-
Verify logs
-
Code from the lesson
-
M13 - Selenium Assignment - JobCafeProject
-
-
14
14 Selenium Expert Level
-
Page Factory
-
Page Structure and @Find By Annotation
-
Allure Annotations
-
Allure Reports
-
Logging of Selenium methods
-
JUnit Extentions
-
Properties files and secrets
-
-
15
15. API Testing with Rest Assured (Java) library
-
Intro
-
About RestAssured
-
Project Example
-
Setup
-
Pom file example
-
First Test
-
Response Body
-
Parsing data collection - Has Item
-
Parsing data collection - Contain
-
Hamcrest assertions/matchers list
-
Assignment
-
Assignment solution
-
Simple Performance test
-
Authorization and Headers
-
Negative test
-
Post Request Body
-
Mapping the request body
-
What's next?
-
Code from the lesson
-
M15 - Currency conversions API
-
Verify dynamic date - FAQ
-
-
16
16. Automated API Testing With Postman
-
Part 1 - Postman Intro
-
Introduction
-
Setup
-
Sending GET request
-
Working with collections
-
Postman Variables
-
First Assignment
-
Assignment solution
-
Request parameters
-
POST request, sending JSON body
-
UPDATE and DELETE
-
Second assignment
-
Assignment Solution
-
Part 2 - Postman Automation and Assertions
-
What is Rate limiting?
-
UI representation
-
Run collection
-
Creating the first test
-
Verify response body
-
Third assignment
-
Assignment solution
-
JSON verifications
-
Advanced JSON verifications
-
Fourth assignment
-
Assignment solution
-
Export and Import
-
M16 - Jobka Project - API
-
-
17
17 AI-Powered Java Coding with GitHub Copilot
-
Intro to AI programming
-
-
18
18. Performance and Load testing - JMeter
-
Intro
-
What is the Performance testing?
-
Platforms overview
-
Responsibilities
-
Performance testing types
-
Examples
-
Performance testing lifecycle
-
Environments
-
Performance test tools overview
-
Simple tests with Apache Benchmark
-
JMeter Setup
-
UI console overview
-
Thread groups
-
Http Sample
-
Sample results
-
Assignment number one
-
Assignment Solution
-
Adding Timer
-
User Parameters
-
POST requests
-
Assignment number two
-
Assignment Solution
-
Assertions
-
Assertions Assignment
-
Assignment Solution
-
Run tests from Command Prompt/Console
-
M17 - Performance testing Assignment
-
-
19
19. Continuous Integration and Jenkins
-
Introduction
-
General Info
-
Development flow
-
Continuous Integration basics
-
CI Benefits
-
About Jenkins
-
Installation with Docker
-
Jenkins Dashboard overview
-
Jenkins Projects Overview
-
Run the first Job
-
Build with Parameters
-
Jenkins Assignment 1
-
Assignment 1 Solution
-
Plugins and Configs - Java setup
-
Working with Github
-
Compiling Code
-
Unit testing
-
Jenkins Artifacts
-
Self Assignment 2
-
Assignment 2 Solution
-
Build Triggers
-
Setup Selenium project
-
Run Selenium with Headless Google Chrome driver
-
Run Postman project in Jenkins
-
Stop Jenkins Container
-
M-18 Jenkins project
-