RobotFramework + Selenium + Python

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
  • 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

 

Course Content

==================================================================================================

Python Basics

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 Lists
  • Scroll Elements in the View
  • Alerts and Popup Windows
  • Switching and Handling Multiple Windows
  • Working with Tables
  • Ancestors and Descendants

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,
    • Operating System - File Handling, Global Variables, Environment Variables
    • String
  • List, Dictionaries using Collections Library
  • Assertions

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,Dropdown 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

 

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

 

Git

 

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