Overview of Selenium for Web Application Testing
Selenium is an excellent, fast, and portable framework that is made for testing web applications. It empowers the developers and testers to automate the browser operations, which in turn makes the validation of the functionality of web-based applications an easy thing. The playback tool is among the highlights of this product. The function that it offers lets users create functional tests without the requirement to write a test scripting language. Such a way of interaction makes it helpful to people who are not tech-savvy. Selenium actually is easily accessible to non-technical users who do not have to learn new programming languages.
Besides that, Selenium provides a test domain-specific language that enables users to write tests in several popular programming languages, including C#, Groovy, Java, Perl, PHP, Python, Ruby, and Scala. This openness of the platform includes the teams to make Selenium part of their existing development processes and to utilize the programming languages they are already proficient with. Selenium with its top-notch features is gaining popularity everywhere for doing testing work on different platforms with maximum quality and performance.
Course Cirrculam
- What is automation testing?
- What is the use of automation testing?
- What we need to Automate?
- Automation execution analysis.
- What is Selenium?
- Advantages of Selenium
- What is the difference between Selenium and QTP?
- IDE
- Selenium Web Driver/Selenium 2.0
- Selenium-Grid
- Installing Selenium IDE
- Selenium IDE icons
- Recording your first test with Selenium IDE
- IDE Context Menu
- Assert
- Verify
- Adding Selenium IDE comments
- Synchronization commands
- Working on pages with AJAX
- Storing elements
- Creating test suites
- What you cannot record
- Tools to identify elements/objects
- Firebug
- IE Developer tools
- Google Chrome Developer tools
- Locating elements by ID
- Finding elements by name
- Finding elements by link text
- Finding elements by XPath
- Finding Elements by using CSS
- Summary
- Some Special IDE commands
- Write your own Selenium IDE script without record and playback
- Introducing the JAVA technology
- Packages
- Object Oriented Programming Concepts
- String Processing
- Exceptions and Assertions
- I/O Streams
- Wrapper Classes
- Collections
- Reading data from Property files using java program
- Reading and Writing data from/to Excel files using Apache POI API and JXL API
- Running Java Programs using junit
- Writing Selenium tests from scratch using Junit FrameWork
- JUNIT Annotations
- JUNIT Methods
- Frequently used Selenium commands
- Test Suites using JUNIT
- Parameterized test cases using junit framework
- Why WebDriver?
- Downloading web driver Jars configuring in eclipse
- Architecture of selenium webdriver
- Drivers for Firefox, IE, Chrome, Iphone, Android etc
- What is the difference between Selenium RC and WD?
- Handel Text box
- Handel HyperLink
- Handel Button and Check box
- Handel Radio Button and DropDown Controls
- Select value from DropDown
- Display all values
- Select values step by step
- Capture screenshots for failure Testcases
- Re-Running failure Testcases
- Synchronization Commands In Web Driver
- Why Implicit wait and Implementation of Implicit wait
- Why Explicit wait and Implementation of Explicit wait
- Web Driver Fluent wait and Thread Sleep functionality
- File uploads and File downloads (Handling Window based controls using Robot and Sikuli API)
- Handling alerts box and Verifying the Alert Texts
- Handling confirmation messages
- Keyboard actions
- Mouse actions
- Handling Iframes working with Nested Iframes
- Handling multiple tabs
- Handling popups
- Preparing web driver test cases using customized x-path
- Identifying controls using x-path predefined functions
- Web Tables
- Web Driver with TEST NG Frame Work
- Batch Running Test cases using TestNG
- Validations and its usage in Automation test scripts
- Customized Report Generation
- Implementing Logs using Apache Log4j API
- Overview of TestNG
- Environment of TestNG
- Writing WebDriver Test Cases using TestNG
- Basic Annotations of TestNG
- Executing Tests
- Executing Test Suites
- Ignore Test
- Dependency Test
- Parameterized Tests
- TestNG XML
- Report Generation
- Executing Automation Test Cases in multiple browsers Sequentially
- Working with Chrome and IE browsers
- What is Firefox Profile And Implementation of Firefox Profile
- What is WebDriver Desired Capabilities class
- Executing Automation Test Cases in multiple browsers Parallel
- Introduction about maven
- High Level Overview
- Ant vs Maven
- Installation of Maven
- Demo using Sample Maven Project
- Maven Structure
- Maven Dependencies
- Maven Repositories
- Maven Eclipse Integration
- Downloading and configuring Github
- Difference between CVC Versus DVC
- Basic Git Commands
- Working with Repositories
- Setting up Repositories
- Local and Remote Repositories
- Create repository and cloning projects
- Committing and Syncing the code
- Reverting and Rolling Back the Code
- Branch and Merging Concepts and Implementation
- Stashing Changes
- Resolving the Conflicts
- Installing MySQL Database
- java.sql package
- Overview on Connection Interface, Statement Interface, Preapared Statement and Resultset Interfaces.
- Example program to Access Database.
- Some examples on SELECT,UPDTE and DELETE queies
- Some Webdriver examples using Data fetched from Database
How to develop Test automation frame work in live environment
- What is a frame work
- Types of frame work
- Data driven frame work
- Modular driven frame work
- Keyword driven frame work
- User Defined Keyword driven framework with implementation
- Execute test scripts from the framework
Continuous Integration Testing using Jenkins
- About Jenkins
- History of Jenkins
- Splitting of Projects
- What is Continues Integration
- Installing Jenkins
- Creating a simple job
- Integrating Jenkins to the Project
Cucumber BDD Frame work
- Introduction to Cucumber
- Cucumber Installation
- Cucumber Basics
- Gherkin – Business Driven Development
- First Cucumber Selenium Java Script
- Feature File
- Junit Runner Class
- Gherkin Keywords
- Step Definition
- Passing Parameters to Step Definition Class
- Running Cucumber through Maven
- Cucumber Options
- Finally Write Test Cases using cucumber
- Integrating cucumber to Test Automation Frame work
- What is Jersey?
- RESTFul Architecture
- Using HTTP GET Demo
- Test Created New REST Service USING HTTP GET
- JSON Output for HTTP GET
- Using HTTP POST Demo
- Test Service USING HTTP POST
- JSON Output for HTTP POST
- Using HTTP PUT Demo
- Test Service USING HTTP PUT
- PUT vs POST
- JSON Output for HTTP PUT
- Using HTTP DELETE Demo
- Test Service USING HTTP DELETE
- JSON Output for HTTP DELETE