awesome-browser-automation
awesome-browser-automation copied to clipboard
Curated list of awesome browser automation tools and resources
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 scrapping 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
- Related
- Articles
- Resources
Tools
:lock: - Private
:moneybag: - Paid
:no_entry_sign: - Not Maintained
- Axiom :moneybag::lock: - No code browser automation tool, like Zapier.
- 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 :moneybag: - E2E testing for JavaScript through a browser.
- Endtest :moneybag::lock: - Cloud-based codeless automated testing.
- Erik - Headless browser for functional tests in Swift, based on WebKit and Kanna.
- FrontendRobot :moneybag::lock: - Codeless testing on the web.
- Mechanize - Programmatic web browser emulation in Python.
- Nightmare :no_entry_sign: - High-level browser automation built on top of Electron.
- QAWolf - Create Puppeteer tests by recording actions .
- PhantomBuster :moneybag::lock: - Automate web scraping and actions without coding.
- PhantomJS :no_entry_sign: - 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.
- SlimerJS - Scriptable browser built on top of Gecko.
- 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 :no_entry_sign: - 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 :lock: - 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.