mirror of
https://github.com/teamcapybara/capybara.git
synced 2022-11-09 12:08:07 -05:00
Make selenium-webdriver an optional dependency, closes #887
This commit is contained in:
parent
83742b008f
commit
cd1b966a97
2 changed files with 13 additions and 6 deletions
|
@ -23,11 +23,11 @@ Gem::Specification.new do |s|
|
|||
|
||||
s.add_runtime_dependency("nokogiri", [">= 1.3.3"])
|
||||
s.add_runtime_dependency("mime-types", [">= 1.16"])
|
||||
s.add_runtime_dependency("selenium-webdriver", ["~> 2.0"])
|
||||
s.add_runtime_dependency("rack", [">= 1.0.0"])
|
||||
s.add_runtime_dependency("rack-test", [">= 0.5.4"])
|
||||
s.add_runtime_dependency("xpath", ["~> 1.0.0"])
|
||||
|
||||
s.add_development_dependency("selenium-webdriver", ["~> 2.0"])
|
||||
s.add_development_dependency("sinatra", [">= 0.9.4"])
|
||||
s.add_development_dependency("rspec", [">= 2.2.0"])
|
||||
s.add_development_dependency("launchy", [">= 2.0.4"])
|
||||
|
|
|
@ -1,4 +1,11 @@
|
|||
require 'selenium-webdriver'
|
||||
begin
|
||||
require 'selenium-webdriver'
|
||||
rescue LoadError => e
|
||||
if e.message =~ /selenium-webdriver/
|
||||
raise LoadError, "Capybara's selenium driver is unable to load `selenium-webdriver`, please install the gem and add `gem 'selenium-webdriver'` to your Gemfile if you are using bundler."
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
class Capybara::Selenium::Driver < Capybara::Driver::Base
|
||||
DEFAULT_OPTIONS = {
|
||||
|
@ -42,7 +49,7 @@ class Capybara::Selenium::Driver < Capybara::Driver::Base
|
|||
def title
|
||||
browser.title
|
||||
end
|
||||
|
||||
|
||||
def current_url
|
||||
browser.current_url
|
||||
end
|
||||
|
@ -50,11 +57,11 @@ class Capybara::Selenium::Driver < Capybara::Driver::Base
|
|||
def find_xpath(selector)
|
||||
browser.find_elements(:xpath, selector).map { |node| Capybara::Selenium::Node.new(self, node) }
|
||||
end
|
||||
|
||||
|
||||
def find_css(selector)
|
||||
browser.find_elements(:css, selector).map { |node| Capybara::Selenium::Node.new(self, node) }
|
||||
end
|
||||
|
||||
|
||||
def wait?; true; end
|
||||
def needs_server?; true; end
|
||||
|
||||
|
@ -137,5 +144,5 @@ class Capybara::Selenium::Driver < Capybara::Driver::Base
|
|||
def invalid_element_errors
|
||||
[Selenium::WebDriver::Error::StaleElementReferenceError, Selenium::WebDriver::Error::UnhandledError, Selenium::WebDriver::Error::ElementNotVisibleError]
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue