首頁(yè) > 計(jì)算機(jī)網(wǎng)絡(luò) >
網(wǎng)絡(luò)與通信
> Selenium WebDriver 3 Practical Guide最新章節(jié)目錄
舉報(bào)

會(huì)員
Selenium WebDriver 3 Practical Guide
SeleniumWebDriverisanopensourceautomationtoolimplementedthroughabrowser-specificdriver,whichsendscommandstoabrowserandretrievesresults.ThelatestversionofSelenium3bringswithitalotofnewfeaturesthatchangethewayyouuseandsetupSeleniumWebDriver.Thisbookcoversallthosefeaturesalongwiththesourcecode,includingademowebsitethatallowsyoutoworkwithanHMTL5applicationandotherexamplesthroughoutthebook.SeleniumWebDriver3PracticalGuidewillwalkyouthroughthevariousAPIsofSeleniumWebDriver,whichareusedinautomationtests,followedbyadiscussionofthevariousWebDriverimplementationsavailable.YouwilllearntostrategizeandhandlerichwebUIusingadvancedWebDriverAPIalongwithreal-timechallengesfacedinWebDriverandsolutionstohandlethem.Youwilldiscoverdifferenttypesanddomainsoftestingsuchascross-browsertesting,loadtesting,andmobiletestingwithSelenium.Finally,youwillalsobeintroducedtodata-driventestingusingTestNGtocreateyourownautomationframework.Bytheendofthisbook,youwillbeabletoselectanywebapplicationandautomateitthewayyouwant.
目錄(282章)
倒序
- 封面
- Title Page
- Copyright and Credits
- Selenium WebDriver 3 Practical Guide Second Edition
- Packt Upsell
- Why subscribe?
- PacktPub.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
- Installing Java
- Installing Eclipse
- Download the example code files
- Download the color images
- Conventions used
- Get in touch
- Reviews
- Introducing WebDriver and WebElements
- Selenium Testing Tools
- Selenium WebDriver
- Selenium Server
- Selenium IDE
- Differences between Selenium 2 and Selenium 3
- Handling the browser
- Having better APIs
- Having developer support and advanced functionalities
- Testing Mobile Apps with Appium
- Setting up a project in Eclipse with Maven and TestNG using Java
- WebElements
- Locating WebElements using WebDriver
- The findElement method
- The findElements method
- Inspecting Elements with Developer Tools
- Inspecting pages and elements with Mozilla Firefox
- Inspecting pages and elements in Google Chrome with Developer Tools
- Using the By locating mechanism
- The By.id() method
- The By.name() method
- The By.className() method
- The By.linkText() method
- The By.partialLinkText() method
- The By.tagName() method
- The By.xpath() method
- The By.cssSelector() method
- Interacting with WebElements
- Getting element properties and attributes
- The getAttribute() method
- The getText() method
- The getCssValue() method
- The getLocation() method
- The getSize() method
- The getTagName() method
- Performing actions on WebElements
- The sendKeys() method
- The clear() method
- The submit() method
- Checking the WebElement state
- The isDisplayed() method
- The isEnabled() method
- The isSelected() method
- Summary
- Questions
- Further information
- Different Available WebDrivers
- Firefox Driver
- Using GeckoDriver
- Using Headless Mode
- Understanding the Firefox profile
- Adding the extension to Firefox
- Storing and retrieving a profile
- Dealing with Firefox preferences
- Setting preferences
- Understanding frozen preferences
- Chrome Driver
- Using Headless Mode
- Using Mobile Emulation for testing mobile web applications
- Adding ChromeExtensions
- InternetExplorerDriver
- Writing your first test script for the IE browser
- Understanding IEDriver capabilities
- Edge Driver
- Writing your first test script for the Edge browser
- Safari Driver
- Writing your first test script for the Safari browser
- Summary
- Questions
- Further information
- Using Java 8 Features with Selenium
- Introducing Java 8 Stream API
- Stream.filter()
- Stream.sort()
- Stream.map()
- Stream.collect()
- Stream.min() and Stream.max()
- Stream.count()
- Using Stream API with Selenium WebDriver
- Filtering and counting WebElements
- Filtering element attributes
- Using the Map function to get the text value from elements
- Filtering and performing actions on WebElements
- Summary
- Questions
- Further information
- Exploring the Features of WebDriver
- Taking screenshots
- Locating target windows and Frames
- Switching among windows
- Switching between frames
- Handling alerts
- Exploring Navigate
- Waiting for WebElements to load
- Implicit wait time
- Explicit wait time
- Handling cookies
- Summary
- Questions
- Further information
- Exploring Advanced Interactions of WebDriver
- Understanding the build and perform actions
- Learning mouse based interactions
- The moveByOffset action
- The click at current location action
- The click on a WebElement action
- The click and hold at current location action
- The click and hold a WebElement action
- The release at current location action
- The release on another WebElement action
- The moveToElement action
- The dragAndDropBy action
- The dragAndDrop action
- The double click at current location action
- The double click on WebElement action
- The context click on WebElement action
- The context click at current location action
- Learning keyboard-based interactions
- The keyDown and keyUp actions
- The sendKeys method
- Summary
- Questions
- Further information
- Understanding WebDriver Events
- Introducing the eventFiringWebDriver and eventListener classes
- Creating an instance of EventListener
- Implementing WebDriverEventListener
- Extending AbstractWebDriverEventListener
- Creating a WebDriver instance
- Creating EventFiringWebDriver and EventListener instances
- Registering EventListener with EventFiringWebDriver
- Executing and verifying the events
- Registering multiple EventListeners
- Exploring different WebDriver event listeners
- Listening for WebElement value changes
- Listening for the clicked WebElement
- Listening for a WebElement search event
- Listening for browser back-navigation
- Listening for browser forward-navigation
- Listening for browser NavigateTo events
- Listening for script execution
- Listening for an exception
- Unregistering EventListener with EventFiringWebDriver
- Performing accessibility testing
- Capturing page-performance metrics
- Summary
- Questions
- Further information
- Exploring RemoteWebDriver
- Introducing RemoteWebDriver
- Understanding Selenium Standalone Server
- Downloading Selenium Standalone Server
- Running the server
- Understanding the RemoteWebDriver client
- Converting an existing test script to use the RemoteWebDriver server
- Using RemoteWebDriver for Firefox
- Using RemoteWebDriver for Internet Explorer
- Understanding the JSON wire protocol
- Summary
- Questions
- Further information
- Setting up Selenium Grid
- Exploring Selenium Grid
- Understanding the hub
- Understanding the node
- Modifying the existing test script to use Selenium Grid
- Requesting for non-registered capabilities
- Queuing up the request if the node is busy
- Dealing with two nodes with matching capabilities
- Configuring Selenium Grid
- Specifying node-configuration parameters
- Setting supported browsers by a node
- Setting node timeouts
- Setting the limit on browser instances
- Reregistering the node automatically
- Setting node health-check times
- Unregistering an unavailable node
- Setting the browser timeout
- Hub-configuration parameters
- Waiting for a match of the desired capability
- Customized CapabilityMatcher
- WaitTimeout for a new session
- Different ways to specify the configuration
- Using cloud-based grids for cross-browser testing
- Summary
- Questions
- Further information
- The PageObject Pattern
- Creating test cases for our WordPress blog
- Test case 1 – adding a new post to our WordPress blog
- Test case 2 – deleting a post from our WordPress blog
- Test case 3 – counting the number of posts on our WordPress blog
- What is the PageObject pattern?
- Using the @FindBy annotation
- Understanding PageFactory
- Good practices for the PageObjects design
- Think of a web page as a services provider
- Always look for implied services
- Using PageObjects within a PageObject
- The AddNewPost PageObject
- The AllPostsPage PageObject
- Think of methods in PageObjects as services and not as user actions
- Identifying some WebElements on the fly
- Keeping the page-specific details off the test script
- Understanding loadable components
- Working on an end-to-end example of WordPress
- Looking at all the PageObjects
- The AdminLoginPage PageObject
- The AllPostsPage PageObject
- The AddNewPostPage PageObject
- The EditPostPage PageObject
- The DeletePostPage PageObject
- Looking at the test cases
- Adding a new post
- Editing a post
- Deleting a post
- Counting posts
- Summary
- Questions
- Further information
- Mobile Testing on iOS and Android using Appium
- Different forms of mobile applications
- Available software tools
- Automating iOS and Android tests using Appium
- Automating iOS Application tests
- Automating Android application tests
- Prerequisites for Appium
- Setting up Xcode
- Setting up Android SDK
- Creating the Android Emulator
- Installing Appium
- Automating for iOS
- Automating for Android
- Using Device Cloud to run tests on Real Devices
- Summary
- Questions
- Further information
- Data-Driven Testing with TestNG
- Overview of data-driven testing
- Parameterizing Tests using suite parameters
- Parameterizing Tests with a Data Provider
- Reading data from a CSV file
- Reading data from an Excel file
- Summary
- Questions
- Further information
- Assessments
- Chapter 1
- Chapter 2
- Chapter 3
- Chapter 4
- Chapter 5
- Chapter 6
- Chapter 7
- Chapter 8
- Chapter 9
- Chapter 10
- Chapter 11
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時(shí)間:2021-08-13 16:08:53
推薦閱讀
- EDA技術(shù)與VHDL編程
- 從區(qū)塊鏈到Web3:構(gòu)建未來(lái)互聯(lián)網(wǎng)生態(tài)
- 新一代物聯(lián)網(wǎng)架構(gòu)技術(shù):分層算力網(wǎng)絡(luò)
- 網(wǎng)絡(luò)的琴弦:玩轉(zhuǎn)IP看監(jiān)控
- 面向物聯(lián)網(wǎng)的嵌入式系統(tǒng)開(kāi)發(fā):基于CC2530和STM32微處理器
- 世界互聯(lián)網(wǎng)發(fā)展報(bào)告·2019
- 中國(guó)互聯(lián)網(wǎng)發(fā)展報(bào)告2018
- jQuery Mobile Web Development Essentials
- 網(wǎng)絡(luò)AI+:2030后的未來(lái)網(wǎng)絡(luò)
- 物聯(lián)網(wǎng)頂層設(shè)計(jì)與關(guān)鍵技術(shù)
- 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)
- LwIP應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)指南:基于STM32
- Qt5 Python GUI Programming Cookbook
- 網(wǎng)絡(luò)安全之道
- RestKit for iOS
- 互聯(lián)網(wǎng)戰(zhàn)略變革與未來(lái)
- 計(jì)算機(jī)網(wǎng)絡(luò)(項(xiàng)目教學(xué)版)
- 產(chǎn)品經(jīng)理游戲化設(shè)計(jì)思維70計(jì)
- Cisco/H3C交換機(jī)高級(jí)配置與管理技術(shù)手冊(cè)
- VMware vSphere企業(yè)運(yùn)維實(shí)戰(zhàn)
- 增長(zhǎng)密碼:大型網(wǎng)站百萬(wàn)流量運(yùn)營(yíng)之道
- 窄帶物聯(lián)網(wǎng)(NB-IoT)標(biāo)準(zhǔn)與關(guān)鍵技術(shù)
- 從云端到邊緣:邊緣計(jì)算的產(chǎn)業(yè)鏈與行業(yè)應(yīng)用
- Web滲透測(cè)試實(shí)戰(zhàn):基于Metasploit 5.0
- 物聯(lián)網(wǎng)系統(tǒng)綜合開(kāi)發(fā)與應(yīng)用
- Mapbox Cookbook
- 大型網(wǎng)站運(yùn)維:從系統(tǒng)管理到SRE
- Phoenix Web Development
- 系統(tǒng)化思維導(dǎo)論
- 中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r2013-2018(英文)