dc49e5f875
This allows console.log() messages to be visible, and prevents large numbers of console.log() calls from filling up webkit_server's pipe which would block the process. |
||
---|---|---|
bin | ||
lib | ||
spec | ||
src | ||
templates | ||
.gitignore | ||
.rspec | ||
capybara-webkit.gemspec | ||
CONTRIBUTING.md | ||
extconf.rb | ||
Gemfile | ||
Gemfile.lock | ||
LICENSE | ||
Rakefile | ||
README.md | ||
webkit_server.pro |
capybara-webkit
A capybara driver that uses WebKit via QtWebKit.
Dependent on Qt
capybara-webkit depends on a WebKit implementation from Qt, a cross-platform development toolkit. You'll need to download the Qt libraries to build and install the gem.
OS X Lion 10.7:
Install Qt via homebrew(can take more than an hour) using:
brew install qt --build-from-source
OS X < 10.7:
Download the non-debug Cocoa package.
Ubuntu:
apt-get install libqt4-dev
Fedora:
yum install qt-webkit-devel
Gentoo Linux:
emerge x11-libs/qt-webkit
Other Linux distributions:
CI
If you're like us, you'll be using capybara-webkit on CI.
On Linux platforms, capybara-webkit requires an X server to run, although it doesn't create any visible windows. Xvfb works fine for this. You can setup Xvfb yourself and set a DISPLAY variable, or try out the headless gem.
Usage
Add the capybara-webkit gem to your Gemfile:
gem "capybara-webkit"
Set your Capybara Javascript driver to webkit:
Capybara.javascript_driver = :webkit
Tag scenarios with @javascript to run them using a headless WebKit browser.
Contributing
See the CONTRIBUTING document.
About
The capybara WebKit driver was written by Joe Ferris, Tristan Dunn, and Jason Morrison from thoughtbot, inc.
Code for rendering the current webpage to a PNG is borrowed from Phantom.js' implementation.
The names and logos for thoughtbot are trademarks of thoughtbot, inc.
Notes
This capybara WebKit driver will listen on port 8200, this may conflict with other services.
License
capybara-webkit is Copyright © 2011 thoughtbot, inc. It is free software, and may be redistributed under the terms specified in the LICENSE file.