In 2020, I wrote and published End-to-End Testing with TestCafe, a book covering the TestCafe testing framework. The book covered how to get started with TestCafe and how to best use its features, which were (at the time) a step above other end-to-end testing libraries like Selenium. I also built a custom web application for book purchasers to practice what they learned on an environment that simulates a real-world website, which I still maintain to this day.
The book received an update for TestCafe version 2 after it was released. Since then, the team behind TestCafe has continued to maintain the framework, but you may have noticed that the book hasn’t gotten any updates. But that changes today, with my announcement that a brand-new update for the End-to-End Testing with TestCafe book is now available. This new release makes the book fully up to date with the framework.
What’s Changed in the Book Since the Last Update
The previous edition of the book covered TestCafe up to version 2.1.0. While the TestCafe framework has received constant updates since that time (currently at version 3.7.7), there thankfully haven’t been many massive changes in the examples given in the book. As a matter of fact, only one of the end-to-end tests from the book required changes to work in the latest version of TestCafe (and it’s a command-line flag, not the code itself). That’s not a bad thing, especially in modern software development where any major version of a library seems to require a full rewrite of wherever you use it.
I've gone through the entire book to update everything for TestCafe v3.7.7, verifying every chapter to make sure the examples still work and all commands are up to date and functional. I also took time to rewrite the sections where TestCafe's behavior changed or where I felt something needed a bit more clarification. Oh, and I also fixed the dozens of typos and syntax errors scattered throughout, and deleted plenty of obsolete details that shouldn’t have been in the previous versions.
Below are some of the main areas that I addressed in this new version:
There’s an EPUB version now available
The original versions of the book only contained a PDF, which worked great on PCs. However, many electronic readers had poor or no support for PDF files, which left anyone who wanted to use these devices out in the cold. I revamped my publishing workflow (now using Pandoc), which allows me to export the book into an EPUB version, so the book can be read on most devices without needing conversion.
Improved project setup
The book now covers using recent tooling to get the project up and running, starting with Node.js since TestCafe now requires Node.js v20 and above. In addition, the book now begins using a configuration file (.testcaferc.json) to set up the project, since this reflects real-world usage.
New topics in almost every chapter
As mentioned earlier, TestCafe doesn’t have many breaking changes. However, that doesn’t mean nothing has changed. There are plenty of new features that make testing with TestCafe easier, and I covered a lot of these as additions to existing chapters. Among the new topics are how TestCafe now works with native automation by default (and where to fall back to proxy mode, which older versions used), creating custom actions, how to manage scrolling, working with elements inside the shadow DOM when dealing with web components, and a lot more.
An expanded configuration chapter
The chapter on configuring TestCafe was already fairly extensive with enough information for most day-to-day usage. With recent versions of TestCafe, there are more configuration options to cover. The book now covers more usage of the TestCafe configuration file mentioned earlier, more details about timeouts during test runs, and other details that add more to your testing toolkit.
Isn’t TestCafe Dead? Why Use It Instead of Playwright?
When I mentioned to some friends that I was updating my TestCafe book, almost everyone asked the same question: Why?
I’ve had this question myself. If I’m being honest, one of the main reasons why the book hadn’t received any updates in years is because Playwright came along and took over the end-to-end testing space. It’s the current cream of the crop, and it deserves that spot. Playwright ships with a ton of excellent tooling out of the box, from the trace viewer to test generation, and support for many programming languages besides JavaScript. The community is huge, and the tool is backed by a giant in Microsoft. If you’re starting a new end-to-end testing project with no constraints, I’d be lying if I said I wouldn’t recommend Playwright as a solid starting point.
So why did I spend time updating a book about TestCafe when its current usage is small compared to Playwright?
First of all, TestCafe is not dead. Some teams already have TestCafe suites built for their applications, and they still need to maintain their existing test cases. The team behind TestCafe also releases regular updates, and teams might want to upgrade to newer versions. Not everyone can spend the time and effort moving to another test framework. There aren’t many changes between TestCafe versions, but testers can run into some gotchas when updating TestCafe (such as TestCafe defaulting to native automation for Chromium-based browsers) that the book helps navigate. The updates I made to the book were primarily with these teams in mind.
However, it’s 2026, and we have AI services that can easily upgrade TestCafe or even migrate a full end-to-end testing suite to a different framework. But getting tests to pass isn’t the same as trusting those tests. Someone should still review the test suite to make sure it’s doing the right things and fix the inevitable issues that crop up. The teams that I see struggling with software development and testing nowadays are the ones who don’t fully understand how the underlying code works. We still need to know what’s going on even though AI is doing the heavy lifting.
Even if you want to use Playwright (or already migrated from TestCafe to Playwright), most of what this book teaches doesn’t depend on TestCafe as the testing framework. Topics like organizing tests into fixtures, structuring your code with page objects, and writing proper selectors that don’t break when the UI changes aren’t exclusive to TestCafe. TestCafe happens to be a good way to learn these skills, and those skills transfer to Playwright or any other tool. Understanding these areas matters even more now with AI, when you need to know the difference between a well-written, maintainable test case and one that’s brittle.
Speaking of AI… Did You Use AI for These Book Updates?
I should add a disclaimer here about any AI usage for the latest book updates. Although it’s something I wish I didn’t have to include, the reality is that a good chunk of what we see online nowadays is AI-generated. Whether that’s something that you’re okay with or not is an entirely different subject that could become its own article. Still, I felt like I should mention how I used AI for these updates. I use AI every day for my work and have come to rely on it for many tasks. However, for some tasks, I draw a hard line and do things the “old-fashioned way.”
Writing is one thing that I do completely on my own without any assistance from an LLM. I personally dislike AI-generated writing and can spot most of it a mile away, and I think most people are tired of seeing lifeless sentences like “Honestly? It’s not this, it’s that.” So I prefer to spend hours or days writing an article using my brain, even though I could have Claude spit out something in minutes. For these book updates, I made every edit myself without relying on any AI tools, and it’s something I’m proud of, even though it took a lot of my spare time over a few weekends.
That doesn’t mean I didn’t use AI at all for this update project. I did use it as a very helpful assistant in some areas. For example, when I decided I wanted to write this well-overdue update, I asked Claude to create a table of all the changes between the version of TestCafe from the previous book (v2.1.0) and the latest version (v3.7.7) with links to the official documentation. Doing this on my own would have taken days, but within 30 minutes I already had a list of the changes that I wanted to cover when revising the chapters. Other places where AI helped were doing quick scans of code examples to make sure I didn’t miss something that made it invalid, doing spot checks on the PDF formatting instead of having me read the entire document, and building the publishing workflow (ain’t nobody got time to learn LaTeX).
The reason why I wanted to talk about AI here is because we’re more suspicious than ever about anything new that’s released online, whether it’s a new app, video game, or book. I understand why, since every day we’re bombarded by new products that are obviously the work of AI. But there are also plenty of people out there who are still doing great work without AI doing it for them, and they’re buried under a pile of junk. It’s my hope that others can make the distinction when they see it.
Get the Latest Version of End-to-End Testing with TestCafe Today
The updated version of End-to-End Testing with TestCafe is now available at https://testingwithtestcafe.com, in both PDF and EPUB formats. Previous buyers of the book will receive the update for free, and will get an email from Gumroad to download the new version. The TeamYap application used for the book is still up and running, so you can use it to work through the book's examples.
If your team is maintaining a TestCafe test suite, planning to upgrade to the latest version, or wants to get better at writing maintainable end-to-end tests, you'll get a lot out of this book. If you pick up the new version, please reach out and let me know what you think and if there are any issues you run into. The same goes if you'd like to see other topics covered in a future update. I don't plan on waiting this long for the next update. Hearing from readers is the best way for me to add new material.
In addition, if your team is dealing with test suites that pass but nobody understands or trusts, I also offer a full testing assessment service as part of my consulting work. It's a fixed-price review of your entire test suite and CI pipeline where I help uncover areas of improvement and find places that waste the organization’s time and money, and you get a prioritized plan that your team can immediately act upon.