cuprite - Headless Chrome driver for Capybara

  •        19

Cuprite is a pure Ruby driver (read as no Java/Selenium/WebDriver/ChromeDriver requirement) for Capybara. It allows you to run your Capybara tests on a headless Chrome or Chromium by CDP protocol. Under the hood it uses Ferrum which is high-level API to the browser again by CDP protocol. The emphasis was made on raw CDP protocol because Headless Chrome allows you to do so many things that are barely supported by WebDriver because it should have consistent design with other browsers. The design of the driver will be as close to Poltergeist as possible though it's not a goal.

https://github.com/machinio/cuprite

Tags
Implementation
License
Platform

   




Related Projects

taiko - A node.js library to automate chrome/chromium browser

  •    Javascript

Taiko is a free and open source browser automation tool built by the team behind Gauge from ThoughtWorks. Taiko is a node library with a clear and concise API to automate the chrome browser. Tests written in Taiko are highly readable and maintainable. Taiko’s smart selectors make tests reliable by adapting to changes in the structure of your web application. With Taiko there’s no need for id/css/xpath selectors or adding explicit waits (for XHR requests) in test scripts.

serverless-chrome - 🌐 Run headless Chrome/Chromium on AWS Lambda (maybe Azure, & GCP later)

  •    Javascript

Serverless Chrome contains everything you need to get started running headless Chrome on AWS Lambda (possibly Azure and GCP Functions soon). Why? Because it's neat. It also opens up interesting possibilities for using the Chrome DevTools Protocol (and tools like Chromeless or Puppeteer) in serverless architectures and doing testing/CI, web-scraping, pre-rendering, etc.

puppeteer - Headless Chrome Node API

  •    Javascript

Puppeteer is a Node library which provides a high-level API to control headless Chrome or Chromium over the DevTools Protocol. It can also be configured to use full (non-headless) Chrome or Chromium. Note: When you install Puppeteer, it downloads a recent version of Chromium (~170Mb Mac, ~282Mb Linux, ~280Mb Win) that is guaranteed to work with the API. To skip the download, see Environment variables.

chromeless - 🖥 Chrome automation made simple. Runs locally or headless on AWS Lambda.

  •    TypeScript

You can try out Chromeless and explore the API in the browser-based demo playground (source).With Chromeless you can control Chrome (open website, click elements, fill out forms...) using an elegant API. This is useful for integration tests or any other scenario where you'd need to script a real browser.

chromeless - 🖥 Chrome automation made simple. Runs locally or headless on AWS Lambda.

  •    TypeScript

You can try out Chromeless and explore the API in the browser-based demo playground (source). With Chromeless you can control Chrome (open website, click elements, fill out forms...) using an elegant API. This is useful for integration tests or any other scenario where you'd need to script a real browser.


html-pdf-chrome - HTML to PDF converter via Chrome/Chromium

  •    TypeScript

HTML to PDF converter via Chrome/Chromium. Note: It is strongly recommended that you keep Chrome running side-by-side with Node.js. There is significant overhead starting up Chrome for each PDF generation which can be easily avoided.

mochify.js - ☕️ TDD with Browserify, Mocha, Headless Chrome and WebDriver

  •    Javascript

