万本电子书0元读

万本电子书0元读

顶部广告

Selenium WebDriver 3 Practical Guide电子书

售       价:¥

10人正在读 | 0人评论 9.8

作       者:Unmesh Gundecha,Satya Avasarala

出  版  社:Packt Publishing

出版时间:2018-07-31

字       数:31.3万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Bridge the gap between developer and data scientist by creating a modern open-source, Python-based toolset that works with Jupyter Notebook, and PixieDust. Key Features *Think deeply as a developer about your strategy and toolset in data science *Discover the best tools that will suit you as a developer in your data analysis *Accelerate the road to data insight as a programmer using Jupyter Notebook *Deep dive into multiple industry data science use cases Book Description Thoughtful Data Science brings new strategies and a carefully crafted programmer's toolset to work with modern, cutting-edge data analysis. This new approach is designed specifically to give developers more efficiency and power to create cutting-edge data analysis and artificial intelligence insights. Industry expert David Taieb bridges the gap between developers and data scientists by creating a modern open-source, Python-based toolset that works with Jupyter Notebook, and PixieDust. You'll find the right balance of strategic thinking and practical projects throughout this book, with extensive code files and Jupyter projects that you can integrate with your own data analysis. David Taieb introduces four projects designed to connect developers to important industry use cases in data science. The first is an image recognition application with TensorFlow, to meet the growing importance of AI in data analysis. The second analyses social media trends to explore big data issues and natural language processing. The third is a financial portfolio analysis application using time series analysis, pivotal in many data science applications today. The fourth involves applying graph algorithms to solve data problems. Taieb wraps up with a deep look into the future of data science for developers and his views on AI for data science. What you will learn *Bridge the gap between developer and data scientist with a Python-based toolset *Get the most out of Jupyter Notebooks with new productivity-enhancing tools *Explore and visualize data using Jupyter Notebooks and PixieDust *Work with and assess the impact of artificial intelligence in data science *Work with TensorFlow, graphs, natural language processing, and time series *Deep dive into multiple industry data science use cases *Look into the future of data analysis and where to develop your skills Who this book is for This book is for established developers who want to bridge the gap between programmers and data scientists. With the introduction of PixieDust from its creator, the book will also be a great desk companion for the already accomplished Data Scientist. Some fluency in data interpretation and visualization is also assumed since this book addresses data professionals such as business and general data analysts. It will be helpful to have some knowledge of Python, using Python libraries, and some proficiency in web development.
目录展开

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

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部