Home Page Icon
Home Page
Table of Contents for
Chapter 6: Page Object Model
Close
Chapter 6: Page Object Model
by Diego Molina
Selenium Fundamentals
Title Page
Copyright and Credits
Selenium Fundamentals
Packt Upsell
Why Subscribe?
Packt.com
Contributors
About the Author
Packt Is Searching for Authors Like You
Preface
Who This Book Is For
What This Book Covers
To Get the Most out of This Book
Download the Example Code Files
Conventions Used
Get in Touch
Reviews
Getting Started
Software Automation
Going the Automation Way
Activity: Automation Brainstorming
Selenium Overview
The WebDriver API
The Selenium Server
Selenium Glossary
Activity: Selenium Planning
Environment Configuration
Browser Drivers
Downloading and preparing browser drivers
Maven Project
Creating a Maven project
Verifying That the Development Environment Is Ready
Summary
WebDriver Functionality
Instantiating a WebDriver – Chrome
Creating the Main Structure of Your First Selenium Automation Script
An Overview of Frequently Used Methods
Activity: Starting and Finalizing a Script
Controlling the Browser Window
Navigation
Navigating in an Automation Script
Resizing
Resizing Windows in an Automation Script
Managing Alerts
Managing Alerts in an Automation Script
Managing Frames and iFrames
Managing Frames in an Automation Script
Managing Windows
Managing Windows in an Automation Script
Activity: Resizing and Moving Windows with a Selenium Automation Script
Summary
WebElement Functionality
Using Browser Developer Tools – Chrome
Inspecting a Web Page with Chrome Devtools
Overview of WebElement Functionality
Handling the StaleElementReferenceException
Interacting with Elements on a Page
Interacting with Textboxes and Textareas Elements
Interacting with Textboxes and Textareas During an Automation Script
Interacting with Dropdown and Lists
Interacting with Dropdown and Lists During an Automation Script
Interacting with Radio Buttons and Radio Button Groups
Interacting with Radio Buttons and Radio Buttons Groups During an Automation Script
Interacting with Checkboxes
Interacting with Checkboxes During an Automation Script
Activity: Filling in a Form and Submitting it
Element Locator Types – ID, Names, XPath, CSS, and So On
Activity: Locating Elements
Summary
Advanced Element Location
Navigating the DOM
Understanding the DOM's Structure
The Relationship between Selenium and the DOM
Identifying Elements and Creating Locators for Dom Elements
Retrieve Information from a Table
Searching Within Previously Found Elements
Locating Elements Based on Their Relationships
Searching for Elements Through Known Elements
Creating Complex Locators to Reach Any Element
Common Ways to Use CSS Selectors
Finding Elements by Using Class Attributes and IDs
Locating Elements by Their Attributes
Creating Complex Selectors for Unique Locators
Activity: Automating Checkout
Summary
Waiting for Elements
Implicit Waits
Creating an Implicit Wait
Explicit Waits
Activity: Creating an Explicit Wait
Implicit Versus Explicit Waits
Waiting for an Element with a Custom Written Condition
Creating Custom Waits for Finding Elements
Creating a Custom Wait (Waiting for an Element)
Creating Custom Waits so That an Element's Attribute Values Can Be Updated
Creating a Custom Wait (Waiting for an Element's Attribute Updates)
Creating Custom Waits for an Element's Visibility
Creating a Custom Wait (Waiting for an Element's Visibility)
Summary
Page Object Model
Introduction to the Page Object Model
Understanding the Architecture of Web Applications
Applying Web Application Architecture to Test Automation Scripts
Modeling a Web Application Using Page Objects
Creating a Page Object
Creating a Page Object For Age Calculator
Creating an Automation Script
Creating an Automation Script for Age Calculator
Activity: Implementing the POM on a Multi-Page Application
Implementing Nested Page Object Instances
Activity: Implementing Nested Page Object Instances
Summary
Writing Tests
What is a Test Framework?
Choosing a Test Framework
Creating Test Scripts and Suites
Annotations
The TestNG.xml File
Activity: Creating a TestNG Test
Validating and Viewing Results
Activity: Viewing the Results
Summary
Analysis and Troubleshooting
Analyzing a Test Report
General Recommendations
Analyzing a Test Result
Tracking Down Timing Errors
How to Deal with Potential Timing Errors
Tracking Down Timing Errors with Synchronization Points
Separating Real Issues from Flaky Tests
Identifying Flaky Tests
Decreasing the Chances of Flaky Tests
Summary
Using a Selenium Grid
Configuring and Connecting to a Local Grid
Launching the Grid Hub
Verifying That the Grid Hub Is Running
Adding Selenium Nodes to the Grid Hub
Verifying That a Selenium Instance Has Been Registered
Activity: Running a Script Against a Grid Hub
Configuring and Connecting to a Network Grid
Adding Selenium Nodes Instances Running on Different Machines to the Grid Hub
Activity: Creating a Small Selenium Grid with a Remote Node
Connecting to a Third-Party Service
Activity: Running a Test on a Third-party Service
Summary
Solutions
Chapter 1: Getting Started
Activity: Automation Brainstorming
Activity: Selenium Planning
Chapter 2: WebDriver Functionality
Activity: Starting and Finalizing a Script
Activity: Resizing and Moving Windows with a Selenium Automation Script
Chapter 3: WebElement Functionality
Activity: Filling in a Form and Submitting It
Activity: Locating Elements
Chapter 4: Advanced Element Location
Activity: Automating Checkout
Chapter 5: Waiting for Elements
Activity: Creating an Explicit Wait
Chapter 6: Page Object Model
Activity: Implementing the POM on a Multi-Page Application
Activity: Implementing Nested Page Object Instances
Chapter 7: Writing Tests
Activity: Creating a TestNG Test
Chapter 9: Using a Selenium Grid
Activity: Running a Script Against a Grid Hub
Activity: Creating a Small Selenium Grid with a Remote Node
Activity: Running a Test on a Third-Party Service
Other Books You May Enjoy
Leave a Review - Let Other Readers Know What You Think
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
Activity: Creating an Explicit Wait
Next
Next Chapter
Activity: Implementing the POM on a Multi-Page Application
Chapter 6: Page Object Model
The following are the solutions for this chapter.
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset