EIEIOTECHNOVATION
← Training programmes

EIEIO / AUTOMATION & EMERGING TECHNOLOGY

Robot Framework

Course outline

5 days

Duration

5 days

Objective

To achieve Test Automation using Robot Framework - Selenium/Appium and also CI/CD process.

Prerequisite

Basic knowledge of Python programming is an added advantage. (Optional)

Overview

  • Origin & History
  • Features & Capabilities
  • Robot Framework – Libraries - Selenium/Appium

Installation & Configuration

  • Command Line & Path Basics
  • Install Python & PIP
  • Install Robot Framework & Libraries
  • Install Desired Browsers
  • Install Selenium Web Drivers (IE and Chrome)
  • Install Selenium Webdriver for Firefox
  • Install Eclipse + RED Plugin
  • Install PyCharm IDE + Robot Plugin / RIDE
  • Create Base Scripts Directory

Create first Script

  • Organizing Your Project Files
  • Sections of the Script File
  • Write Test Steps- Part 1
  • An Important IE Precondition Setting
  • Run the Script and Examine Results
  • Write Test Steps- Part 2
  • Locators Primer

Exploring the Robot Framework Libraries

  • BuiltIn (Log, Verifications, Repeat)
  • DateTime
  • Collections
  • String
  • Dialogs (Pause for Manual Steps/Data Entry
  • OperatingSystem (Folders & Files)

Selenium

Selenium Introduction

  • Selenium History
  • Migrating to WebDriver latest Version
  • Selenium 2.0 and 3.0 WebDriver Architecture
  • Selenium IDE

Locator Techniques& Tools used

  • Preview Browser Add-ons overview to identify elements
  • Locator Techniques : XPath identification, CSS identification, Name ,ID, ClassName, LinkText,-Handling links
  • XPath, CSS Validation using chrome and javascripts

Basic Concepts for first WebDriver program

  • WebDriver Interface explanation and Invoking Browser
  • Basic Methods of WebDriver
  • How to run tests in Google Chrome
  • How to run tests in Internet Explorer

Techniques to automate Web UI

  • Handle Dynamic dropdowns with WebDriver API
  • Handling Static dropdowns with Select WebDriver API
  • Handling Checkboxes with WebDriver API
  • Handling Radio buttons with Customized XPath
  • Handling Radio button dynamically- real time examples
  • Types of Alerts present and Methods to handle them
  • Handling Alerts using WebDriver API
  • Web Elements Validation
  • End to End Practice Exercise

Real Time Exercises (end to end Programming)

  • Test Cases- Practice Exercise
  • Exercise 1.1-Limiting WebDriver scope
  • Getting Count of links in the pages ,sections
  • Testcases-Practice Exercise-2
  • Exercise 2.1-Dynamic data in Websites
  • Exercise 2.2-Dynamic Links Handling
  • Exercise 2.3-Validations & checkpoints

ADVANCED WAYS-locating objects

  • writing Customized XPath Using Attributes
  • Writing customized XPath Using Tagnames Traversing
  • Css Selectors locators

Techniques to automate ADVANCNED Web UI

  • Handling Ajax/Mouse Interactions
  • Handling java script actions
  • Actions class-real time example
  • Handling Multiple Windows
  • Window Handle concepts-real time example
  • Live Example on working with Child windows
  • Handling ul li Tags in Selenium
  • How to handle Frames?
  • Frames Techniques-real time example

Practical problems and Methods to handle them with Selenium

  • How to handle table Grids in webpage
  • Techniques used for table grid-Real time example
  • How to overcome Synchronization problems
  • Maximizing window and deleting cookies
  • Handling HTTPS certifications
  • How to troubleshoot if it is not invoking in Firefox
  • Killing the Process and Cookies using Selenium
  • How to take Screenshots in Selenium

Handing dynamic pages using JavaScript

  • How to handle forms using JavaScript.
  • Techniques used for handling dynamic dropdown
  • Validation of XPath and CSS using JavaScript
  • Getting video content using JavaScript
  • Handling videos using JavaScript

Framework Design: A framework will be designed from scratch after Selenium.

Introducing User-Defined Keywords

  • Break the Script into Keywords
  • Moving Keywords to Resource Files
  • Adding Set Up and Tear Down
  • Overview of Page Objects
  • Demo: Create a Page Object
  • Increase Readability Using Gherkin

Make the Script More Readable

  • Style: Procedural vs. Gherkin

Use Variables to Centralize Data

  • Scalar Variables
  • List Variables
  • Variable Scope
  • Passing Variables to Keywords
  • Supplying Script Input Data at Runtime
  • Modify Our Project with Variables

Page Object Model

Database (MS SQL, MySQL)

Data Driven – Excel, CSV

Function Library

  • Python binding

Script Running Options

  • Running from Pycharm / RIDE
  • Running from a Command Window
  • Running from a Batch File
  • Running from the Task Scheduler

GIT-Jenkins- CI Tool

  • GIT Installation
  • Working with GIT
  • Why Jenkins? and where it going to help us in Framework design?
  • Installing & Configuring Jenkins
  • Creating Jenkins project and integrating Existing Framework
  • Running the Framework and Scheduling it from Jenkins

Appium – Android and IOS Automation

Instance 1 – Setup & Mobile Web & Android Environment

Appium Introduction

  • Course Agenda
  • Appium Features
  • What makes Appium a future of mobile Automation
  • Appium Internal Architecture

Appium Installation on WINDOWS for Android Automation

  • Installing Android Studio
  • Configuring System variables for both Android SDK
  • Downloading Visual Studio and Installing ADT Plugin
  • New update on Installation
  • Configuring ADT plugin settings in Visual Studio
  • Installing Appium Server and Jars
  • Creating Visual Studio project and Configuring Appium selenium jars

Appium Installation on MAC for IOS Automation

  • What is Xcode? Install Xcode
  • Validating IOS Simulator
  • Installing Visual Studio IDE for MAC
  • Downloading Appium/Selenium Jars

APPIUM first program

  • Desired Capabilities concepts
  • Invoking Android Virtual Device
  • First Program explaining Mobile Capabilities
  • Android Driver Invocation

Web APPS Automation

  • Chrome Browser Configuration setup in Mobile
  • Automating the Chrome Mobile Browser
  • UserAgent-Identifying objects in Mobile Browser
  • Automating Mobile Specific Web Sites
  • Exercise on Real Device-Mobile Browser Automation
  • Troubleshooting the Real device to make recognize
  • Testcase- Automating Udemy Mobile View Site
  • Exercise 1.2 -Getting Xpaths from Mobile Browser
  • Exercise-1.1 -Chrome Remote Debugging Technique
  • Exercise-1.3 -Automating Udemy Site in Mobile Browser

Practical Problems and solutions with Mobile Browsers

  • Problem - Description
  • Identifying frames from Html view
  • Element Hidden or Invisible-How to validate
  • Writing Generic functions to Identify Frames/Windows
  • Example Demonstrating Multiple Frames
  • Handling Auto suggestive dropdown options
  • Dynamic data loading- Exception Techniques

Instance 2 –Android Environment

Native APPS Automation

  • Program on Invoking Apps
  • UI Automator Tool to identify objects
  • Automating app UI Using of ID, Xpath ClassNames
  • Appium API's for UI interaction
  • Mobile Gestures Automation
  • UI Selector class in handling Advanced API's
  • AndroidKeyEvents Handling
  • Procedure for downloading App in Emulator(Virtual devices)
  • Automation on real devices
  • Invoking App with package Activity
  • Example on package name and Activity Invoking apps

Mobile Commands

  • Android adb commands
  • iOS Siri Commands
  • Enabling wifi
  • Enabling Bluetooth
  • Launching settings screen
  • Launching control center

Live Examples on Device APPS

  • Music App- Testcases to Automate
  • Practice Exercise-1 (Covers Mobile Gestures)
  • Practice Exercise- 1.2 (Covers Core Appium Api)
  • Languages App- Testcases to Automate
  • Practice Exercise 2.1-(Appium+Webdriver logic)
  • Practice Exercise 2.2- (Android Key Events)
  • ecommerce App-Installing app into Device
  • Practice Exercise -3.1-Handling Image Banners
  • Practice Exercise -3.2-Handling Scrollable Menu,Popups
  • Practice Exercise -3.3-Handling checkboxes,Radiobuttons,Dynamic Texts

Hybrid APPS Automation

  • Hybrid Apps features and ways to test them
  • Views switching Mechanism
  • Example on Hybrid App handling

Instance 3 –IOS and Cloud Environment

Appium BrowserStack Configuration

  • Architecture of BrowserStack
  • Setting up BrowserStack Appium Driver
  • Working with BrowserStack capabilities
  • Parallel running using BrowserStack

IOS Automation with Appium on MAC

  • IOS Testing Introduction
  • IOS App Download
  • Desired Capabilities for invoking IOS Apps
  • IOS Driver Invocation
  • Running IOS first Automation Testcase
  • How to Identify objects in IOS App- Appium Inspector
  • Magic of Appium Inspector on IOS Apps
  • Handling IOS Controls with Appium
  • Practice Exercise on Switches
  • Practice Exercise on Scrolling Cycles
  • Practice Exercise on Scrolling wheels
  • Handling IOS Alerts Buttons with Appium
  • Practice Exercise on Alerts

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