BPB Online LLP
Science of Selenium
Science of Selenium
US$ 19.95
The publisher has enabled DRM protection, which means that you need to use the BookFusion iOS, Android or Web app to read this eBook. This eBook cannot be used outside of the BookFusion platform.
Description
Contents
Reviews

Step-by-step guide to understand key concepts for Selenium Automation using examples to shine in your interview for test automation roles

Key Features
Acquire Selenium skills to do independent test automation projects
Learn the basics of Selenium Web Driver for test automation using Selenium
Understand Page Object Model, including how and when they're used in test automation
Understand the approach for building a test automation framework
Build Selenium test automation scripts using various languages – Java, Python, JavaScript/Node JS and Ruby
Learn how to report and integrate with CI tools for test automation
Get some professional tips for handing interviews and test automation approach
Implement cross-browser testing scenarios using Selenium Grid and commercial tools and services

Description
Software Engineering has taken massive strides with a multitude of technology innovations. With several changes being introduced – development of products and their integration into the market – understanding of mobile devices and user interface channels across a plethora of platforms is getting complex day by day. In addition, since the process or procedures of software testing for products and applications can become an act of boiling the ocean, the role of test automation is crucial while dealing with such challenges.

The book starts with a brief introduction to the world of automation and why it is important, succinctly covering the history of Selenium and the capabilities it offers. In this book, you will learn how to do simple Selenium-based automation with examples and understand progressive complexity of some key features. Before diving deep into advanced concepts such as Page Object Models, Test Automation Framework and Cross Browser testing, you will grasp comprehensive knowledge of several concepts related to Java, Python, JavaScript and Ruby programming languages.

What you will learn
By the end of the book, you will find several examples to help ignite your understanding and usage of Selenium across a myriad of languages and frameworks. With this, you’ll be able to put your knowledge to practice and solve real-life test automation challenges such as testing a web site, mobile application and leveraging tools available for fast-tracking your test automation approach.

Who this book is for
The book is intended for anyone looking to make a career in test automation using Selenium, all aspiring manual testers who want to learn the most powerful test automation framework – Selenium and associated programming languages – or working professionals who want to switch their career to testing.

Table of Contents
1. Introduction to Test Automation
2. Introduction to Selenium
3. Understanding Selenium Architecture
4. Understanding Selenium Tools
5. Understanding Web UI
6. Web UI Automation with Selenium Using Java & Python
7. Selenium Coding with Other Languages – Ruby & JavaScript
8. Building a Test Automation Framework with Selenium
9. Advanced Features of Selenium Using Java & Python
10. Cross-Browser Test Automation
11. Tips and Tricks for Test Automation
12. Interview Tips

About the Author
Kalilur Rahman has a Master’s Degree in Business Administration preceded by an Engineering Degree in Computer Science and over 2 decades of experience in software development, testing and management consultancy. Kalilur has been a developer, designer, technical architect, test program manager, delivery unit head, IT Services and Factory Services Head of varying complexity across telecommunications, life sciences, retail and healthcare industries.

His LinkedIn Profile: https://www.linkedin.com/in/kalilurrahman/

