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 3-4.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
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
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 + Homework
-
Variables assignment
-
-
3
Basic Java - Part I
-
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
-
About Cats and Brackets
-
Java Methods additional example - Books project
-
Test your learning
-
Loops Assignments
-
Solution demo1
-
Solution demo2 - for optional assignment
-
Self Training
-
-
4
Basic Java - Part II
-
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
-
String Assignment 1
-
Strings Assignment 2
-
Self Training
-
-
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
-
ArrayList Assignment
-
HashMap Assignment
-
General Assignment
-
Self Training
-
-
6
Java: 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
-
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
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
-
Optional - additional Java lesson
-
Java Final project
-
Self Training
-
-
8
Maven and JUnit 5 Basics
-
Intro
-
About Maven
-
Maven Dependencies and Build
-
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
-
Summary
-
Maven presentation
-
The code from the lesson
-
Junit5 Cheat Sheet
-
Test your learning
-
Junit Assignment
-
Self-training
-
-
9
Selenium WebDriver - Basics
-
Intro
-
Selenium components
-
Advantages and Disadvantages
-
How does it work?
-
HTML Intro
-
Setup and Dependencies
-
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
-
Selenium assignment
-
-
10
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
-
Advanced selenium Assignment
-
-
11
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
-
POM schema
-
Example project
-
Selenium Project Assignment Part1
-
-
12
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)
-
Github assignment
-
Project Assignment
-
-
13
Selenium WebDriver v4 update
-
Selenium v4 setup
-
Capture Element
-
New Tabs/Windows
-
Test element size
-
Relative locators
-
Test logs
-
Examples from the lesson
-
Selenium 4 assignment
-
-
14
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
-
Server side Testing assignment - currency conversions API (Final Project, API)
-
Verify dynamic date - FAQ
-
JMeter and Postman
-
-
15
Continuous Integration with TeamCity
-
Intro
-
Development process overview
-
What is CI?
-
Benefits of Continuous Integration
-
Tools overview
-
Install and setup TeamCity
-
Create Project and Build configuration
-
Add steps and run build
-
Trigger Build and add artifacts
-
Pull requests and Build Failure example
-
Use command line steps
-
TeamCity basic administration
-
Presentation
-
TeamCity Assignment
-
Project Assignment
-
Jenkins
-
-
16
AI-Powered Java Coding with GitHub Copilot
-
Intro
-
Simple methods
-
Solving excercises
-
Cats and tests
-
Additional info
-