frameworks-capybara 0.2.13 → 0.2.14

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.
data/Gemfile.lock CHANGED
@@ -1,11 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- frameworks-capybara (0.2.13)
4
+ frameworks-capybara (0.2.14)
5
5
  capybara (>= 1.0.0)
6
6
  capybara-celerity
7
7
  capybara-mechanize (>= 0.3.0)
8
+ capybara-webkit
8
9
  cucumber (>= 0.10.5)
10
+ headless
9
11
  json
10
12
  w3c_validators
11
13
 
@@ -27,6 +29,9 @@ GEM
27
29
  capybara-mechanize (0.3.0)
28
30
  capybara (~> 1.1)
29
31
  mechanize (~> 2.3)
32
+ capybara-webkit (0.12.1)
33
+ capybara (>= 1.0.0, < 1.2)
34
+ json
30
35
  celerity (0.9.2)
31
36
  childprocess (0.3.3)
32
37
  ffi (~> 1.0.6)
@@ -41,6 +46,7 @@ GEM
41
46
  ffi (1.0.11)
42
47
  gherkin (2.11.1)
43
48
  json (>= 1.4.6)
49
+ headless (0.3.1)
44
50
  json (1.7.3)
45
51
  libwebsocket (0.1.4)
46
52
  addressable
@@ -22,7 +22,9 @@ Gem::Specification.new do |s|
22
22
 
23
23
  s.add_runtime_dependency("capybara", [">=1.0.0"])
24
24
  s.add_runtime_dependency("capybara-mechanize", [">=0.3.0"])
25
+ s.add_runtime_dependency("capybara-webkit")
25
26
  s.add_runtime_dependency("json")
27
+ s.add_runtime_dependency("headless")
26
28
  s.add_runtime_dependency("capybara-celerity")
27
29
  s.add_runtime_dependency("w3c_validators")
28
30
  s.add_runtime_dependency("cucumber", [">= 0.10.5"])
@@ -8,6 +8,7 @@ require 'monkey-patches/net-http-persistent-patches'
8
8
  require 'selenium-webdriver'
9
9
  require 'capybara/mechanize/cucumber'
10
10
  require 'capybara/celerity'
11
+ require 'capybara-webkit'
11
12
 
12
13
  class CapybaraSetup
13
14
 
@@ -53,6 +54,8 @@ class CapybaraSetup
53
54
  @driver = register_celerity_driver(capybara_opts)
54
55
  when :mechanize then
55
56
  @driver = register_mechanize_driver(capybara_opts)
57
+ when :webkit then
58
+ @driver = register_webkit_driver(capybara_opts)
56
59
  else
57
60
  @driver = register_selenium_driver(capybara_opts, selenium_remote_opts, custom_opts)
58
61
  end
@@ -162,6 +165,13 @@ class CapybaraSetup
162
165
  :mechanize
163
166
  end
164
167
 
168
+ def register_webkit_driver(opts)
169
+ Capybara.register_driver :webkit do |app|
170
+ Capybara::Driver::Webkit.new(app)
171
+ end
172
+ :webkit
173
+ end
174
+
165
175
  def clean_opts(opts, *args)
166
176
  args.each do |arg|
167
177
  opts.delete arg
@@ -2,7 +2,8 @@ require 'frameworks/capybara'
2
2
  require 'w3c_validators'
3
3
  require 'monkey-patches/cucumber-patches'
4
4
 
5
- if(ENV['XVFB']=='true')
5
+ #This is hackish but means we only run once in cucumber and not every scenario
6
+ if(ENV['XVFB']=='true' || ENV['BROWSER'] == 'webkit')
6
7
  puts "You have chosen to use XVFB - ensure you have yum installed Xvfb Xorg and firefox"
7
8
  require 'headless'
8
9
  headless = Headless.new
@@ -110,13 +111,17 @@ Before do
110
111
 
111
112
  page.driver.browser.agent.ca_file = ENV['CA_CERT_LOCATION'] if ENV['CA_CERT_LOCATION']
112
113
 
113
- #TODO: Fix proxy logic globally...use system proxy instead of PROXY_URL
114
114
  page.driver.browser.agent.set_proxy(http_proxy.scan(/http:\/\/(.*):80/).to_s,80) if http_proxy
115
115
 
116
116
  #This is necessary because Mech2 does not ship with root certs like Mech1 did and boxes may not have the OpenSSL set installed
117
117
  page.driver.browser.agent.verify_mode = OpenSSL::SSL::VERIFY_NONE
118
118
  end
119
119
 
120
+ #TODO: See if this can be set at the driver level rather than in before do - and only want to start headless once
121
+ if page.driver.class == Capybara::Driver::Webkit
122
+ page.driver.browser.set_proxy(:host => http_proxy.scan(/http:\/\/(.*):80/).to_s,:port => '80') if http_proxy
123
+ end
124
+
120
125
  generate_base_urls
121
126
  end
122
127
 
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module FrameworksCapybara
2
- VERSION = '0.2.13'
2
+ VERSION = '0.2.14'
3
3
  end
@@ -275,7 +275,7 @@ describe CapybaraSetup do
275
275
  end
276
276
  it_behaves_like "Selenium Driver Options Array"
277
277
  end
278
-
278
+
279
279
 
280
280
  context "with Selenium driver and additional firefox preferences" do
281
281
  before do
@@ -294,7 +294,7 @@ describe CapybaraSetup do
294
294
  end
295
295
  it_behaves_like "Selenium Driver Options Array"
296
296
  end
297
-
297
+
298
298
 
299
299
  context "with Selenium driver and new profile and custom prefs" do
300
300
  before do
@@ -312,7 +312,7 @@ describe CapybaraSetup do
312
312
  end
313
313
  it_behaves_like "Selenium Driver Options Array"
314
314
  end
315
-
315
+
316
316
  context "with Remote Selenium driver and specified Chrome Switches" do
317
317
  before do
318
318
  ENV['BROWSER'] = 'remote'
@@ -449,6 +449,21 @@ describe CapybaraSetup do
449
449
  end
450
450
 
451
451
  end
452
+
453
+ describe "should allow Webkit driver to be created" do
454
+ context "with minimal Webkit driver" do
455
+ before do
456
+ ENV['BROWSER'] = 'webkit'
457
+ end
458
+
459
+ it "should be initialized correctly" do
460
+ Capybara.delete_session
461
+ CapybaraSetup.new.driver.should == :webkit
462
+ Capybara.current_session.driver.should be_a_kind_of Capybara::Driver::Webkit
463
+ end
464
+ end
465
+ end
466
+
452
467
  end
453
468
  end
454
469
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: frameworks-capybara
3
3
  version: !ruby/object:Gem::Version
4
- hash: 13
4
+ hash: 11
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 13
10
- version: 0.2.13
9
+ - 14
10
+ version: 0.2.14
11
11
  platform: ruby
12
12
  authors:
13
13
  - matt robbins
@@ -61,7 +61,7 @@ dependencies:
61
61
  segments:
62
62
  - 0
63
63
  version: "0"
64
- name: json
64
+ name: capybara-webkit
65
65
  version_requirements: *id003
66
66
  prerelease: false
67
67
  - !ruby/object:Gem::Dependency
@@ -75,7 +75,7 @@ dependencies:
75
75
  segments:
76
76
  - 0
77
77
  version: "0"
78
- name: capybara-celerity
78
+ name: json
79
79
  version_requirements: *id004
80
80
  prerelease: false
81
81
  - !ruby/object:Gem::Dependency
@@ -89,12 +89,40 @@ dependencies:
89
89
  segments:
90
90
  - 0
91
91
  version: "0"
92
- name: w3c_validators
92
+ name: headless
93
93
  version_requirements: *id005
94
94
  prerelease: false
95
95
  - !ruby/object:Gem::Dependency
96
96
  type: :runtime
97
97
  requirement: &id006 !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ hash: 3
103
+ segments:
104
+ - 0
105
+ version: "0"
106
+ name: capybara-celerity
107
+ version_requirements: *id006
108
+ prerelease: false
109
+ - !ruby/object:Gem::Dependency
110
+ type: :runtime
111
+ requirement: &id007 !ruby/object:Gem::Requirement
112
+ none: false
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ hash: 3
117
+ segments:
118
+ - 0
119
+ version: "0"
120
+ name: w3c_validators
121
+ version_requirements: *id007
122
+ prerelease: false
123
+ - !ruby/object:Gem::Dependency
124
+ type: :runtime
125
+ requirement: &id008 !ruby/object:Gem::Requirement
98
126
  none: false
99
127
  requirements:
100
128
  - - ">="
@@ -106,11 +134,11 @@ dependencies:
106
134
  - 5
107
135
  version: 0.10.5
108
136
  name: cucumber
109
- version_requirements: *id006
137
+ version_requirements: *id008
110
138
  prerelease: false
111
139
  - !ruby/object:Gem::Dependency
112
140
  type: :development
113
- requirement: &id007 !ruby/object:Gem::Requirement
141
+ requirement: &id009 !ruby/object:Gem::Requirement
114
142
  none: false
115
143
  requirements:
116
144
  - - ">="
@@ -120,11 +148,11 @@ dependencies:
120
148
  - 0
121
149
  version: "0"
122
150
  name: rake
123
- version_requirements: *id007
151
+ version_requirements: *id009
124
152
  prerelease: false
125
153
  - !ruby/object:Gem::Dependency
126
154
  type: :development
127
- requirement: &id008 !ruby/object:Gem::Requirement
155
+ requirement: &id010 !ruby/object:Gem::Requirement
128
156
  none: false
129
157
  requirements:
130
158
  - - ">="
@@ -136,7 +164,7 @@ dependencies:
136
164
  - 0
137
165
  version: 1.0.0
138
166
  name: rspec
139
- version_requirements: *id008
167
+ version_requirements: *id010
140
168
  prerelease: false
141
169
  description: Gem to ease the pain of managing capybara driver config and provide a home for common utils and patches
142
170
  email: