capybara-selenium 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +22 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +81 -0
- data/Rakefile +13 -0
- data/capybara_selenium.gemspec +33 -0
- data/lib/capybara_selenium.rb +39 -0
- data/lib/capybara_selenium/app_server.rb +42 -0
- data/lib/capybara_selenium/selenium_server.rb +71 -0
- data/lib/capybara_selenium/version.rb +3 -0
- metadata +210 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: e13f900df3097a79309945f402301af811a14400
|
4
|
+
data.tar.gz: 354127460453b5f0c61bc32709c49d6d0219c2cf
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ecd1f78aee31e15e06142aebf6f08542e0e97ce8d7fdc0bf978f8523502da3e5de33e771d9285f00c94ae695664dc6cecb33a139152df3d387f2731939ea2b63
|
7
|
+
data.tar.gz: 97aca416c3e2e84f63c75e8202f10730b67580a897cacc08711a8fc5345203d6e64097060aa751f1d1a9888d172c2fc2523eb53d30d5adfbe5c95aa864cadee8
|
data/.gitignore
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
*.gem
|
2
|
+
*.rbc
|
3
|
+
.bundle
|
4
|
+
.config
|
5
|
+
.yardoc
|
6
|
+
Gemfile.lock
|
7
|
+
InstalledFiles
|
8
|
+
_yardoc
|
9
|
+
coverage
|
10
|
+
doc/
|
11
|
+
lib/bundler/man
|
12
|
+
pkg
|
13
|
+
rdoc
|
14
|
+
spec/reports
|
15
|
+
test/tmp
|
16
|
+
test/version_tmp
|
17
|
+
tmp
|
18
|
+
*.bundle
|
19
|
+
*.so
|
20
|
+
*.o
|
21
|
+
*.a
|
22
|
+
mkmf.log
|
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
capybara_selenium
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.1.5
|
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2014 David Saenz Tagarro
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
[](http://badge.fury.io/rb/capybara-selenium)
|
2
|
+
[](https://codeclimate.com/github/dsaenztagarro/capybara-selenium)
|
3
|
+
[](https://gemnasium.com/dsaenztagarro/capybara-selenium)
|
4
|
+
|
5
|
+
# CapybaraSelenium
|
6
|
+
|
7
|
+
Dead-simple way to make Capybara and Selenium play together
|
8
|
+
|
9
|
+
## Roadmap
|
10
|
+
|
11
|
+
CapybaraSelenium is on its way towards 1.0.0. Please refer to
|
12
|
+
[issues](https://github.com/dsaenztagarro/capybara-selenium/issues) for details.
|
13
|
+
|
14
|
+
## Installation
|
15
|
+
|
16
|
+
Add this line to your application's Gemfile:
|
17
|
+
|
18
|
+
gem 'capybara-selenium'
|
19
|
+
|
20
|
+
And then execute:
|
21
|
+
|
22
|
+
$ bundle
|
23
|
+
|
24
|
+
Or install it yourself as:
|
25
|
+
|
26
|
+
$ gem install capybara-selenium
|
27
|
+
|
28
|
+
## Usage
|
29
|
+
|
30
|
+
Supported applications:
|
31
|
+
|
32
|
+
- [X] Modular sinatra apps (through config.ru)
|
33
|
+
- [ ] Rails apps
|
34
|
+
|
35
|
+
```ruby
|
36
|
+
# features/support/continous_integration.rb
|
37
|
+
module ContinousIntegration
|
38
|
+
def app_server(opts = {})
|
39
|
+
{
|
40
|
+
host: ENV['CI_APP_SERVER_HOST'] || 'localhost',
|
41
|
+
port: ENV['CI_APP_SERVER_PORT'] || 8080,
|
42
|
+
type: :rack,
|
43
|
+
config_ru_path: ENV['CI_APP_SERVER_CONFIG_RU'] || config_ru_path
|
44
|
+
}.merge(opts)
|
45
|
+
end
|
46
|
+
|
47
|
+
def selenium_server(opts = {})
|
48
|
+
{
|
49
|
+
type: :remote,
|
50
|
+
url: ENV['CI_SELENIUM_SERVER_URL'] || 'http://127.0.0.1:4444/wd/hub',
|
51
|
+
capabilities: {
|
52
|
+
browser_name: :firefox
|
53
|
+
}
|
54
|
+
}.merge(opts)
|
55
|
+
end
|
56
|
+
|
57
|
+
def driver_for(browser_name)
|
58
|
+
CapybaraSelenium::GlobalConfigurator.new(
|
59
|
+
app_server: app_server,
|
60
|
+
selenium_server: selenium_server.merge(
|
61
|
+
capabilities: {
|
62
|
+
browser_name: browser_name
|
63
|
+
})
|
64
|
+
).driver
|
65
|
+
end
|
66
|
+
|
67
|
+
def config_ru_path
|
68
|
+
File.expand_path(File.join(__FILE__, '../dummy_app/config.ru'))
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
World(ContinousIntegration)
|
73
|
+
```
|
74
|
+
|
75
|
+
## Contributing
|
76
|
+
|
77
|
+
1. Fork it ( https://github.com/dsaenztagarro/capybara_selenium/fork )
|
78
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
79
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
80
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
81
|
+
5. Create a new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'bundler/gem_tasks'
|
2
|
+
require 'rubocop/rake_task'
|
3
|
+
require 'rspec/core/rake_task'
|
4
|
+
|
5
|
+
RuboCop::RakeTask.new do |task|
|
6
|
+
task.requires << 'rubocop-rspec'
|
7
|
+
end
|
8
|
+
|
9
|
+
RSpec::Core::RakeTask.new :specs do |task|
|
10
|
+
task.pattern = Dir['spec/**/*_spec.rb']
|
11
|
+
end
|
12
|
+
|
13
|
+
task default: ['specs']
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'capybara_selenium/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'capybara-selenium'
|
8
|
+
spec.version = CapybaraSelenium::VERSION
|
9
|
+
spec.authors = ['David Saenz Tagarro']
|
10
|
+
spec.email = ['david.saenz.tagarro@gmail.com']
|
11
|
+
spec.summary = %q{Dead-simple way to make Capybara and Selenium play together }
|
12
|
+
spec.description = %q{}
|
13
|
+
spec.homepage = ''
|
14
|
+
spec.license = 'MIT'
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ['lib']
|
20
|
+
|
21
|
+
spec.add_runtime_dependency 'capybara'
|
22
|
+
spec.add_runtime_dependency 'selenium-webdriver'
|
23
|
+
|
24
|
+
spec.add_development_dependency 'bundler', '~> 1.6'
|
25
|
+
spec.add_development_dependency 'rake'
|
26
|
+
spec.add_development_dependency 'rspec'
|
27
|
+
spec.add_development_dependency 'codeclimate-test-reporter'
|
28
|
+
spec.add_development_dependency 'simplecov'
|
29
|
+
spec.add_development_dependency 'coveralls'
|
30
|
+
spec.add_development_dependency 'rubocop'
|
31
|
+
spec.add_development_dependency 'reek'
|
32
|
+
spec.add_development_dependency 'cane'
|
33
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'capybara_selenium/version'
|
2
|
+
require 'capybara_selenium/app_server'
|
3
|
+
require 'capybara_selenium/selenium_server'
|
4
|
+
|
5
|
+
require 'active_support/inflector'
|
6
|
+
|
7
|
+
# Helpers for initializing selenium drivers
|
8
|
+
module CapybaraSelenium
|
9
|
+
# Class for configuring capybara and selenium in order to instance the
|
10
|
+
# desired driver.
|
11
|
+
class GlobalConfigurator
|
12
|
+
include AppServer
|
13
|
+
include SeleniumServer
|
14
|
+
|
15
|
+
def initialize(opts = {})
|
16
|
+
check_options(opts)
|
17
|
+
@app_server = configurator_for :app_server, opts
|
18
|
+
@selenium_server = configurator_for :selenium_server, opts
|
19
|
+
end
|
20
|
+
|
21
|
+
def driver
|
22
|
+
@app_server.apply
|
23
|
+
@selenium_server.apply
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def check_options(opts)
|
29
|
+
fail 'App Server config missing' unless opts[:app_server]
|
30
|
+
fail 'Selenium Server config missing' unless opts[:selenium_server]
|
31
|
+
end
|
32
|
+
|
33
|
+
def configurator_for(*args)
|
34
|
+
configurator_type = args.shift
|
35
|
+
opts = args.first[configurator_type]
|
36
|
+
send "#{configurator_type}_configurator", opts
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module CapybaraSelenium
|
2
|
+
# Responsible for generating an application server object that applies the
|
3
|
+
# configuration needed
|
4
|
+
module AppServer
|
5
|
+
# Base Class for applying to Capybara the configuration of an App Server
|
6
|
+
class BaseConfigurator
|
7
|
+
attr_accessor :server_host, :server_port, :app_type
|
8
|
+
|
9
|
+
def initialize(opts = {})
|
10
|
+
@server_host = opts[:host] || 'localhost'
|
11
|
+
@server_port = opts[:port] || 5000
|
12
|
+
@app_type = opts[:type] || :rack
|
13
|
+
@opts = opts
|
14
|
+
end
|
15
|
+
|
16
|
+
def apply
|
17
|
+
Capybara.server_host = @server_host
|
18
|
+
Capybara.server_port = @server_port
|
19
|
+
Capybara.app_host = "http://#{@server_host}:#{@server_port}"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
# Class responsible for applying to Capybara the configuration of a Rack
|
24
|
+
# Web Application
|
25
|
+
class RackAppConfigurator < BaseConfigurator
|
26
|
+
def apply
|
27
|
+
super
|
28
|
+
path = @opts[:config_ru_path]
|
29
|
+
fail 'Invalid config.ru file path' unless File.exist? path
|
30
|
+
# require 'pry'
|
31
|
+
# binding.pry
|
32
|
+
Capybara.app = Rack::Builder.parse_file(path).first
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def app_server_configurator(opts)
|
37
|
+
('CapybaraSelenium::AppServer::' \
|
38
|
+
"#{ActiveSupport::Inflector.classify(opts[:type])}AppConfigurator")
|
39
|
+
.constantize.new(opts)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
module CapybaraSelenium
|
2
|
+
# Module for applying to Capybara configuration for Selenium Server
|
3
|
+
module SeleniumServer
|
4
|
+
# Class for applying to Capybara configuration for Selenium Server
|
5
|
+
class BaseConfigurator
|
6
|
+
attr_accessor :browser_name
|
7
|
+
|
8
|
+
def initialize(opts = {})
|
9
|
+
@browser_name = opts[:capabilities][:browser_name] || 'firefox'
|
10
|
+
@capabilities = opts[:capabilities] || {}
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
# @return [] The desired capabilities for the browser
|
16
|
+
def desired_capabilities
|
17
|
+
return @desired_capabilities if @desired_capabilities
|
18
|
+
@desired_capabilities = Selenium::WebDriver::Remote::Capabilities
|
19
|
+
.send(browser_name)
|
20
|
+
# @capabilities.keys.each do |key|
|
21
|
+
# @desired_capabilities.send "#{key}=", @capabilities[key]
|
22
|
+
# end
|
23
|
+
end
|
24
|
+
|
25
|
+
def default_capabilities
|
26
|
+
{
|
27
|
+
version: 'ANY',
|
28
|
+
platform: 'ANY'
|
29
|
+
}
|
30
|
+
end
|
31
|
+
|
32
|
+
def method_missing(method)
|
33
|
+
capability = desired_capabilities[method]
|
34
|
+
return capability if capability
|
35
|
+
fail
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
# Applies Capybara specific configuration for selenium remote server
|
40
|
+
class SeleniumRemoteConfigurator < BaseConfigurator
|
41
|
+
attr_accessor :server_url
|
42
|
+
|
43
|
+
def initialize(opts)
|
44
|
+
super
|
45
|
+
@server_url = opts[:server_url] || 'http://127.0.0.1:4444/wd/hub'
|
46
|
+
end
|
47
|
+
|
48
|
+
def apply
|
49
|
+
Capybara.current_driver = driver_name
|
50
|
+
Capybara.javascript_driver = driver_name
|
51
|
+
Capybara.register_driver(driver_name) do |app|
|
52
|
+
Capybara::Selenium::Driver.new(
|
53
|
+
app,
|
54
|
+
browser: :remote,
|
55
|
+
url: server_url,
|
56
|
+
desired_capabilities: desired_capabilities)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
def driver_name
|
61
|
+
"#{browser_name}_#{version}_#{platform}"
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def selenium_server_configurator(opts)
|
66
|
+
('CapybaraSelenium::SeleniumServer::' \
|
67
|
+
"Selenium#{ActiveSupport::Inflector.classify(opts[:type])}Configurator")
|
68
|
+
.constantize.new(opts)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
metadata
ADDED
@@ -0,0 +1,210 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: capybara-selenium
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- David Saenz Tagarro
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-12-13 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: capybara
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: selenium-webdriver
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.6'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.6'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: codeclimate-test-reporter
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: simplecov
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: coveralls
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rubocop
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: reek
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: cane
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
description: ''
|
168
|
+
email:
|
169
|
+
- david.saenz.tagarro@gmail.com
|
170
|
+
executables: []
|
171
|
+
extensions: []
|
172
|
+
extra_rdoc_files: []
|
173
|
+
files:
|
174
|
+
- ".gitignore"
|
175
|
+
- ".ruby-gemset"
|
176
|
+
- ".ruby-version"
|
177
|
+
- Gemfile
|
178
|
+
- LICENSE.txt
|
179
|
+
- README.md
|
180
|
+
- Rakefile
|
181
|
+
- capybara_selenium.gemspec
|
182
|
+
- lib/capybara_selenium.rb
|
183
|
+
- lib/capybara_selenium/app_server.rb
|
184
|
+
- lib/capybara_selenium/selenium_server.rb
|
185
|
+
- lib/capybara_selenium/version.rb
|
186
|
+
homepage: ''
|
187
|
+
licenses:
|
188
|
+
- MIT
|
189
|
+
metadata: {}
|
190
|
+
post_install_message:
|
191
|
+
rdoc_options: []
|
192
|
+
require_paths:
|
193
|
+
- lib
|
194
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
195
|
+
requirements:
|
196
|
+
- - ">="
|
197
|
+
- !ruby/object:Gem::Version
|
198
|
+
version: '0'
|
199
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
200
|
+
requirements:
|
201
|
+
- - ">="
|
202
|
+
- !ruby/object:Gem::Version
|
203
|
+
version: '0'
|
204
|
+
requirements: []
|
205
|
+
rubyforge_project:
|
206
|
+
rubygems_version: 2.2.2
|
207
|
+
signing_key:
|
208
|
+
specification_version: 4
|
209
|
+
summary: Dead-simple way to make Capybara and Selenium play together
|
210
|
+
test_files: []
|