Summary
We covered a lot in this first chapter. We learned about browser automation and the difference between Selenium and Puppeteer. Then we saw that Puppeteer isn't limited only to end-to-end testing and reviewed some use case scenarios. Then we got our hands dirty and coded our first Puppeteer script. In the last section of the chapter, we covered many asynchronous techniques that we will use in this book.
In the next chapter, we are going to focus on end-to-end testing. We will review some tools available on the market and will consider how to organize our code to create reliable end-to-end tests.