EIEIOTECHNOVATION
← Training programmes

EIEIO / PROGRAMMING & DEVELOPMENT

Selenium with Python for Test Automation

Course outline

3 days

Duration

3 days

Overview

Manual testing refers to the fact that, the web application being tested is done manually by testers. Tests need to be performed manually, using a different data set and the success / failure rate of every transaction should be recorded. The challenges faced by the poor tester who does is manually is facing cause fatigue, boredom, delay in work, mistakes and errors because of the manual work. This leads to the need for automation testing.

Automation testing beats manual testing every time. Because it is faster, needs less investment in human resource, not prone to errors, frequent execution is possible, supports lights out execution and supports regression testing and also functional testing.

Selenium is a suite of software tools used to automate web browser testing. It is an open-source tool and is mainly used for functional testing and regression testing. Since it is open-source, there is no licensing cost involved, which is a major advantage over other testing tools.

Objective

The main objective of this course is to show applications how to create fully automated testing suites for applications. Specifically, participants of this program should be able to do the following upon completion of the course.

  • Introduction to Automation Testing
  • Web Technologies
  • Selenium IDE
  • Python
  • Selenium RC
  • Eclipse
  • WebDriver
  • Grid

Prerequisites

The pre-requisite for this course is basic knowledge of Core Python. However the program also includes a complimentary chapter Python Essentials for Testing with Selenium WebDriver to the participants. Basic knowledge about software testing is added value to this program

Target Audience

The course is ideal for test managers, test engineers, test lead, test analyst, quality assurance Engineers, software developers and engineers who want to learn automation testing.

Day 1

  • Automation Testing
  • Introduction to Automation
  • What is automation testing
  • Advantages of Automation Testing
  • How to learn any automation tool
  • Types of Automation tools
  • Introduction to Selenium
  • What is Selenium
  • Use of Selenium
  • Features of selenium
  • Advantages of Selenium
  • Selenium Components
  • Selenium IDE
  • Selenium Core
  • Selenium RC
  • Selenium Grid
  • Selenium 2.0 – Web Driver
  • Locators of Selenium
  • Tools to identify elements and objects
  • Firebug
  • IE developers tools
  • Google chrome developer tools
  • Locating elements by ID, Name, Link Text, XPath
  • Installation and setting up environment
  • Installation of Python and PIP
  • Installing Python IDE (PyCharm or Eclipse plug-in or PyScripter)
  • Configuring the environment
  • Selenium IDE
  • Selenium Overview
  • Selenium IDE Introduction
  • Downloading and Installing Selenium IDE
  • Recording and Running a Simple Test
  • Selenium IDE – Features
  • Installing Useful Tools for Writing Tests
  • Selenium Concepts
  • Selenium Commands
  • Verifying Page Elements – Assertions and Verifications
  • Wait Commands
  • Object Identification
  • Element Locators
  • Regular Expression patterns
  • Selenium Test Runner
  • Using Regular Expressions in Selenium IDE
  • Creating Selenium Test Suites
  • How to run the recorded script against other browsers
  • Why companies are not using recording tools
  • Limitations of Selenium IDE

Day 2

  • Python Basics
  • DevOps Tools and techniques
  • DevOps Delivery Pipeline
  • DevOps Ecosystem
  • Continuous Delivery Architecture
  • Introduction to data types
  • Control Flows
  • Functions and Variables
  • Data Structures
  • Lists & More
  • Classes
  • Names and Objects
  • Inheritance
  • Iterators
  • Generators
  • Python Standard Libraries
  • Errors and Exceptions
  • Modules
  • Input and Output
  • Working with Docker
  • Key commands for Docker
  • Networking with Docker
  • Docker Volumes
  • Managing files
  • Verification and Asserts
  • When to use verify and when to use assertions
  • Extracting values from a drop down
  • Echo, StoreEval and StoredVars Demystified
  • Regular expressions usage
  • Selenium RC
  • Installing Selenium RC
  • Selenium RC Overview
  • Starting and Stopping Selenium Server
  • Creating the generic scripts in selenium
  • Creating the scripts by using functions
  • Selenium Client Libraries
  • Browser commands with examples
  • Interactive commands with examples
  • Information commands with examples
  • Validation commands with examples
  • How to take data from excel sheets
  • Why should we use excel sheets
  • How to take data from DB
  • Debugging the scripts
  • Maintaining the synchronization points
  • How to handle Pop-up’s and alert messages
  • Selenium Grid
  • Introduction of selenium Grid
  • Installation and setup of Hub and node
  • Script changes for Selenium grid execution
  • Simple script execution using grid
  • Parallel execution using grid

Day 3

  • Selenium Webdriver
  • Introduction of Web Driver
  • Download & configuring Web driver
  • Architecture of selenium web driver
  • Drivers for Firefox, IE, chrome, I-phone, Android
  • First Selenium Code
  • Introduction to basic commands like get/navigate
  • Exception Handling in Selenium
  • Working with web page elements/Controls
  • Introducing wait - implicit and explicit wait
  • Handling different browsers - Firefox, Chrome and Internet Explorer browser
  • Taking screenshots
  • Handling Java script alerts, confirmations and prompts
  • Working with Windows, Tabs and Frames
  • Working with static and dynamic Web tables
  • Action class for Mouse and Keyboard Actions
  • File Upload and Download
  • Working with Proxy APIs
  • PyTest Framework
  • Introduction to PyTest framework
  • Installing PyTest
  • PyTest Fixtures
  • Running multiple tests using PyTest
  • Generating Test report
  • PyUnit Framework
  • Introduction to PyUnit framework
  • Installing PyUnit
  • PyUnit Annotations
  • Test case creations/running
  • Assertions/ Reporting Errors
  • Reports in PyUnit
  • Data Driven Testing
  • Reading and writing data from Excel
  • Writing automation scripts to use excel data
  • Page Object Model (POM)
  • What is Page Object Model (POM)
  • Concept of Object Repository
  • Need for POM
  • Page Factory
  • Implementing POM
  • Concepts of Framework
  • Introduction to Framework
  • About Framework
  • Use of Framework
  • Different types of Framework
  • Modular framework
  • Data Driven framework
  • Keyword driven framework
  • Hybrid framework
  • Different types of packages in Framework
  • Use of Framework
  • How to develop the framework
  • Integration of the framework
  • How to execute the scripts from framework

Programme scope, delivery arrangements and suitability are confirmed during enquiry.