Course : Full Stack Developer Course

RobotFramework with Python and With Devops ( CI / CD )

Internet being the primary source of Online Business and Marketing, every business tries to develop its on website. For this they look for a Robust and Reliable platform and Website developers. To address this challenge, Manual Testing Process which Invests lot of its time in Retesting Application under Test rather Testing new features, automating the Test Process Becomes Critical. In this course with Selenium Webdriver and Robot Framework we can help you to Understand Framework Development along with excellent reporting and integration with Continous Integration tools like JENKINS. We will involve Dockerization of Test Automation Infrastructure development as part of the Advanced Enhancement to the Test Automation Infrastructure and Involvement of CI / CD using Jenkins

Course Duration – Days : 20-25 days Hrs : 2 Hrs Schedule : 7.00 am - 9.00 am

S/w and H/w Pre-requisites – 1. Macbook/Windows Machine with Internet 2. Python 2.7.10+ ( Windows MSI or Click For Other OS ). 3. Online Attendees (If any) with respective Service Who can take up the course – 1. Manual Testers with no programming background 2. Test Engineers who would like to Develop Test Automation Framework for their Projects.

1

3. Developers who want to develop Unittests for Modules to test. 4. Managers who would like to develop ROBUST and RELIABLE Framework for long runs 5. Devops Candidates who would like to see How Continuous Integration Tools play role for End to End Framework Development.

What will you understand after the course –

1. Understand Selenium Webdriver and Concepts 2. Selenium IDE and its significance 3. Basics of Python 4. Robot Framework and Writing Scripts using it 5. Best Practises to Develop the Framework 6. Using Robot Framework write Selenium Related Scripts in Framework Pattern. 7. Integrate our Automation Framework Development with Continuous Integration tools like Jenkins and See Interactive Test Reports. 8. Develop infrastructure to Run the Test cases in Docker Containers.

Post-Training Job Support This is a on-demand service, to provide support for any queries after the training. Schedule for the same can be on mutual availability during office hrs for 1 hr. Mode of Communication : ​ Skype, Zoom, Gotomeeting

2

Table Of Contents

Python Content - 5 Introduction .. 5 …………………………………………………………………… Conditional Statements . 5 ………………………………………………………… Looping ...... 5 …………………………………………………………………… … Control Statements ...... 5 ………………………………………………………… String Manipulation ... 5 …………………………………………………………… Lists ... 6 ………………………………………………… Tuple ... 6 ………………………………………………… Dictionaries ... 6 ………………………………………………… Functions ... 6 ………………………………………………… Modules/python library ... 7 ………………………………………………… Input-Output ... 7 ………………………………………………… Exception Handling ... 7 ………………………………………………… Selenium Content - 7 Introduction to Selenium ... 7 ………………………………………………… Selenium IDE(Integrated Development Environment) ... ………………………………………………… 8 Element Locator Strategies ... 8 ………………………………………………… Simple Basic Selenium Script ... 8 ………………………………………………… Selenium Python Bindings ... 8 ………………………………………………… Robot Framework Training Content 9 Getting started ... 9 …………………………………………………

3

Creating Test Automation Framework With Sample Project ... 9 ………………………………………………… Executing test cases ... 10 ………………………………………………… Extending Robot Framework ... 10 ………………………………………………… Supporting Tools ...( 1 Hrs ) 10 ………………………………………………… Miscellaneous ... 10 ………………………………………………… Devops - 11 Automate tests in CI/CD environment ... 11 …………………………………………………

4

Python Content -

Introduction .. …………………………………………………………………… a. History b. Features c. Setting up IDE for Python d. Setting up path e. Working with Python f. Basic Syntax g. Variable and Data Types h. Operator Conditional Statements . ………………………………………………………… a. If b. If- else c. Nested if-else Looping ...... …………………………………………………………………… … a. For b. While c. Nested loops Control Statements ...... ………………………………………………………… a. Break b. Continue c. Pass String Manipulation ... …………………………………………………………… a. Accessing Strings b. Basic Operations c. String slices d. Function and Methods Lists ... ………………………………………………… a. Introduction b. Accessing list c. Operations d. Working with lists

