frameworks-capybara 0.2.6 → 0.2.8
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,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
frameworks-capybara (0.2.
|
4
|
+
frameworks-capybara (0.2.8)
|
5
5
|
capybara (>= 1.0.0)
|
6
6
|
capybara-celerity
|
7
7
|
capybara-mechanize (>= 0.3.0)
|
@@ -13,7 +13,6 @@ GEM
|
|
13
13
|
remote: http://rubygems.org/
|
14
14
|
specs:
|
15
15
|
addressable (2.2.8)
|
16
|
-
bouncy-castle-java (1.5.0146.1)
|
17
16
|
builder (3.0.0)
|
18
17
|
capybara (1.1.2)
|
19
18
|
mime-types (>= 1.16)
|
@@ -31,24 +30,21 @@ GEM
|
|
31
30
|
celerity (0.9.2)
|
32
31
|
childprocess (0.3.2)
|
33
32
|
ffi (~> 1.0.6)
|
34
|
-
cucumber (1.
|
33
|
+
cucumber (1.2.0)
|
35
34
|
builder (>= 2.1.2)
|
36
|
-
diff-lcs (>= 1.1.
|
37
|
-
gherkin (~> 2.
|
35
|
+
diff-lcs (>= 1.1.3)
|
36
|
+
gherkin (~> 2.10.0)
|
38
37
|
json (>= 1.4.6)
|
39
|
-
term-ansicolor (>= 1.0.6)
|
40
38
|
diff-lcs (1.1.3)
|
41
39
|
domain_name (0.5.3)
|
42
40
|
unf (~> 0.0.3)
|
43
41
|
ffi (1.0.11)
|
44
|
-
gherkin (2.
|
42
|
+
gherkin (2.10.0)
|
45
43
|
json (>= 1.4.6)
|
46
|
-
|
47
|
-
bouncy-castle-java (>= 1.5.0146.1)
|
48
|
-
json (1.7.0)
|
44
|
+
json (1.7.3)
|
49
45
|
libwebsocket (0.1.3)
|
50
46
|
addressable
|
51
|
-
mechanize (2.
|
47
|
+
mechanize (2.5.1)
|
52
48
|
domain_name (~> 0.5, >= 0.5.1)
|
53
49
|
mime-types (~> 1.17, >= 1.17.2)
|
54
50
|
net-http-digest_auth (~> 1.1, >= 1.1.1)
|
@@ -57,8 +53,8 @@ GEM
|
|
57
53
|
ntlm-http (~> 0.1, >= 0.1.1)
|
58
54
|
webrobots (~> 0.0, >= 0.0.9)
|
59
55
|
mime-types (1.18)
|
60
|
-
multi_json (1.3.
|
61
|
-
net-http-digest_auth (1.2)
|
56
|
+
multi_json (1.3.5)
|
57
|
+
net-http-digest_auth (1.2.1)
|
62
58
|
net-http-persistent (2.6)
|
63
59
|
nokogiri (1.5.2)
|
64
60
|
ntlm-http (0.1.1)
|
@@ -66,14 +62,14 @@ GEM
|
|
66
62
|
rack-test (0.6.1)
|
67
63
|
rack (>= 1.0)
|
68
64
|
rake (0.9.2.2)
|
69
|
-
rspec (2.
|
70
|
-
rspec-core (~> 2.
|
71
|
-
rspec-expectations (~> 2.
|
72
|
-
rspec-mocks (~> 2.
|
73
|
-
rspec-core (2.
|
74
|
-
rspec-expectations (2.
|
65
|
+
rspec (2.10.0)
|
66
|
+
rspec-core (~> 2.10.0)
|
67
|
+
rspec-expectations (~> 2.10.0)
|
68
|
+
rspec-mocks (~> 2.10.0)
|
69
|
+
rspec-core (2.10.1)
|
70
|
+
rspec-expectations (2.10.0)
|
75
71
|
diff-lcs (~> 1.1.3)
|
76
|
-
rspec-mocks (2.
|
72
|
+
rspec-mocks (2.10.1)
|
77
73
|
rubyzip (0.9.8)
|
78
74
|
selenium-webdriver (2.21.2)
|
79
75
|
childprocess (>= 0.2.5)
|
@@ -81,7 +77,6 @@ GEM
|
|
81
77
|
libwebsocket (~> 0.1.3)
|
82
78
|
multi_json (~> 1.0)
|
83
79
|
rubyzip
|
84
|
-
term-ansicolor (1.0.7)
|
85
80
|
unf (0.0.5)
|
86
81
|
unf_ext
|
87
82
|
unf_ext (0.0.4)
|
@@ -93,7 +88,6 @@ GEM
|
|
93
88
|
nokogiri (~> 1.3)
|
94
89
|
|
95
90
|
PLATFORMS
|
96
|
-
java
|
97
91
|
ruby
|
98
92
|
|
99
93
|
DEPENDENCIES
|
data/lib/frameworks/cucumber.rb
CHANGED
@@ -18,7 +18,9 @@ module Frameworks
|
|
18
18
|
#Generate base urls to use in Cucumber step defs
|
19
19
|
def generate_base_urls
|
20
20
|
environment = ENV['ENVIRONMENT'].downcase #be defensive
|
21
|
+
|
21
22
|
set_scheme
|
23
|
+
|
22
24
|
if(environment =='sandbox')
|
23
25
|
@base_url = @sandbox + @bbc_domain
|
24
26
|
@ssl_base_url = @sslsandbox + @bbc_domain
|
@@ -37,6 +39,7 @@ module Frameworks
|
|
37
39
|
@static_base_url = @static_prefix.chop + @bbci_domain if environment == 'live'
|
38
40
|
@open_base_url = @open_prefix + environment + @bbc_domain
|
39
41
|
end
|
42
|
+
|
40
43
|
proxy = ENV['http_proxy'] || ENV['HTTP_PROXY']
|
41
44
|
@proxy_host = proxy.scan(/http:\/\/(.*):80/)[0][0] if proxy
|
42
45
|
end
|
@@ -88,10 +91,18 @@ Before do
|
|
88
91
|
#it was either this or a monkey patch - need to think about pushing a softer reset change to capybara-mechanize to override this
|
89
92
|
http_proxy = ENV['HTTP_PROXY'] || ENV['http_proxy']
|
90
93
|
if page.driver.class == Capybara::Mechanize::Driver
|
91
|
-
|
94
|
+
|
95
|
+
if ENV['FW_CERT_LOCATION']
|
96
|
+
page.driver.browser.agent.cert, page.driver.browser.agent.key =
|
97
|
+
ENV['FW_CERT_LOCATION'],
|
98
|
+
ENV['FW_CERT_LOCATION']
|
99
|
+
end
|
100
|
+
|
92
101
|
page.driver.browser.agent.ca_file = ENV['CA_CERT_LOCATION'] if ENV['CA_CERT_LOCATION']
|
102
|
+
|
93
103
|
#TODO: Fix proxy logic globally...use system proxy instead of PROXY_URL
|
94
104
|
page.driver.browser.agent.set_proxy(http_proxy.scan(/http:\/\/(.*):80/).to_s,80) if http_proxy
|
105
|
+
|
95
106
|
#This is necessary because Mech2 does not ship with root certs like Mech1 did and boxes may not have the OpenSSL set installed
|
96
107
|
page.driver.browser.agent.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
97
108
|
end
|
@@ -61,6 +61,12 @@ class Capybara::Mechanize::Driver
|
|
61
61
|
browser.agent.cookie_jar.clear!
|
62
62
|
end
|
63
63
|
|
64
|
+
def delete_cookies_in_domain(domain)
|
65
|
+
cookies.each do |cookie|
|
66
|
+
delete_cookie(cookie[:name]) if cookie[:domain].include?(domain)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
64
70
|
FakeURI = Struct.new(:host)
|
65
71
|
def add_cookie(attribs)
|
66
72
|
c = Mechanize::Cookie.new(attribs[:name],attribs[:value])
|
@@ -43,6 +43,10 @@ class Capybara::Selenium::Driver
|
|
43
43
|
def add_cookie(attribs)
|
44
44
|
browser.manage.add_cookie(attribs)
|
45
45
|
end
|
46
|
+
|
47
|
+
def delete_cookies_in_domain(domain)
|
48
|
+
browser.manage.delete_cookies_in_domain(domain)
|
49
|
+
end
|
46
50
|
end
|
47
51
|
|
48
52
|
module Capybara
|
@@ -78,6 +82,8 @@ module Capybara
|
|
78
82
|
driver.add_cookie(attribs)
|
79
83
|
end
|
80
84
|
|
85
|
+
def delete_cookies_in_domain(domain)
|
86
|
+
driver.delete_cookies_in_domain(domain)
|
87
|
+
end
|
81
88
|
end
|
82
|
-
|
83
89
|
end
|
@@ -7,7 +7,6 @@ module Selenium
|
|
7
7
|
module WebDriver
|
8
8
|
module Remote
|
9
9
|
class Capabilities
|
10
|
-
|
11
10
|
def custom_capabilities(opts)
|
12
11
|
@custom_capabilities = opts
|
13
12
|
end
|
@@ -15,7 +14,6 @@ module Selenium
|
|
15
14
|
#hopefuly this alias approach will mean we capture changes in the webdriver method
|
16
15
|
alias_method :old_as_json, :as_json
|
17
16
|
def as_json(opts = nil)
|
18
|
-
|
19
17
|
hash = old_as_json
|
20
18
|
if @custom_capabilities
|
21
19
|
@custom_capabilities.each do |key, value|
|
@@ -24,10 +22,14 @@ module Selenium
|
|
24
22
|
end
|
25
23
|
hash
|
26
24
|
end
|
25
|
+
end
|
27
26
|
|
27
|
+
class Options
|
28
|
+
def delete_cookies_in_domain(domain)
|
29
|
+
delete_all_cookies #proxy to this method as WebDriver only deletes
|
30
|
+
#by domain
|
31
|
+
end
|
28
32
|
end
|
29
33
|
end
|
30
34
|
end
|
31
35
|
end
|
32
|
-
|
33
|
-
|
data/lib/version.rb
CHANGED
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:
|
4
|
+
hash: 7
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 8
|
10
|
+
version: 0.2.8
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- matt robbins
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-05-
|
18
|
+
date: 2012-05-23 00:00:00 +01:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|