Browserifies ./test/*.js, decorated with a Mocha test runner, runs it in Headless Chrome and passes the output back to your console. Cleans up your stack traces by mapping back to the original sources and removing lines from the test framework.For proxy settings and other environment variables, see the Puppeteer documentation.

Splinter - Python test framework for web applications

  •    Python

Splinter is an open source tool for testing web applications using Python. It lets you automate browser actions, such as visiting URLs and interacting with their items. Splinter is an abstraction layer on top of existing browser automation tools such as Selenium, PhantomJS and zope.testbrowser. It has a high-level API that makes it easy to write automated tests of web applications. It has drivers for Chrome and Firefox for browser-based testing, and zope.testbrowser and PhantomJS for headless testing.

headless-chrome-crawler - Distributed crawler powered by Headless Chrome

  •    Javascript

Crawlers based on simple requests to HTML files are generally fast. However, it sometimes ends up capturing empty bodies, especially when the websites are built on such modern frontend frameworks as AngularJS, React and Vue.js. Note: headless-chrome-crawler contains Puppeteer. During installation, it automatically downloads a recent version of Chromium. To skip the download, see Environment variables.

Phantomjs - Headless WebKit with JavaScript API

  •    Javascript

PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG. It is an optimal solution for headless website testing. It run functional tests with frameworks such as Jasmine, QUnit, Mocha, Capybara, WebDriver, and many others.

pdf-bot - 🤖 A Node queue API for generating PDFs using headless Chrome

  •    Javascript

Easily create a microservice for generating PDFs using headless Chrome. pdf-bot is installed on a server and will receive URLs to turn into PDFs through its API or CLI. pdf-bot will manage a queue of PDF jobs. Once a PDF job has run it will notify you using a webhook so you can fetch the API. pdf-bot supports storing PDFs on S3 out of the box. Failed PDF generations and Webhook pings will be retried after a configurable decaying schedule.

karmatic - 🦑 Easy automatic (headless) browser testing. Powered by Karma, Webpack & Jasmine.

  •    Javascript

A simplified zero-configuration wrapper around Karma, Webpack, Jasmine & Puppeteer. Karma, Webpack and Jasmine are all great. They're all also quite powerful and each highly configurable. When creating and maintaining small modules, duplication of these configurations and dependencies is cumbersome.

pyppeteer - Headless chrome/chromium automation library (unofficial port of puppeteer)

  •    Python

Unofficial Python port of puppeteer JavaScript (headless) chrome/chromium browser automation library. Note: When you run pyppeteer first time, it downloads a recent version of Chromium (~100MB). If you don't prefer this behavior, run pyppeteer-install command before running scripts which uses pyppeteer.

chromedp - Package chromedp is a faster, simpler way to drive browsers (Chrome, Edge, Safari, Android, etc) without external dependencies (ie, Selenium, PhantomJS, etc) using the Chrome Debugging Protocol

  •    Go

Package chromedp is a faster, simpler way to drive browsers in Go using the Chrome Debugging Protocol (for Chrome, Edge, Safari, etc) without external dependencies (ie, Selenium, PhantomJS, etc).NOTE: chromedp's API is currently unstable, and may change at a moments notice. There are likely extremely bad bugs lurking in this code. CAVEAT USER.

chromedp - A faster, simpler way to drive browsers supporting the Chrome DevTools Protocol.

  •    Go

Package chromedp is a faster, simpler way to drive browsers supporting the Chrome DevTools Protocol in Go using the without external dependencies (ie, Selenium, PhantomJS, etc). Please see the examples project for more examples. Please refer to the GoDoc API listing for a summary of the API and Actions.

chrome-headless-browser-docker - Continuously building Chrome Docker image for Linux.

  •    Shell

This repository contains three docker builds. This docker image contains the Linux Dev channel Chromium (https://www.chromium.org/getting-involved/dev-channel), with the required dependencies and the command line argument running headless mode provided.

navalia - A bullet-proof, fast, and reliable headless browser API

  •    TypeScript

The bullet-proof, fast, and most feature-rich Chrome driver around. Navalia lets you interact with Chrome and run parallel work with ease. Not using JavaScript? There's a GraphQL server that you can use to communicate with over HTTP allowing any runtime to drive Chrome. Simply run navalia with a specified port e.g.

sinon-chrome - Testing chrome extensions with Node.js

  •    Javascript

Sinon-chrome is helper tool for unit-testing chromium and Firefox extensions and apps. It mocks all extensions api with sinon stubs that allows you to run tests in Node.js without actual browser. API mocks are generated using official chromium extensions API (Firefox webextensions) schemas that ensures consistency with real API. Actual schemas are taken from Chrome 53 and Firefox 49.

Capybara - Acceptance test framework for web applications

  •    Ruby

Capybara aims to simplify the process of integration testing Rack applications such as Rails, Sinatra or Merb. Capybara simulates how a real user would interact with a web application. It is agnostic about the driver running your tests and currently comes with Rack::Test and Selenium support built in. HtmlUnit and env.js are supported through external gems.

axe-cli - A command-line interface for the aXe accessibility testing engine

  •    Javascript

Provides a command line interface for aXe to run quick accessibility tests. Install Node.js if you haven't already. This project requires Node 6+. By default, axe-cli runs Chrome in headless mode, which requires Chrome 59 or up.





We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.