0.0
Repository is archived
No commit activity in last 3 years
No release in over 3 years
Selenium WebDriver Utilities. - Many hook points for selenium-webdirver. - Manage multiple sessions - Implicit and Explicit wait - Retry
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.5
>= 0
~> 3.0.0.beta

Runtime

 Project Readme

Selenium::More Build Status

Selenium WebDriver utilities.

Features

  • hook interface to selenium-webdriver
  • utilities for test (not yet)
  • session management
  • implicit and explicit wait
  • retry

Installation

Add this line to your application's Gemfile:

gem 'selenium-more'

And then execute:

$ bundle

Or install it yourself as:

$ gem install selenium-more

Usage

Hooks

When you include ::Selenium::More::Hooks to ::Selenium::WebDriver::Driver, you can add before/after hook to any existing driver function.

Sample Code:

require "selenium/more/hooks"

class Selenium::WebDriver::Driver
  include Selenium::More::Hooks

  hook :get, before: ->(driver, url)      { puts driver.current_url }
             after:  ->(driver, ret, url) { puts driver.current_url }
end

driver = Selenium::WebDriver.for :phantomjs

drvier.get "http://example.com/"

It prints.

about:blank
http://example.com/

You can also add hook to each instance of ::Selenium::WebDriver::Driver. It results the same with above.

require "selenium/more/hooks"

class Selenium::WebDriver::Driver
  include Selenium::More::Hooks
end

driver = Selenium::WebDriver.for :phantomjs
driver.hook :get, before: ->(driver, url)      { puts driver.current_url }
                  after:  ->(driver, ret, url) { puts driver.current_url }

driver.get "http://example.com/"

Many build-in hooks are available. See examples or lib/selenium/more/hooks directory.

Saving Movie

Seleinium::More::Hooks::Movie enables to save whole driver's activity as a movie. It has capability to switch the way to make movie, but currently only imagemagick is available.

See examples/movie.rb

session management

T.B.D.

Implicit and Explicit wait

T.B.D.

retry

T.B.D.

Development

java is needed to run selenium-server-standalone

Contributing

  1. Fork it ( http://github.com//selenium-more/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request