舉報

會員
Selenium WebDriver Quick Start Guide
SeleniumWebDriverisaplatform-independentAPIforautomatingthetestingofbothbrowserandmobileapplications.Itisalsoacoretechnologyinmanyotherbrowserautomationtools,APIs,andframeworks.ThisbookwillguideyouthroughtheWebDriverAPIsthatareusedinautomationtests.Chapterbychapter,wewillconstructthebuildingblocksofapageobjectmodelframeworkasyoulearnabouttherequiredJavaandSeleniummethodsandterminology.Thebookstartswithanintroductiontothesame-originpolicy,cross-sitescriptingdangers,andtheDocumentObjectModel(DOM).Movingahead,we'lllearnaboutXPath,whichallowsustoselectitemsonapage,andhowtodesignacustomizedXPath.Afterthat,wewillbecreatingsingletonpatternsanddrivers.Thenyouwilllearnaboutsynchronizationandhandlingpop-upwindows.Youwillseehowtocreateafactoryforbrowsersandunderstandcommanddesignpatternsapplicabletothisarea.Attheendofthebook,wetieallthistogetherbycreatingaframeworkandimplementingmulti-browsertestingwithSeleniumGrid.
目錄(204章)
倒序
- coverpage
- 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
推薦閱讀
- 操作系統基礎與實踐:基于openEuler平臺
- 曝光:Linux企業運維實戰
- 深入理解eBPF與可觀測性
- STM32庫開發實戰指南:基于STM32F4
- Dreamweaver CS5.5 Mobile and Web Development with HTML5,CSS3,and jQuery
- 細說Linux基礎知識
- Mastering Reactive JavaScript
- Linux內核設計的藝術:圖解Linux操作系統架構設計與實現原理
- Linux系統最佳實踐工具:命令行技術
- CentOS 6 Linux Server Cookbook
- Windows 7實戰從入門到精通(超值版)
- Mastering Windows 8 C++ App Development
- Ubuntu Linux操作系統實用教程
- Multi-Cloud for Architects
- 應急指揮信息系統設計
- Learning IBM Watson Analytics
- Windows 8完全自學手冊
- SQL Server on Azure Virtual Machines
- 嵌入式Linux設備驅動程序開發指南(原書第2版)
- OpenWrt智能路由系統開發
- Python網絡編程(Linux)
- iOS 7應用開發實戰詳解
- Linux從初學到精通
- Instant Simple Botting with PHP
- 圖像處理、分析與機器視覺
- 分布式系統開發實戰
- 開源安全運維平臺OSSIM疑難解析:提高篇
- Kali Linux:An Ethical Hacker's Cookbook(Second Edition)
- 操作系統(第四版)
- Mastering SoapUI