Awesome Browser Automation
Curated list of awesome browser automation tools and resources.
Browser automation is the act of executing actions automatically in a web browser for testing, web scraping or to perform repetitive tasks faster. Specialized software is usually required to do this. This software may control an external browser or be a browser itself.
Contents
Tools
- Axiom
π° π - No code browser automation tool, like Zapier. - Browserflow
π° π - Chrome extension to automate your local browser or in the cloud. - Capybara - Driver-agnostic tool and DSL to write automation tests in Ruby.
- Chromedp - Browser automation through Chrome DevTools Protocol fully implemented in Go.
- Codeception - PHP end-to-end testing with BDD style.
- CodeceptJS - BDD style tests with support for multiple headless browsers.
- Cypress
π° - E2E testing for JavaScript through a browser. - Endtest
π° π - Cloud-based codeless automated testing. - Erik - Headless browser for functional tests in Swift, based on WebKit and Kanna.
- Katalon Recorder - A solution to kick-start test automation for small companies & start-ups.
- FrontendRobot
π° π - Codeless testing on the web. - Mechanize - Programmatic web browser emulation in Python.
- Nightmare
π« - High-level browser automation built on top of Electron. - QAWolf - Create Puppeteer tests by recording actions .
- PhantomBuster
π° π - Automate web scraping and actions without coding. - PhantomJS
π« - Headless browser for Node.js. - Playwright - Cross-browser web automation platform for Node.js.
- Puppeteer - High level API in Node.js to control Chrome.
- Browserless - Complementary library for Puppeteer with sensible defaults, adblocker and pooling.
- Puppeteer-Firefox - Experimental support for Firefox using Puppeteer.
- Puppeteer-Extra - Plugin support for Puppeteer and several plugins including reCAPTCHA and adblocker.
- Headless Recorder - Chrome extension that records your browser interactions and generates a Puppeteer or Playwright script.
- Pyppeteer - Unofficial port of Puppeteer to Python.
- Selenium - Suite to automate multiple browsers in different platforms.
- PHP-Webdriver - PHP Client for Selenium/WebDriver.
- SimpleBrowser - Browser automation engine build on .NET.
- Splinter - Python abstraction of existing browser automation tools with a high-level API for testing.
- TestCafe - Full end-to-end testing environment supporting multiple browsers.
- Watir - Ruby library for automating tests powered by Selenium.
- WebdriverIO - Webdriver bindings to Node.js that lets you control a browser.
- WebParsy - Web scraping library and CLI using Puppeteer and YAML.
- Wendigo - Test-oriented automation tool built on top of Puppeteer.
- Zombie
π« - Headless testing in Node.js.
Related
- Cheerio - jQuery implementation in Node.js for DOM emulation.
- jsdom - DOM implementation in Node.js to emulate real browsers.
- Node-crawler - Web Crawler/Spider for Node.js using server-side DOM.
- Postman
π - API requests and development tool with automation options. - Spectron - Test Electron apps using WebDriver.
- X-Ray - Web Scraper with composable API and extra drivers.
Articles
- Cucumber Browser Automation - Guide for BDD testing using Selenium with Cucumber.
- Guide to Web Automation - Guide covering different tools and techniques for web automation.
- Martin Fowler - PageObject - An article describing the basic concepts of page object pattern.
- Modern Web Automation With Python and Selenium - Tutorial for getting started with Selenium in Python.
Resources
- Awesome Selenium - Curated list of Selenium resources and related tools.
- Awesome Web Scraping - Comprehensive list of tools, programming libraries and web services used in web scraping.
- HeadlessBrowsers - Detailed list of multiple headless browsers.
- Webdriver Specification - Standard definition of agents to control a browser.