WebPilot
Introduction
WebPilot is a wrapper for Selenium::WebDriver
that makes the library more ruby-esque. Rather than inherit from Selenium::WebDriver
, an instance of WebPilot
has a Selenium::WebDriver
instance as an attribute. It serves other functions rather than just extending Selenium::WebDriver
, so it also wraps a Logger
, saves screenshots, etc.
Compatibility
WebPilot is tested on the following platforms:
- ruby-1.9.3 on Linux
That is all.
Roadmap
- Way More Tests :P
- screenshot functionality
- All of the Approximations from KaikiFS...
Installation
gem install webpilot
Contributing
Please do! Contributing is easy. Please read the CONTRIBUTING.md document for more info. ... When it exists.
Usage
WebPilot is meant to be used primarily as a helper for using Selenium with Cucumber, so that your step definitions are as short as possible, and never have to rescue from a Selenium exception.
require 'webpilot'
pilot = WebPilot.new(options)
WebPilot.new
options
-
:browser
should be one of the browsers supported by WebDriver.for -
:is_headless
should be a boolean, indicating whether to useSelenium::WebDriver
should run under a headless X display, using the headless gem. -
:logger
can be one of several things:-
nil
will instantiate a logger that writes to/dev/null
-
"STDOUT"
will instantiate a logger toSTDOUT
-
"STDERR"
will instantiate a logger toSTDERR
- an object that appears to be a
Logger
will then be assigned to@logger
, not instantiating anything new
-
-
:pause_time
should be a Numeric (Fixnum or Float), representing the number of seconds that a call to#pause
will pause for. -
:screenshot_dir
is... not quite used yet. Stay tuned! -
:timeout
is the default number of seconds that a Wait object should wait for.
Versioning
WebPilot follows Semantic Versioning (at least approximately) version 2.0.0-rc1.
License
Please see LICENSE.md.