CP-SAT ADVANCED
What is CP-SAT Advanced?
CP-SAT Advanced stands for “Certified Professional – Selenium Automation Testing Advanced”.
Having cleared CP-SAT with basic knowledge of Java Programming and Manual Testing is the only prerequisite for this training.
The course is applicable for all roles and not just “testers”. Knowledge, experience & certification is consciously designed to focus on “agile testing” and not just on “agile testers”.
How is it useful?
CP-SAT Advanced is designed to train agile professionals with the advanced concepts of testing web applications using Selenium. You are trained to improve Selenium test automation skills towards creating more robust test projects. The training is combination of theory as well as hands-on execution of scripts using the features of Selenium with ample time given to practice until you have mastered the concepts. The focus is on the practical application of Selenium to resolve web automated testing challenges and keeping the automation maintainable and extendable. This course focuses on building Selenium automation framework with Page Object Models and execution related concepts using JUnit and TestNG. There is an extensive coverage on Flex/Flash objects testing, reporting and logging mechanism, advanced Grid concepts, Continuous Integration (CI) with Jenkins/Ant/Maven.
Am I Eligible?
Anyone holding a valid CP-SAT certificate can go for this certification.
Duration
CP-SAT Advanced is designed specifically for corporates and working professionals alike. If you are a corporate you can opt for either 5 half days course or 3 days course followed by an examination. If you are a working professional opt for 3 days course followed by an examination. Total training duration is of 27 hrs.
-
1. Tool Background
Learn about the definition and usage of the tool. Get aware of the cross-language, cross-platform, cross-browser capabilities of the tool. Learn about the Selenium tool license policy. Elaborate on the three parts of the Selenium toolkit.
-
1.1. IDE
- Recording and playback tool
- Firefox extension
- Options setup
-
1.2. Selenium Selenium 3.x
- Selenium Server
- Evolution and merger of the RC with WebDriver
-
1.3. Selenium Grid
- Need for Grid
- Parallel execution of tests
-
1.1. IDE
-
2. Selenium Recap
Install the latest version of Firefox and get IDE plugin from SeleniumHQ.org. Learn and configure the ideal Options for your usage.
-
2.1. Creating Test Cases and Test Suite in IDE
- Regular Expressions
- Actions, Assertions and Accessors
- Frequently used commands
- Handling AJAX/Dynamic Elements
- Handling common objects such as Checkbox, Radio buttons, Dropdown, Autocomplete
- Dealing with mouse hover in web pages
-
2.2. Locator Strategies
- Learn the concept of DOM
-
Install and learn the Tools:
- Firebug
- XPath Checker
- DOM Inspector
-
Learn about the Structure Dependent locators:
- XPath
- DOM
- CSS
-
Learn about the Attributes-based locators:
- Id
- Name
- Link
-
2.3. Selenium Servers
- Selenium 3.x (WebDriver)
- Setting up your Java environment (Eclipse)
- JUnit and TestNG plugins
- WebDriver, WebDriverBacked and RC formats
- Using WebDriverBacked from Selenium migration projects
- Running WebDriver Tests
- Implicit and Explicit Wait in Selenium 3.x
- Running JavaScript code
- Test Suite creation using JUnit and TestNG
- Controlling browser attributes and navigation
- Validating on CSS attributes of objects
- Handling WebTables
- Handling Frames
- Dynamic Xpath objects handling
-
2.4. Advanced User Interaction
- Keyboard
- Action Builder
- Handling Ajax autosuggest
- Handling popups
- Handling alerts
- Handling Cookies
- Drag, Drop and native events
- Find broken images/links in website
- Capturing Screenshots upon failure
-
2.1. Creating Test Cases and Test Suite in IDE
-
3. Multi-Browser Execution
- 3.1. Firefox Driver (Geckodriver)
- 3.2. Chrome Driver
- 3.3. Internet Explorer Driver
- 3.4. Microsoft Edge Driver
- 3.5. Safari Driver
- 3.6. Learn to manage driver capabilities
- 3.7. Browser profiles
- 3.8. Proxy Settings
-
4. Headless test execution using Selenium
- 4.1. Why Headless execution?
- 4.2. HTMLUnitDriver
- 4.3. GhostDriver
- 4.4. PhantomJS
- 4.5. Wait (Implicit, Explicit and Fluent)
-
5. Reporting the test execution
- 5.1. TestNG Reporting
- 5.2. PDF Reporting
- 5.3. Allure Reporting
- 6. Flex/Flash Testing using Selenium
-
7. Frameworks
-
7.1. Testing Frameworks
-
Data Driven Framework using WebDriver
- For Excel
- For CSV
- For Database
- Properties file
-
Data Driven Framework using WebDriver
-
7.2. Page Factory and Page Object Model
- How does a page factory work?
- Why should it be used?
- Initializing the page class for the test page using PageFactory
- Selenium Object Repository
- Using properties file to manage runtime variables
-
7.1. Testing Frameworks
-
8. Selenium Grid
-
8.1. Concept of Grid
- Learn about the built-in grid functionality in Selenium 2.x
- Learn to distribute the tests on several machines and do parallel execution
- Learn to run the tests in parallel on multiple combinations of browser and OS from a central hub
-
8.2. Setting up Grid to run multi-browser parallel tests
- Learn to setup the Hub server
- Learn to register the WebDriver Nodes and legacy RC nodes to the Hub server
- Learn to parameterize the tests to run on various nodes
- Learn to override the default parameters on the nodes
-
8.1. Concept of Grid
-
9. Running Selenium Tests in Continuous Integration environment
-
9.1. Concept of Continuous Integration
- Learn about the concept of Automating the Automation
- Learn about the Continuous Integration practice and merging automated Selenium test scripts on CI server
-
9.2. Running Selenium Tests using ANT
- Learn to install ANT
- Learn about dependencies of the ANT targets
- Learn to prepare tests in build.xml file
-
9.3. Running Selenium Tests using Maven
- Learn to install Maven
- Learn about dependencies of the Maven and Nexus repository
- Learn to prepare tests in pom.xml file
-
9.4. ANT and Maven tasks in Jenkins/Hudson
- Learn to prepare Jenkins/Hudson to run ANT task with Selenium tests
- Learn to prepare Jenkins/Hudson to run Maven task with Selenium tests
- Learn various triggering events for the test
- Learn to prepare test output reports
-
9.1. Concept of Continuous Integration
-
10. Automation in Agile projects
- 10.1. Agile Manifesto
- 10.2. Agile in Practice (Video)
- 10.3. Incremental and Iterative development
- 10.4. Scrum – Testing in iterations
- 10.5. Testing challenges in Agile
- 10.6. Test Automation
-
11. Practical Selenium Automation Testing
- Practice all Selenium concepts throughout the course using various practical case studies