Full Stack Test Automation

                                    This is the course which will not only teach basic concepts about SELENIUM and PYTHON , but leverage the knowledge to learn new Test Automation Framework which has evolved quite renowned over the years known as ROBOT FRAMEWORK. Here you will also learn how to manage the Source code using Git and integrate it with Continuous Delivery tools like JENKINS. Learning all these concepts an individual is eligible to be known as Full Stack Test Automation Engineer so the name of course has been designed accordingly all in one package

Prerequisite H/w –

  • Windows or Macbook machine with atleast 4GB RAM and 20 GB HDD space
  • Zoom Meeting / GotoMeeting/ Or Any other for attending live classes.
  • Average-Good Internet Speed

Course Duration –

  • Total 5-6 weeks Session.
  • Timings – Mon-Fri 1.30 Hour in Morning IST. Mostly 9.00 PM EST
  • On Demand Weekend classes.

Who can take this course –

  1. Manual Testers with no programming background
  2. Beginners in Test Automation projects.
  3. Test Engineers comfortable on any Programming Language.
  4. Test Engineers who would like to Develop Test Automation Framework for their Projects.
  5. Managers who would like to develop ROBUST and RELIABLE Framework for long runs.
  6. Devops Candidates who would like to see How Continuous Integration Tools play role for End to End Framework Development.
  7. Test Leaders Proficient in developing Test Automation Frameworks

What can you expect after the course –

  1. Basic Scripting Using Python
  2. Understand Selenium Webdriver and Concepts
  3. Selenium IDE and its significance
  4. Unittest Framework
  5. Various Element Locating Strategies
  6. Working with various UI elements (radio button, checkboxes, textboxes, alertboxes)
  7. Cross Browser Testing
  8. Robot Framework style of Developing Scripts
  9. Integration with Selenium Grid.
  10. Git – Source Code management
  11. Designing or Orchestration of  Continuous Integration (CI) / Continuous Delivery (CD) using Jenkins

Help / Support –

  1. Daily Recorded Sessions for References
  2. Email Support
  3. Setup / Installation Documents
  4. Workshops

——————————————————————————————

Python

Chapter 1 : Setup Environment

  • Setup and Installation of Python
  • Download and configure Eclipse , Pydev

Chapter 2 : Basics of Python

  • Simple Script with Hello World Program
  • Working with different variable types
  • Conditional Programming – if..else, Nested conditions if..elif..else
  • Loop Programming – For loop, while loop

Chapter 3: Functions and Exception Handling

  • Creating simple and parameterized functions
  • Exception handling using try except and finally loop

Chapter 4: Data Structures

  • Lists – Create , Get Value from List, Modify List, Remove Value from List, Looping on Lists, Nested Lists, Delete List. Operations using inbuilt methods
  • Dictionaries – Create, Read key value pairs, modify , insert key: value pair, delete key, Nested Dictionaries. Operations using inbuilt methods
  • Tuples – Create, Update value in Tuple, delete tuple

Chapter 5: Object Oriented Programming

  • Classes – Instance of classes, Functions in the classes.

Chapter 6 : Python Modules

  • Importing Packages
  • Method Distributions

Selenium

Chapter 7: Introduction to Selenium

  • Selenium Architecture
  • Setup Selenium python client libraries

Chapter 8 : Selenium IDE(Integrated Development Environment)

  • Install Plugin for Selenium IDE on Firefox
  • Setting up a simple record and playback script using Selenium IDE
  • Export Script in various programming languages as the requirement (Python in our case)

Chapter 9 : Element Locator Strategies

  • Locating Element using Xpath (absolute or relative), using Indexes for same XPATH elements
  • Locating Element using Css , id
  • Locating Multiple elements using same XPATH
  • Locating All elements using Selenium IDE
  • Locating Elements with Link Text and Partial Link Text
  • Locating Elements using Google Chrome Inspector

Chapter 10 : Simple Basic Selenium Script

  • Launch Basic Web browser and load the URL
  • Locate elements using Python bindings of Selenium Webdriver
  • Miscellaneous Capabilities of Selenium bindings

Chapter 11 : Unittests

  • Execute the tests using unittest framework
  • Use various Assertion methods to verify the tests to be performed
  • Execute multiple testcases using unittests.
  • Setup and Teardown
  • HTML Reporting for Test runs