Language
English
ISBN
9789389423242
Cover Page
Title Page
Copyright Page
Dedication
About the Author
About the Reviewer
Acknowledgement
Foreword
Preface
Errata
Table of Contents
1. Introduction to Test Automation
Structure
Objective
What is automation?
Introduction to test automation
Benefits of test automation
History of test automation
Generations of test automation
When to do test automation?
Myths of Test Automation
Test automation as a tool for test data generation
Some good test automation tools
Test automation success criteria/measures
Test automation framework design
Conclusion
Questions
2. Introduction to Selenium
Structure
Objective
History of Selenium
What are the features available in Selenium?
Why should we use Selenium and what are the benefits of Selenium?
Why should we use Selenium?
What are the benefits of Selenium?
What are the limitations and challenges of using Selenium?
How can Selenium help build a solid test automation framework?
What are the complexities of web application automation by using Selenium WebDriver?
What are the platform and browser combination challenges?
Conclusion
Questions
3. Understanding Selenium Architecture
Structure
Objective
Selenium Architecture
Selenium client/core libraries
JSON wire protocol over HTTP
Browser drivers
Browser
Selenium Remote-Control (RC) Architecture
Selenium WebDriver Architecture
Selenium language bindings and client libraries
Java program to automate a web action
A Python program to automate similarly
Selenium WebDrivers
Selenium browser drivers/supported browsers
Conclusion
Questions
4. Understanding Selenium Tools
Structure
Objective
Selenium WebDriver
Selenium IDE
Java output from IDE
Python output from IDE
JavaScript output from IDE
Procedural programming using control statements
Selenium Grid
Selenium Grid Architecture
How to start Selenium Grid
Command line parameters and configuration operations
Running a Selenium Grid test using Selenium RC
Running a Selenium Grid test using WebDriver
Command-line help using Selenium Grid
How to leverage a proxy?
Selenium RC
Conclusion
Questions
5. Introduction to Web UI Automation Using Selenium
Structure
Objective
Components of the Web UI
Structureof a Web Page
HTML
WEB UI - Cascading Style Sheets (CSS)
CSS Selectors
Document Object Model
Element Locators
Locators using ID and Name
Example of Locator by Identifier
Example of Locator by Name
Example of Locator by Links
Example of Locator by Tag Names
Example of Locators by Class Names
Locators using CSS
Example of Locators by XPATH
Other Locators Available
Custom Locators
Selenium Event Handling
Asynchronous Interactions in Selenium
Screen Size Management
Web UI Automation with Browsers (Firefox, Chrome, Internet Explorer and Safari)
Headless Browser Instantiation
Headless Browser Testing
Conclusion
Questions
6. Web UI Automation with Selenium
Structure
Objective
Python example to understand the components of Web UI
Correlation between various locators using DOM, CSS in an HTML Page
Python event handling for Selenium
Simulation of screen sizes
Asynchronous interaction
Use of Python to handle cookies in a web site
Use of Python code to invoke various browsers
WebDriver.Firefox and WebDriver.FireFoxProfile classes
WebDriver.Chrome and WebDriver.ChromeOptions()
DesiredCapabilities
Initiating browsers for Internet Explorer, Opera, Safari and PhantomJS
Use of PhantomJS for Headless Browser Testing
WebDriver.ActionChains
WebDriver.TouchActions
WebDriver.Proxy
Conclusion
Questions
7. Selenium Coding with Other Languages (JavaScript, Ruby)
Structure
Objective
Launch and closure of browsers
Page navigation
JavaScript example on asynchronous execution
Filling out a web form – A JavaScript example
Filling out a web form – A Ruby example
Headless browser testing – JavaScript
Headless browser testing – Ruby
Ruby Cookies Management example
Ruby -screen size emulations
Ruby example for moving between frames and windows
Ruby example handling pop-ups and alerts
Ruby example handling drag and drops
Ruby example for locators
Ruby Example for submission of forms data
Ruby example getting form element values
JavaScript example for WebElementPromise
Conclusion
Questions
8. Building a Test Automation Framework with Selenium
Structure
Objectives
Building a Test Automation Strategy
Key actions for building a test automation strategy
Choosing a programming language
Defining the automation framework architecture
Choosing a unit test framework
Designing core components of framework – modularization
Designing test components of a framework
Designing reporting mechanism
How to perform Source Code Control, Build, and Continuous Integration in DevOps
How to integrate with other tools
Conclusion
Questions
9. Advanced Features of Selenium Using Java and Python
Structure
Objectives
Page Object Model
Page Object Model using Java
Page Object Model using Python
File and database handling
Working with Excel files
Working with property files
Working with CSV files
Working with databases
Reporting in Selenium
Selenium Test Reporting using TestNG
Continuous Integration/Continuous Deployment / Continuous Testing with Selenium
Conclusion
Questions
10. Cross-Browser Test Automation
Structure
Objectives
Cross-browser testing and why is it important?
Running Cross-Browser Testing – With Selenium Grid
Selenium grid-based cross-browser testing
Use of emulators for cross-browser test verification
Use of commercial tools and services for cross-browser testing
Cross-browser testing – Example-2
Other commercial platforms to consider
Conclusion
Questions
11. Tips and Tricks for Test Automation
Structure
Objectives
When and what to automate?
Manual Vs Automated Testing – Some comparison
Inverting the test automation pyramid
Test automation strategy
Strategizing right vs automating fast
Benefits of automating a stable application versus an unstable application
Automating all vs automating right
Some tips and tricks to follow whiledoing test automation
Pitfalls to avoid whiledoing a test automation project
Myths about test automation – 100% automation vs automating right
Automating the test automation
Record and hardcoding vs intelligent automation
Automation tools and methods
Use of Visual Regression in test automation
Script-less test automation
Use of Artificial Intelligence (AI) in test automation
Test Automation for DevOps Projects
Selenium automation leading practices/recommendations
Conclusion
Questions
12. Interview Tips
Structure
Objective
Interview strategy, approach and planning
Interview preparation
Key points to prepare for the interview
Logistics and firm/company research preparation
Technical/functional Preparation
Appearance/grooming preparation
Types of interview & approaches
Interview approaches
Interview process
Good questions to ask by the candidates
After the interview is over
What are some reasons why people are not hired?
What are some reasons why people are hired?
What are the things not to do during an interview?
How to make a good decision, when offers are made?
Virtual interviews
Handling telephonic interviews
Handling Skype telephonic/video interviews
Behaviours to adopt and avoid
Conclusion
Questions

Loading...