5

e. Function and Methods Tuple ... ………………………………………………… a. Introduction b. Accessing tuples c. Operations d. Working e. Functions and Methods Dictionaries ... ………………………………………………… a. Introduction b. Accessing values in dictionaries c. Working with dictionaries d. Properties e. Functions Functions ... ………………………………………………… a. Defining a function b. Calling a function c. Types of functions d. Function Arguments e. Anonymous functions f. Global and local variables Modules/python library ... ………………………………………………… a. Importing module b. Math module c. Random module d. Packages e. Classes f. Inheritance Input-Output ... ………………………………………………… a. Printing on screen b. Reading data from keyboard c. Opening and closing file d. Reading and writing files e. Functions Exception Handling ... ………………………………………………… a. Exception b. Exception Handling c. Except clause d. Try ? finally clause

6

e. User Defined Exceptions

Selenium Content -

Introduction to Selenium ... ​………………………………………………… a. Selenium Architecture b. Setup Selenium python client libraries

Selenium IDE(Integrated Development Environment) ... ​………………………………………………… a. Install Plugin for Selenium IDE on b. Setting up a simple record and playback script using Selenium IDE c. Export Script in various programming languages as the requirement (Python in our case)

Element Locator Strategies ... ​………………………………………………… a. Locating Element using Xpath (absolute or relative), using Indexes for same XPATH elements b. Writing Xpath using Ancestors and Descendants concepts. c. Locating Element using Css , id d. Locating Multiple elements using same XPATH e. Locating All elements using Selenium IDE f. Locating Elements with Link Text and Partial Link Text g. Locating Elements using Google Chrome Inspector

Simple Basic Selenium Script ... ​………………………………………………… a. Launch Basic Web browser and load the URL b. Locate elements using Python bindings of Selenium Webdriver

Selenium Python Bindings ... ​………………………………………………… a. Webdriver class, Webelement class and various methods b. Automating forms c. Working with textboxes, checkboxes, and radio buttons.

7

d. Dropdowns and Lists e. Alerts and Popup Windows f. Working with Tables g. Ancestors,Siblings,Descendants for Xpath

Custom Interruptions ... ​………………………………………………… a. Implicit and Explicit waits b. Wait conditions

Selenium Grid ... ​………………………………………………… a. Testing on chrome and b. Setting up Selenium Grid and browser specific nodes c. Managing the test runs on Chrome, Firefox, IE based on Selenium Grid

Robot Framework Training Content

Getting started ... ………………………………………………… a. Introduction b. Installation and uninstallation c. Demonstrations d. Robot IDE installation and usage Creating Test Automation Framework With Sample Project ... ………………………………………………… a. Data Driven Framework b. Creating test cases –UI using selenium. Deep dive with building modules/keywords in python *** c. Creating test suites d. Setup , Teardown e. Using test libraries f. Variables g. Creating user keywords h. Resource and variable files i. Advanced features

8

Executing test cases ... ………………………………………………… a. Basic usage b. Test execution c. Post-processing outputs d. Configuring execution e. Created outputs f. Tags g. Templates Extending Robot Framework ... ………………………………………………… a. Creating test libraries b. Headless Browser using Robot Framework

Miscellaneous ... ………………………………………………… a. All available settings in test data b. All command line options c. Test data templates d. Documentation formatting

Devops -

Automate tests in CI/CD environment ... ………………………………………………… a. Git Basics and creating repositories b. Setting up job in Jenkins, auto triggering job based on commit, Executing tests through Jenkins. Scheduled Jenkins Jobs for Nightly Test Runs, Email from jenkins c. Reporting – HTML and Jenkins d. Parallel execution using available libraries - Pabot e. Dockerization ● Create Docker image for Robot runs using DockerFile ● Running Containers ● Integrating Jenkins To Run Robot Test runs in Headless mode on Docker Containers ● Mapping Docker containers Folders with RobotResults folder

Note : Following content will be just shown as part of exposure to advanced things due to Time Constraint. Code and material for the same will be shared.

f. Dockerization of Test Runs

9

● Creating Docker Images ● Docker Containers ● Docker File ● Docker-compose

10