Chapter 12 : Data Driven Framework

  • Reading the data from json file of dictionary type
  • Modifying the scripts to read data from json and execute the test runs

Chapter 13 : Selenium Python Bindings

  • Webdriver class, Webelement class and various methods
  • Working with textboxes, checkboxes, and radio buttons.
  • Dropdowns and Lists
  • Alerts and Popup Windows
  • Working with Tables

Chapter 14 : Custom Interruptions

  • Implicit and Explicit waits
  • Wait conditions

Chapter 15 : Selenium Grid

  • Testing on chrome and internet explorer
  • Setting up Selenium Grid and browser specific nodes
  • Managing the test runs on Chrome, Firefox, IE based on Selenium Grid

Robot Framework

CHAPTER 1 : INSTALLATION AND CONFIGURATION

  • Introduction and Significance of Robot Framework
  • Installation with Python, PIP utility. Installing Robot Framework libraries.
  • Eclipse, Robot Framework Plugin
  • RED plugin for Eclipse and Debugging the scripts

CHAPTER 2 : SAMPLE ROBOT SCRIPT

  • Pybot Concept, Script file extensions (.txt or .robot). Reports and Logs of the test runs. Settings, Testcases, Variables
  • Parameterized Keywords

CHAPTER 3 : INTEGRATION OF PYTHON

  • Creating Python scripts and calling them into Robot Framework.

CHAPTER 4 : STANDARD LIBRARIES AND DATA STRUCTURES

  • Standard Libraries – Builtin, Assertions
  • List, Dictionaries using Collections Library

CHAPTER 5 :CONDITIONAL AND LOOP FLOW

  • If Else
  • For Loop

CHAPTER 6 :EXTERNAL LIBRARIES (SELENIUM2LIBRARY)

  • Selenium2Library, Launch Browser
  • Locator Using Methods in Robot Framework.
  • Custom Waits, Switching Windows, Alert Boxes
  • Various Assertions supported

CHAPTER 7:DATA DRIVEN AND KEYWORD DRIVEN FRAMEWORK

  • Using JSON file to read Test data, Using keyword methods as utilities.
  • Parameterized pybot command

CHAPTER 8 :SETUP AND TEARDOWN

  • Suite and Tests Setup and Teardown

CHAPTER 9 :TAGGING STRATEGY

  • Tagging Strategies for group the Test Suites and execute them in serial Manner.

CHAPTER 10 :REPORTING STRATEGIES

  • Generating Customized reports. Report Title, suite level.
  • Rebot Library to merge reports of multiple runs.

CHAPTER 11 :PARALLEL TEST EXECUTION

  • Using Pabot utility and Selenium Grid to execute multiple tests in parallel.
  • Leverage Selenium Grid Setup with RobotFramework for Cross Browser Testing

Advanced Test Automation Concepts

Course Content –

Chapter 1 : Automation Framework structure

  • Understanding application under test
  • Writing utilities for UI and non-UI parts of the application.
  • Writing parser utilities for external test datasource using json file.
  • Writing config utilities to get data from config file.
  • Page Object Framework

Chapter 2 : Basics of Git

  • Introduction to Version Control
  • What is Git
    • Performance
    • Security
    • Flexibility
    • Version Control with Git
  • Why Git For Organisation
  • Git Flow Diagram

 

Chapter 3: Setup Git ( Bitbucket )

  • Setup Repository
  • Save changes
  • .gitignore
  • Inspecting Repository
  • Analyse Commits
  • Revoke changes

Chapter 4 : Collaborative Contribution in Git Repository

  • git remote
  • git fetch
  • git pull
  • git push
  • Git stash
  • Making pull requests
  • Branching Strategies
  • Conflicts

 

Jenkins

Chapter 5 : Continuous Integration / Continuous Delivery

  • What is Continuous Integration / Delivery
  • Introduction to Jenkins
  • Creating Simple Job in Jenkins
  • Running Selenium Scripts with Jenkins
  • Integrating Git in Jenkins for Selenium Script runs
  • Creating Parameterized Jenkins Jobs to Generalize Selenium Test Runs
  • Making Framework generalised based on Parameterized Jobs
  • Run RobotFramework End 2 End Test Runs from Repository
  • Trend Analysis of RobotFramework Runs using RobotFramework Plugin on Jenkins