Book Image

A Frontend Web Developer’s Guide to Testing

By : Eran Kinsbruner
3 (1)
Book Image

A Frontend Web Developer’s Guide to Testing

3 (1)
By: Eran Kinsbruner

Overview of this book

Testing web applications during a sprint poses a challenge for frontend web app developers, which can be overcome by harnessing the power of new, open source cross-browser test automation frameworks. This book will introduce you to a range of leading, powerful frameworks, such as Selenium, Cypress, Puppeteer, and Playwright, and serve as a guide to leveraging their test coverage capability. You’ll learn essential concepts of web testing and get an overview of the different web automation frameworks in order to integrate them into your frontend development workflow. Throughout the book, you'll explore the unique features of top open source test automation frameworks, as well as their trade-offs, and learn how to set up each of them to create tests that don't break with changes in the app. By the end of this book, you'll not only be able to choose the framework that best suits your project needs but also create your initial JavaScript-based test automation suite. This will enable fast feedback upon code changes and increase test automation reliability. As the open source market for these frameworks evolves, this guide will help you to continuously validate your project needs and adapt to the changes.
Table of Contents (19 chapters)
1
Part 1 – Frontend Web Testing Overview
7
Part 2 – Continuous Testing Strategy for Web Application Developers
11
Part 3 – Frontend JavaScript Web Test Automation Framework Guides

Getting started with the Google Puppeteer framework

Puppeteer is an open source node library and a framework developed by Google that is based on the CDP. It allows web application developers to control headless or headed chrome browsers through high-level APIs over the above mentioned CDP or DevTools protocol (https://chromedevtools.github.io/devtools-protocol/). As described earlier in this chapter, Puppeteer and Playwright share the same architecture and CDP to create and run tests.

Unlike Selenium and Cypress, Puppeteer only supports Chrome and Chromium-based browsers, which means that testing end-to-end across all other browsers, such as WebKit Safari and Mozilla Firefox, isn't supported.

Among the core capabilities of Puppeteer is the generation of screenshots and PDFs of websites' pages, crawling a single-page application, and generating pre-rendered content, automating form submission, UI testing, and user gestures such as keyboard inputs. With the support of...