A PhantomJS driver for Capybara that enables headless browser testing for Ruby applications.
Poltergeist is a Capybara driver that enables headless browser testing using PhantomJS. It allows Ruby developers to run integration tests that simulate real user interactions in a WebKit-based browser without a graphical interface. The project solves the problem of running full-stack tests in environments without display servers, making it suitable for continuous integration systems.
Ruby developers using Capybara for integration testing, particularly those needing headless browser testing for CI/CD pipelines or automated test suites.
Developers choose Poltergeist because it provides full Capybara compatibility with PhantomJS, offers advanced features like network traffic inspection and remote debugging, and works reliably across multiple Ruby implementations and operating systems without external dependencies.
A PhantomJS driver for Capybara
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Runs without a graphical interface or X server, making it ideal for continuous integration pipelines like Travis CI and CircleCI where no display is available.
Supports all mandatory Capybara driver features plus optional APIs such as screenshots, iframes, and network traffic inspection, ensuring seamless integration with existing test suites.
Includes network traffic monitoring, cookie manipulation, and remote debugging with WebKit inspector, providing fine-grained control over test execution and troubleshooting.
Works on MRI, JRuby, and Rubinius across Mac OS X, Linux, and Windows, with minimal external dependencies beyond PhantomJS installation.
Relies on PhantomJS, which does not support ES6 features and has known bugs causing silent failures with modern JavaScript, requiring polyfills or workarounds.
The README acknowledges sporadic crashes and memory leaks, necessitating precautions like re-running tests or manual session cleanup, which can hinder reliability.
PhantomJS is no longer actively maintained, limiting future updates and compatibility with evolving web standards, making Poltergeist a legacy solution.