Pupeteer

Puppeteer is not a framework itself, but a library that can be easily integrated into your solution. It has an API that is used to control Chrome or Chromium over the DevTools protocol. This is perhaps the major downside of Puppeteer since it works only with Chrome and Chromium, and it requires the machine to have them pre-installed.
It can be used for browser-specific applications like page structure tests, taking website screenshots, and more.
Automation scripts written using Puppeteer override the DevTools Protocol API, and it works in a way that it can automatically:
- Launch Chrome (Chromium)
- Open a new tab in the browser
- Navigate to the desired site for testing
- Capture a screenshot and close the browser
Puppeteer allows developers to mock resources, thereby avoiding reliability, consistency, and speed issues. You can manipulate external resources like CSS selectors to make your specific test case execute faster.