
Explore cucumber basics and its integration with selenium, protractor, and Appium, guided by practical project experience. Learn setup, configuration, and real-time examples to handle cucumber-driven selenium and Appium projects.
Learn how behavior driven development uses cucumber to write plain-English scenarios with given, when, then, and, enabling readable automations that bridge business and testing teams with selenium.
Learn to configure cucumber in Eclipse by creating a Maven project, installing the cucumber plugin, and adding Selenium and Cucumber Java and JUnit dependencies in pom.xml.
Create and organize three Maven packages for Cucumber BDD in a Selenium project: features, step definitions, and Cucumber options, to define tests, connect steps, and introduce the Gherkin syntax.
Explore how to translate scenarios into executable tests by creating feature files and step definitions in Cucumber, mapping given/when/then steps to Selenium actions.
Learn how to generate cucumber step definitions from a test runner class, configure cucumber options, link feature files and step definitions, and implement steps to resolve warnings.
Demonstrates integrating selenium commands inside cucumber step definitions to automate a salesforce login, covering selenium configuration, drivers, maven setup, and building a feature and step definitions.
Learn how to define preconditions and post-conditions in Cucumber bdd for Selenium, Protractor, and Appium, using background and hooks to set common setup across scenarios.
Downloading and Installing Selenium IDE
Features of Selenium IDE
Selenium IDE Icons
Recording your first test with Selenium IDE
Save and playback first script
Mode of execution
What is command , target, value
Asserting the elements
Verifying the elements
Wait For elements
Storing the elements
Synchronization commands
Adding Selenium IDE comments
goBack, refresh, Enterkey simulation, highlight ..etc.
Asserting the elements
Verifying the elements
WaitFor elements
Storing the elements
Synchronization commands
Adding Selenium IDE comments
goBack, refresh, Enterkey simulation, highlight ..etc.
IDE Context Menu
Building Test cases using Selenium IDE
Capturing screenshots in IDE
Start & break points with example, limitations of ide
How to use looping statements like IF, while in IDE with few examples
Usage of goto commands in IDE
Delete all cookies
Multiple user creation using if condition
Generating Dynamic values using JS functions
Usage of JS functions with IDE
Creating test suites
Framework in IDE
Install and configure Java for Selenium test automation by installing the JDK, setting environment variables, and verifying Java via the command prompt, and understanding the JVM basics.
Understand how a class serves as a blueprint and how an object, with its state and behavior, is created in Java using constructors and a main method.
Understand inheritance as child classes inheriting from a parent using extends, including single-level, multilevel, and hierarchical forms, Java limitations, and its use for reusable driver framework design.
Explore abstraction in programming by hiding implementation details and exposing only essential functionality, with a focus on abstract classes and the need to implement abstract methods.
Explore the web driver architecture and its role as an interface implemented by Chrome, Firefox, and Safari drivers, enabling browser automation through the WebDriver API.
Learn how locators and Firebug help identify web page objects, inspecting properties like id, class, name, type, and value to build reliable Selenium automation scripts.
Explore various locator types in Selenium by using the Firefox add-on to identify objects and properties, copy locators, and apply them across C#, Java, Python, and Ruby.
Compare RC and WebDriver by noting the server requirement and direct browser interaction. Show that WebDriver runs faster, supports actions class, and executes scripts directly on the browser, unlike RC.
Configure WebDriver for Selenium by creating a new Java project in Eclipse, adding Selenium jars, importing the Firefox driver, and launching the browser via the driver.
Explore how constructors initialize objects, pass parameters, and use the new keyword to launch browsers with Selenium WebDriver, demonstrating browser automation in Java.
identify web elements in selenium using id, class name, name, css selector, and more, then perform actions like click or input with the driver.
Learn Selenium basic commands to automate browser actions, including launching Firefox, opening applications with get and navigate, performing search operations, and troubleshooting compatibility issues between Selenium Java and Firefox versions.
In this lecture, learn how to use selenium click, close, and quit commands to automate login to Salesforce, handle elements with send keys, and manage checkboxes and radio buttons.
Master selenium based test automation by building and running scenarios, including logging into Salesforce and handling checkboxes and radio buttons, using find element, click, and send keys commands.
Learn how to handle checkboxes and radio buttons using click operations to select, uncheck, and verify their status, and prepare for dropdown selections in the next session.
Explore selecting values from dropdowns in Selenium using the select class, by index, value, or visible text, including handling multiple dropdowns, scrolling, and retrieving options.
Learn how to identify and interact with frames in a web page using Selenium by switching the driver to the target iframe and accessing elements inside it.
Learn to handle browser and system alerts with the robot class and AutoIt, covering simple, information, confirmation, and prompt dialogs, and integrate these tools into Selenium-based tests.
Learn to manage multiple windows in Selenium tests by capturing all window handles, switching between windows and frames, and synchronizing actions to handle alerts and popups.
Learn to handle web tables with the cucumber-bdd framework for selenium, protractor, and appium by locating tables, iterating rows and columns, and extracting cell data.
Explore how to use the javascript executor in selenium to manipulate web pages, capture element properties, and implement implicit, explicit, and fluent waits for robust automation.
Explore the Cucumber bdd framework for Selenium, Protractor, and Appium, with focus on Firefox profiles, cookies handling, and proxy settings. Learn about listeners and before-after hooks within design capabilities.
Explore data driven testing concepts and keyword driven testing, and learn to source data from Excel, text, CSV, and properties files, reading sheets and rows with file input streams.
Learn to read content from pdf files and images using external jar files and ocr, and print extracted text via a browser-based test script.
Explore the differences and similarities between JUnit and TestNG, with hands-on examples of before and after methods, test annotations, and generating detailed test reports in Eclipse.
Learn how Maven supports Selenium projects with a partial page object model, configure environment variables, install in Eclipse, and manage dependencies from the central repository.
Explain the framework and its three components, and illustrate a hybrid framework that blends the page object model with data-driven testing, including properties and excel data handling.
Define what a framework is and learn its core components, from data driven and page object model to hybrid designs, including data sources like excel or databases for automated tests.
Explore how to structure a Cucumber-bdd framework with pages, drivers, base, and business functions; learn to design reusable methods for text entry, clicking, and login workflows across packages.
Explore a practical selenium framework: configure dependencies, read browser type from properties, launch chrome/firefox/ie, and implement data-driven tests with an object repository and base test setup.
Explore the Cucumber bdd framework architecture, detailing constants, step definitions, and page objects, and explain how property files and repository get property calls connect resources with Java code.
Learn how to define cucumber bdd step definitions in java, map feature file steps to selenium logic, and organize before and after hooks with page objects and data-driven scenarios.
Learn to configure and run Selenium automation in Jenkins by executing test scripts from the command prompt, setting a custom workspace, and building and validating test runs.
Explore cucumber-bdd framework for selenium, protractor, and appium by building a scalable page object model with utilities, data providers, and reusable business functions to script diverse test scenarios.
Discover Protractor, a selenium-based framework for angular and non-angular apps, and learn its history, installation, configuration, and how to write a basic script using a page object model.
Install Protractor globally with npm install -g and use webdriver-manager to download and start the Selenium server. Verify installation with Protractor --version.
Learn Jasmine framework basics for behavior-driven testing, including describe and it blocks, global describe usage, and expectations. Explore Protractor integration and browser support with Chrome, Firefox, and Safari.
Explore different editors for writing protractor tests and building a basic framework, including creating a project folder, configuring the protractor conf, organizing specs, and writing Jasmine-based test scripts.
Explore protractor spec.js structure and global variables such as browser, element, and by, and show describe and it blocks with browser.get for angular and non-angular pages.
Explain ng-repeat with examples by handling a dynamic to-do list through repeaters. Use the dot all command to gather all to-do items and verify values with expect.
Handle dropdowns with JProtractor by building scripts that select operations like addition, subtraction, multiplication, and division from a dropdown in a Selenium Protractor workflow.
Explore Appium mobile automation within the cucumber-bdd framework, covering native, hybrid, and mobile web apps, OS considerations (Android, iOS), and client-server architecture for automated testing.
Discover mobile testing fundamentals, including target device selection, testing on Android and iOS, and evaluating native, hybrid, and web apps for performance and usability.
configure eclipse editor for cucumber-bdd based automation with appium, selenium, and protractor, including setting up a basic project and android driver with desired capabilities.
Learn to design and pass android capabilities for Appium, including automation name, platform name, version, device name, and app file, then initialize an android driver to install and launch app.
Learn to automate handling of dropdowns, switches, and checkboxes on real devices and emulators using Appium, with practical steps for identifying elements, using ids and ex-parte inspector.
Learn to automate Android user interfaces with cucumber-bdd using Appium, covering switches, checkboxes, radio buttons, text fields, and expandable lists, with object identification strategies.
Learn to capture screenshots and videos on Android devices using Selenium with Appium, store images locally, and use a test recorder to capture app activity.
Learn to handle native app popup menus with Appium by locating, tapping, and validating popup options, navigating views, and using robust locators to interact with menu items.
Learn to perform long press on user interface elements, identify unique properties, and automate creating and sending messages in a mobile app using appium.
Mac configuration required and downloading components from terminal day 2 covers setting up Appium on Mac, checking node installation, installing dependencies with Ruby, and troubleshooting excluder and inspector issues.
Install node and appium 1.7 from the terminal to set up the cucumber BDD framework for Selenium, Protractor, and Appium.
Learn to handle alerts in the cucumber bdd framework for selenium, protractor, and appium by identifying alert properties. Use accessibility IDs to automate simple and OK/cancel dialogs.
Learn to automate action sheets using accessibility IDs, selecting options like ok, cancel, or safe choice, and adapt scripts to handle dynamic sheets and common failures.
Master handling of picker wheels in cucumber-bdd framework for selenium, protractor, and appium. Learn to select single or multiple dates, identify properties, and use get attribute to verify selections.
Learn how to locate and handle multiple switches in an app, toggle their states with a for loop, and verify status by reading the value property after each interaction.
Learn to handle steppers by locating plus and minus buttons, collecting stepper controls, and performing increment or decrement on the first stepper while capturing results to the console.
Learn to handle steppers in cucumber-bdd framework by modifying scripts to manage multiple inputs with a dynamic for loop across three values.
Updated course with latest framework concepts(Selenium POM framework, Cucumber BDD framework), JENKINS, GIT on Jan 18th 2020
Cucumber Content
· Cucumber – Overview
· Cucumber – Environment
· Prerequisites for Environment
· Setup
· Configure
· Cucumber with Maven
· Cucumber – Gherkins
· Cucumber – Junit Runner class creation and examples
· Cucumber – Features
Feature Files
· Cucumber – Scenarios
Examples of creating scenarios on different applications
Converting manual test cases into scenarios
· Steps Definitions
Generate step definition from TestRunner class
Generate step definition from chrome browser plugin
Generate step definition by writing our script
· Integrating cucumber with Selenium
Examples of cucumber + Selenium scripts
· How to create reusable steps
Examples in creating reusable steps and step definitions
· Cucumber – Data Tables
Examples of creating data in data tables
· Cucumber: Parameterization and passing multiple sets of data
Examples of data parameterization
· Cucumber – Tags
· Cucumber – Comments
· Cucumber – Hooks
· Cucumber – Reports
· Framework creation
· Integrating Appium with cucumber
Examples of executing scripts on Android devices
Examples of executing scripts on iPhone
Selenium Content
Demo session:
Introduction to Automation
Why and when will we go for Automation
What is the use of Automation
What is the difference between Selenium and QTP
About Selenium:
What is Selenium
Advantages of Selenium
Different flavors of Selenium:
· Selenium IDE
· Selenium RC
· Selenium Grid
· Selenium Web Driver/Selenium 2.0
· Selendroid
Selenium IDE Overview:
Downloading and Installing Selenium IDE
Features of Selenium IDE
Selenium IDE Icons
Recording your first test with Selenium IDE
Save and playback first script
Mode of execution
What is command , target, value
Asserting the elements
Verifying the elements
WaitFor elements
Storing the elements
Synchronization commands
Adding Selenium IDE comments
goBack, refresh, Enterkey simulation, highlight ..etc.
IDE Context Menu
Building Test cases using Selenium IDE
Capturing screenshots in IDE
Start & break points with example, limitations of ide
How to use looping statements like IF, while in IDE with few examples
Usage of goto commands in IDE
Delete all cookies
Multiple user creation using if condition
Generating Dynamic values using JS functions
Usage of JS functions with IDE
Creating test suites
Framework in IDE
Core Java concepts:
Introduction To Core
Java
What
is jre, jdk,
jvm
Install
java
Environment variable configuration
Datatypes
method
variables
Package
What is a class and object?
various data
types
Download
eclipse
How
to create
java project
What
is
object
How
to create object to a
class
What
are method parameters with
examples
How
to add return type to a method with
examples
Public
Private
Protected
Default
Inheritance
and examples on parent child
relationship
What
is abstraction and abstract
class
Overview
on interface
Web Driver Concepts :
Introduction & Architecture
How to identify elements in webpage using Selenium
Tools to identify elements/objects
Firebug
IE Developer tools
Google Chrome Developer tools
Locating elements by ID
Comparissions between RC and WebDriver
Downloading and configuring web driver in Eclipse
Setup required for webdriver
configuring webdriver
How your browser will be launched
comparison b/w selenium java 2.48 & 3.5 versions with example
Finding elements by name
Finding elements by link text
Finding elements by XPath
Finding Elements by using CSS
Overview of method chaining in java
How to open an application using GET N NAVIGATETO COMMANDS
Firefox browser n selenium java issue
How to maximize the window
How to use sendkeys command in webdriver
Various commands close, quit, click command in webdriver with examples
scenarios and login to sales force ,
Handling checkboxes
How to use isselected,
How to perform uncheck operation
How to handle radio buttons :
Overview on webdriver select class with examples
Diff between findElement and findElements commands
findElements examples,
How can we perform tab operation
Identify all links a webpage with examples
working on chrome browser
working on IE browser
html unit drivers,
What is frames and overview on frames
How to handle alerts
overview on robot class and examples
overview on autoIT and examples
How to handle multiple windows with examples
getCoordinates
Actions class
Dragable
dropable
datepicker
resizable
Handling of webtables
Getmethods();
Introduction to java script executor
Usage of Java script executor
Javascript Executor
Implicit wait, Explicit wait, Fluent wait
What is a Firefox Profile
Handling Certificate issuer using FF profile
Handling proxy server and file downloading using FF profile
Datadriven testing
JXL
POI
Keyword driven testing
Datadriven testing
Text file
properties file
CSV file
Read content from a PDF file
Read content from an image file
Introduction about TestNG How to Install TestNG plugin in Eclipse
TestNG sample script
Writing Selenium testing script from
scratch
Creating
Test suites using TestNG Reports generation using TestNG
overview on JUNIT
Introduction to
Framework
components
in
framework
Discussing
about base
framework
Creating
a POM framework
*********************************************************************************************************************
APPIUM (Mobile Automation testing tool) Content has 2 parts which covers both Android & iOS
Chapter 1: Introduction to Appium
Introduction to Appium
Overview of Open Source Mobile Test Automation tools:
Open source Mobile Automation tool Evaluation
docs
Why
APPIUM
Limitations of APPIUM
Appium architecture
Chapter 2: Appium- Prerequisites & Installation for Windows
Appium Prerequisites
Java Installation & Configuring System Environmental
variables
Maven
Configuration
Android SDK
configuration
Eclipse
IDE
configuration
Appium
installation on
windows
What
is an APK
file
Various
sources to get APK
files
Installing
application on real device using these APK
files
Automating
INDIAMART-Login
Automating Facebook- Post Status
Automating Facebook- Delete Post & User Logout
UI Automator Component
Element Locators
Chapter 3: Installation for APK Files
What is an APK
file
Various
sources to get APK
files
Installing
application on real device using these APK
files
Automating
INDIAMART-Login
Automating Facebook- Post Status
Automating Facebook- Delete Post & User Logout
Chapter 4: Object identification
Locating elements by resource ID
Locating elements by
name
Locating
elements by
classname
Locating
elements by xpath
Chapter 5: Basics of Android
Share & Control Real Android Device screen from
PC
Download
Android Platforms using SDK Manager
CreateVirtual Devices/Emulators using AVD Manager
Chapter 6: APPIUM basic concepts
Settingup a basic
project
Appium
API
Reference
What
are DesiredCapabilities
Knowing AppPackage and Launcher Activity of Android App
Chapter 7: APPIUM commands
sendKeys()
click()
getLocation()
getContextHandles()
findElement()
closeApp()
quit ..etc
Chapter 8: Mobile Touch Gestures-DragDrop, MultiTouch, Swipe,Scroll
Performing Drag and Drop using TouchAction
class
Performing
Click and Swipe using TouchAction
class
Performing
MultiTouch and Drop using MultiTouchAction
class
Performing
Swipe using screen coordinates(x,y)
Performing Long press using TouchAction class
Chapter 9: Android MobileBrowser-Automating Mobile Web Application
Introduction to Mobile Web
Automation
How
to get Useragent from Android Browser
Identifying the objects on Mobile
browser
Automating
mobile specific websites
Chapter 10 : Android- Automating Built in Apps(Phone, contact,Settings)
Android BuiltIn App(Phone) : Dial phone
number
Android
BuiltIn App(Message) : Sending a
message
Android
BuiltIn App(Clock) : Setup Recurring Alarm
Chapter 11: Appium- Prerequisites & Installation for Mac
Appium Prerequisites
Java Installation & Configuring System Environmental
variables
Maven
Configuration
Android SDK
configuration
Xcode
Configuration
Eclipse IDE
configuration
Appium
installation on Mac
Chapter 12: Appium- iOS App download
Emulators Vs Simulators
iOS App
download
Share
IOS Device Screen on Mac
Provisioning Development Build on Real IOS
Device
Using
Appium inspector to identify the element properties
Chapter 13: Working with Safari browser on IOS Device
Running ios first automation test
case
Launch
Safari browser on IOS Simulator
Launch Safari Browser on Real IOS Device
Chapter 14: Working with IOS Controls on Real IOS Device
Working with Steppers(UIAStepper)
Working with Switches(UIASwitches)
Working with Sliders(UIASlider)
Working with PickerWheel(UIAPickerWheel)
Working with Date Picker
Working with Segmented Controls(UIASegementedControl)
Working with Page Indicator(UIAPageIndicator)
Handling alerts
Chapter 15: Jenkins-Continous Integration with Appium
Parametrizing DesiredCapabilities using Maven
Integrating Appium with CI tool Jenkins
Dynamic Parametrization of DesiredCapabilities using Jenkins
Scheduling the framework to run at specific time
Chapter 16: SauceLabs-Cloud Integration with Appium
Integrate Appium IOS Tests with SauceLabs
Integrate Android Appium Tests with SauceLabs
Chapter 17: Programmatically Launch Appium on Mac & Windows
Programmatically launch Appium using AppiumServiceBuilder
Programmatically Launch Appium on Windows
Programmatically Launch Appium on Mac
Chapter 18: PageFactory Model- Automating IOS App
PageObject Pattern & PageFactory Introduction
Developing PageObject Model and extending PageFactory
support
Creating
AbstractTest & AbstractPage
Writing Tests in PageFactory
Model
Using
@iOSFindBy and @AndroidFindBy Annotations
Chapter 19: Appium Tests Parallel Execution
Run Appium Test Cases Across Multiple Devices Using Grid
Chapter 20: Capture Video and Screenshots for iOS & Android test runs
Android: Record Video Screen during test execution
iOS: Video Record Screen during Test Execution
Eclipse IDE- Fix for ADB Path error during Video Capture on Android
******************************************************************************************************************
Protractor Content/Protractor on a real project/
Protractor Overview: Protractor Tutorials on End-to-End testing on AngularJS websites. A wrapper over Selenium WebDriverJS library
Prerequisites to install Protractor
Protractor Installation
Architecture and Process communication of Protractor
Overview on Jasmine: Covering Jasmine Framework that needed for Angular JS automtion using Protractor
various editors and folder structure
overview on spec.js
introduction to global variables:
browser.get
element
by
created a simple example
execute the script
overview on conf.js
locators with examples
Overview on ng-repeat with examples
Introduction to Multiple It and Before Each in Jasmine
Basic script in handling calculator
verifiaction points in jasmine using expect
How to work on non angular JS applications
Sample script to login to SF application
Introduction to Page Object Modle framework
converting spec file to a page object mondel
creating and executing scripts in Paga Object Model
How to handle Protractor using JAVA programming language
Creating JProtractor jar file and adding to JAVA Project in eclipse editor
Creating basic scripts for Protractor using JAVA programming language
Handling text fields
Handling dropdown
various identification mechanism for NgBy. with examples
***********************************End of Protractor****************************************************