My Account Log in

3 options

Ultimate web automation testing with cypress : master end-To-end web application testing automation to accelerate your QA process with cypress / Vitaly Skadorva.

EBSCOhost Academic eBook Collection (North America) Available online

View online

EBSCOhost eBook Community College Collection Available online

View online

Ebook Central Academic Complete Available online

View online
Format:
Book
Author/Creator:
Skadorva, Vitaly, author.
Language:
English
Subjects (All):
Computer programming.
Physical Description:
1 online resource (247 pages)
Edition:
First edition.
Place of Publication:
Delhi, India : Orange Education Pvt Ltd, [2023]
Summary:
Dive into the world of automated web testing with "Ultimate Web Automation Testing with Cypress." From foundational concepts to advanced techniques, the book equips professionals with the skills to seamlessly integrate Cypress into their workflow. Starting with setup and basic tests, it progresses to cover end-to-end, component, API, and data-driven testing with practical examples and best practices. Further, it explores advanced topics like custom commands, plugins, Cypress Cloud, Smart Orchestration and Flaky Test Management. The book also unveils the integration with GitHub, GitLab, and Cucumber, and concludes with CI/CD implementation using Docker and Jenkins Pipelines, along with effective reporting techniques. By the end, you will have a profound understanding of Cypress, empowering you to excel in web application testing and advance your careers in the competitive software testing industry.
Contents:
Intro
Cover Page
Title Page
Copyright Page
Dedication Page
About the Author
About the Technical Reviewer
Acknowledgements
Preface
Errata
Table of Contents
1. Getting Started with Cypress Testing
Introduction
Structure
Introduction to Cypress
Overview of Cypress
Advantages of Cypress
Integration with Modern Web Technologies and Frameworks
Benefits of using Cypress for automation testing
Real-time reloading and time-travel debugging
Automatic waiting and retries
Simple and easy-to-understand API
Built-in parallelization and dashboard features
Integration with CI/CD tools
Wide range of plugins and community support
Difference between Cypress and Selenium
Architecture: Cypress's direct browser access versus Selenium's WebDriver-based approach
Language Support: JavaScript in Cypress versus multiple languages in Selenium
Automatic waiting and command retries in Cypress
Speed and performance comparison
Ease of setup and learning curve
Key features of Cypress 12
Multiple origins testing with 'cy.origin()'
Browser context preservation with `cy.session()`
Test isolation
Fix for dreaded detached DOM errors
Conclusion
Further Reading
2. Setting Up the Development Environment
Installing Node.js
NPM (Node Package Manager)
Yarn
Installing Cypress
Configuring Cypress
Project structure
Creating your first Cypress project
Further Readings
3. Writing Your First Test
Introducing the Cypress Test Runner
Writing a simple test case
Using Cypress commands
Navigating commands
Querying DOM commands
Action commands
Assertion commands
Network requests commands
Cookies and local storage commands
Using Cypress assertions.
BDD assertions
TDD assertions
Sinon-Chai assertions
Complex assertions
Assertion timeout
Understanding hooks and aliases
Introducing hooks
Using aliases
Scopes of hooks and aliases
Hooks scope
Aliases scope
Best practices for using hooks and aliases
Dealing with asynchronous operations
Further readings
4. End-to-End (E2E) Testing
Overview of E2E testing
The crucial role of E2E testing
E2E testing with Cypress: A new age in testing
Testing user interactions
Clicking and double clicking
Typing into input fields
Checking and unchecking boxes
Selecting options in dropdowns
Working with events
Drag and Drop
Hovering
File uploads
Keyboard interactions
Scrolling
Right clicking
Form interactions
Dealing with popups and alerts
Working with iframes
Working with different types of elements
Text elements
Input fields
Buttons
Links
Images
Lists
Tables
Scalable vector graphics (SVGs)
Forms
Dialog and pop-up windows
Canvas
Audio and video elements
Shadow DOM
Custom Elements
Map Elements
Handling timeouts and retries
Timeouts
Automatic retries
Custom retries
Best practices for handling timeouts and retries
5. Component Testing
Introduction to component testing
Types of component testing
Timing of component testing execution
Differentiating component testing and unit testing
Component testing vs end-to-end testing
Setting up component testing with Cypress
Writing component tests
Scaffold React Application
Testing React components
Crafting a component
First component test
Locating elements and assertions
Incorporating props into components
Testing interactions.
Testing React components with events
Testing Angular components
Building an Angular component
Component inputs
Interactions with the component
Testing Angular component events
Testing Vue.js components
Building a Vue.js component
Testing interactions
Testing Vue.js components with events
Best practices for component testing
Understand the component's functionality
Isolate the component
Use descriptive test titles
Favor integration over snapshot tests
Test different states
Test events and side effects
Keep tests DRY, but not at all costs
Incorporate accessibility checks
Continuously run tests in your development environment
Use a test-first methodology (TDD/BDD)
Debugging and troubleshooting component tests
Utilize Cypress's time traveling and real-time reloading
Use cy.log for custom logging
Use cy.pause for pausing execution
Use Cypress's built-in debuggability
Reviewing test artifacts
Integrating component tests into your testing workflow
Running component tests locally
Running component tests in continuous integration
Running component tests
6. API Testing
Introduction to API testing
Understanding RESTful APIs
Exploring GraphQL
Comparing REST and GraphQL
Cypress for API Testing
Testing RESTful APIs
Testing GraphQL APIs
Aliasing Multiple Queries or Mutations
Expectations for Query or Mutation Results
Modifying a Query or Mutation Response
Validating API responses
7. Data-Driven Testing
Overview of data-driven testing
Data-Driven Testing in Action
Using JSON Files for Test Data.
Reasons for Using JSON Files
Structuring JSON Files for Test Data
Reading JSON Files in Cypress
Implementing Data-Driven Tests with JSON Files
Reading Data from Databases
Reasons for Using Databases for Test Data
Setting up the Database Connection
Setting up MongoDB Connection
Setting up MySQL Connection
Using MongoDB and MySQL Data in Cypress Tests
Implementing Data-Driven Test Cases
Segregation of Test Data and Production Data
Leveraging Realistic Data in Tests
Minimizing Test Data Duplication
Employing Cypress Plugins for Database Testing
Setting up a Test Database
Connecting Cypress to the Test Database
Test Cases for CRUD Operations
Test Case to Verify Data Integrity
Testing Database Transactions
Testing Database Migrations
8. Advanced Cypress Techniques
Cypress custom commands
Creating a custom command
Using a custom command
Custom command overwrites
Asynchronous custom commands
Chaining custom commands
Passing options to custom commands
Custom commands with aliases
Validating custom commands
Use cases for custom commands
Overriding existing commands
Handling errors in custom commands
Debugging custom commands
Best practices for custom commands
Using videos and screenshots for debugging
Debugging with screenshots
Debugging with videos
Using screenshots and videos effectively
Working with Cypress plugins
Configuration
Preprocessors
Run lifecycle
Spec lifecycle
Browser launching
Screenshot handling
cy.task
List of plugins
Crafting a plugin
Custom plugin examples
Interacting with a database
Plugin Events
Environment variables
Browser launch API
Custom Webpack preprocessor
Existing Cypress plugin examples.
cypress-cucumber-preprocessor
cypress-axe
Handling authentication and authorization
Authentication vs authorization
Approaches to testing authentication and authorization
Testing the UI
Programmatic login
Handling authorization
Testing API authorization
Authentication by visiting a different domain with cy.origin()
Programmatic login using Auth0 authentication
Parallel test execution
Using CI/CD tools for parallelization
Parallelization beyond the Dashboard: plugins
cypress-parallel
cypress-split
Cross-browser testing
Running tests in a specific browser
Running tests in all supported browsers
Electron browser: an integral part of Cypress
Chrome browsers
Firefox browsers
Managing test flakiness across different browsers
Comparing browser behaviors
WebKit (experimental)
Network stubbing and mocking
Using the cy.intercept() command
Intercepting responses and asserting with cy.wait()
POST request stubbing
Wildcards and glob patterns
Visual regression testing
Setting up cypress-image-snapshot plugin
Creating your first visual test
Dealing with dynamic content
Image comparison strategies
Setting up cypress-visual-regression
Basic usage of cypress-visual-regression
Customizing cypress-visual-regression
9. Cypress Cloud, Smart Orchestration, and Flaky Test Management
Introduction to Cypress Cloud
Understanding Cypress Cloud
Key features of Cypress Cloud
Detailed test recording and optimized management
Smart Orchestration in Cypress
Introduction to Smart Orchestration
Parallelization
Load Balancing
Spec Prioritization
Run Cancellation
Managing flaky tests
Network instability
Concurrency issues.
Test order dependency.
Notes:
Description based on publisher supplied metadata and other sources.
Description based on print version record.
Other Format:
Print version: Skadorva, Vitaly Ultimate Web Automation Testing with Cypress: Master End-To-End Web Application Testing Automation to Accelerate Your QA Process with Cypress (English Edition)
ISBN:
9788196782696
8196782691

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account