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.