Selenium WebDriver Quick Start Guide
Pinakin Chaubal更新时间:2021-06-24 18:26:54
最新章节:Leave a review - let other readers know what you thinkcoverpage
Selenium WebDriver Quick Start Guide
Packt Upsell
Why subscribe?
Packt.com
Contributors
About the author
About the reviewer
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
Download the color images
Code in action
Conventions used
Get in touch
Reviews
Introducing Selenium WebDriver and Environment Setup
Technical requirements
Why is test automation required?
Advantages of test automation
Some pointers on Selenium
What's new in Java 8
Lambda expressions and functional interfaces
Functional interfaces
Default and static methods in an interface
The forEach method for a collection
Streams in Java 8
Understanding Selenium RC
What is cross-site scripting (XSS)?
Introducing Selenium WebDriver
Class structure of Selenium WebDriver
Drivers in Selenium
Remote WebDriver
Mobile drivers
Headless browsers
Why do we need headless browsers?
Preparing for the very first script
Installing Java 8
Setting up Eclipse
Downloading Eclipse
Creating a Maven project
Understanding pom.xml
Manual configuration
Creating the first script
Summary
Understanding the Document Object Model and Creating Customized XPaths
Technical requirements
What is the DOM?
WebElements
SearchContext interface
DOM traversal
Dissecting the By class
The two types of XPaths
Understanding customized XPaths
Customized CSS
An example traversal
Understanding the text() methods
Finding elements within the container element
Best practice
Extracting WebElements dynamically using tagName
Properties file for WebElements
Prerequisites for automating mobile applications
XPaths for mobile applications
Finding XPaths for mobile browser applications
Connecting the actual mobile device
How to use Screencast
Appium Inspector window
How to use UIAutomatorViewer
Mobile locators
What is a WebView?
Introducing the Fillo API
Debugging in Eclipse
Summary
Basic Selenium Commands and Their Usage in Building a Framework
Technical requirements
What are method signatures?
What are Lists in java?
Important methods in Selenium
Some common reusable methods
The difference between quit() and close()
Understanding the keyword driven framework
Concept of Map and HashMap
Bird's eye view of the framework
Introducing the testng XML file
Triggering the testng XML from within the POM XML file
Handling errors while running pom.xml
Introducing the log4j framework
Extent Reports
How to use Extent Reports in code?
Summary
Handling Popups Frames and Alerts
Technical requirements
Window handles
Fetching the window handles
Understanding the Set interface
A look at the iterator() method
Modal and non-modal dialog
Modal and non-modal pop-up windows
JavaScript and jQuery alerts
Handling non-modal popup windows
Introducing the switchTo() method
Looking at the getTitle() method
Looping through all open windows using the simple for loop
Handling modal popup windows
Modal and non-modal alerts
Creating JavaScript and jQuery alerts
Handling non-modal jQuery alerts
Handling modal JavaScript alerts
Understanding frames and iframes
Handling mobile app permission alerts
DesiredCapabilities
What is a Desired Capability?
The DesiredCapabilities class
Enabling protected mode settings in Internet Explorer
Learning Chrome options
Learning the Firefox options and the Firefox profile
Learning the Internet Explorer options
autograntpermissions capability on Android
Summary
Synchronization
Technical requirements
What is synchronization?
Synchronization types
Unconditional synchronization
Thread.sleep(long)
Conditional synchronization
Synchronization at the WebDriver-instance level
Implicit wait
Synchronization at the WebElement level
Explicit wait
Fluent wait
Function keyword
A glance at the JQuery library
A Sample application using JQuery
Tomcat setup
Exposing the JavascriptExecutor
Pitfall – Never fall into one
Summary
The Actions Class and JavascriptExecutor
Technical requirements
Builder design pattern
The actions class
Various scenarios for the actions class
Introducing JavascriptExecutor
Various scenarios for JavascriptExecutor
EventFiringWebDriver
First steps toward the framework
Understanding the Selenium Grid
Architecture of the Selenium Grid
Basic setup
Exercise
Summary
The Command Pattern and Creating Components
Technical requirements
Introducing the command design pattern
Client
Invoker
Command
Receiver
A look at the project structure in Eclipse
Introducing the TestNG framework
Installing the TestNG plugin for Eclipse
A look at testng.xml
Incorporating Selenium Grid
Running tests in parallel
Emailable report
Summary
Hybrid Framework
Technical requirements
Introducing the WebDriverManager library
How to use the WebDriverManager library
WebDriverManager as a Java dependency
WebDriverManager as CLI
WebDriverManagerServer
Advantages of WebDriverManager
DataProviders in TestNG
Having a separate DataProvider class
Introducing TestNG listeners
Different types of listeners
Implementing the ITestListener interface
Extending the TestListenerAdapter class
Introducing assertions
Testing for a negative scenario
Two different types of asserts
Using soft asserts
Implementing logging and reporting in the framework
Incorporating reporting in the framework
Creating a custom XL file from testng-results.xml
Adding keywords to the framework
Creating reports using Fillo
Generating screenshots in Selenium
Using the Ashot API
Some extra location techniques in Selenium WebDriver 3
Understanding ByIdOrName
ByAll locator
ByChained Locator
Welcome Selenium 4
Next steps
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
更新时间:2021-06-24 18:26:54