selenium_fury 1.0.5 → 1.0.6

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 CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MDY3ZThmNzVkMTM5OGRmMjljMmZiZjJiMjQ2YzU1ZjA1MTRiNDMwNA==
5
- data.tar.gz: !binary |-
6
- OWVlZTZjZGRlZTNhNGM5NTA1Njc5ZWM5MDZjZWQ0ZDlhYTkzYjM2Nw==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- ODE2ZjBkZTkzNTZiNDU1ZTk2ZmVmN2JkY2Q3Mjc4OTBlNjNiODFkODE1NzE0
10
- NTcwYTIwMDE2NGRkYWI4NDczYmYzNmY1YWM3MGI4YzVlYTAzZWRmNWJkNjRj
11
- ODFiZDBiYmQ1Y2EyYzc5YTMwNWE5MjdhYTNhMjU1NTVhYjI3Nzg=
12
- data.tar.gz: !binary |-
13
- ZTAwYTUyN2E1Nzk0MzczNWY3ODk4MzI1ZTUwOTgxOTRiZWM1ZDBlOGNlYTY5
14
- MDU3ZjY1ODBjYWU4NWI2ODVkZWRiZjFhYzIxNDk4MWJiOWVlODM5ODYwNTFk
15
- ZTQ0Y2Y2N2ZlZDcyMDYyNzdkMTczMzQ4YmJhMDlkZTdhYmY3NDY=
2
+ SHA1:
3
+ metadata.gz: 47a865edac170557b0e09a6f14cee59f9ed30f40
4
+ data.tar.gz: 01218e3f50951dacf34a6ee6111cc7f0b64156c4
5
+ SHA512:
6
+ metadata.gz: f3b275947b365318bb8a18a05e5a64908b27f1d3607deb2116adb5a6e871e5faee366092c20ed8308b2f0b14cedf586e4ac6c7779f80d044b3848295ab5f0ec4
7
+ data.tar.gz: 1a45d7087df95c4595c14929f7ee3b08d8ad64eaec61b0a10438195e407729c4a3d2d3051858613bc6bf825f5304ac36be094de6572f3f7423f93b12e9514318
@@ -23,6 +23,7 @@ module SeleniumFury
23
23
  puts "class #{page_class}"
24
24
  page_object=page_class.new(driver)
25
25
  raise "Could not find web driver elements in #{page_class}" if page_class.elements.nil?
26
+ page_source = Nokogiri::HTML(@driver.page_source) if validate_tags.fetch(:verification_type, nil) == :nokogiri
26
27
  page_class.elements.each do |web_driver_element_name|
27
28
  puts "\tValidating #{web_driver_element_name}"
28
29
  begin
@@ -44,11 +45,20 @@ module SeleniumFury
44
45
  else
45
46
  true
46
47
  end
47
- if validate_element && !element_obj.present?
48
- puts "\t\t\tCould not find #{web_driver_element_name}"
49
- missing_elements.push(web_driver_element_name)
48
+ if validate_element
49
+ if validate_tags.fetch(:verification_type, nil) == :nokogiri && element_obj.location.keys.first == :css
50
+ css_value = element_obj.location.invert.keys.first
51
+ element_present = page_source.css(css_value).size >= 1
52
+ else
53
+ element_present = element_obj.present?
54
+ end
55
+ unless element_present
56
+ puts "\t\t\tCould not find #{web_driver_element_name}"
57
+ missing_elements.push(web_driver_element_name)
58
+ end
59
+ else
60
+ skipped_elements.push(web_driver_element_name)
50
61
  end
51
- skipped_elements.push(web_driver_element_name) unless validate_element
52
62
  end
53
63
  if missing_elements.length > 0
54
64
  puts "Missing Elements:"
@@ -1,3 +1,3 @@
1
1
  module SeleniumFury
2
- VERSION = "1.0.5"
2
+ VERSION = "1.0.6"
3
3
  end
@@ -229,7 +229,7 @@ describe PageObject do
229
229
  it 'should error immediately with traditional element check and implicit wait not set' do
230
230
  start_time = Time.now
231
231
  expect { driver.find_element(id: 'not a element') }.
232
- to raise_exception(Selenium::WebDriver::Error::NoSuchElementError, 'The element could not be found')
232
+ to raise_exception(Selenium::WebDriver::Error::NoSuchElementError)
233
233
  (Time.now-start_time).should < 1
234
234
  end
235
235
 
@@ -238,7 +238,7 @@ describe PageObject do
238
238
 
239
239
  start_time = Time.now
240
240
  expect { driver.find_element(id: 'not a element') }.
241
- to raise_exception(Selenium::WebDriver::Error::NoSuchElementError, 'The element could not be found')
241
+ to raise_exception(Selenium::WebDriver::Error::NoSuchElementError)
242
242
  (Time.now-start_time).should > 2
243
243
  end
244
244
 
@@ -254,7 +254,7 @@ describe PageObject do
254
254
 
255
255
  start_time = Time.now
256
256
  expect { driver.find_element(id: 'not a element') }.
257
- to raise_exception(Selenium::WebDriver::Error::NoSuchElementError, 'The element could not be found')
257
+ to raise_exception(Selenium::WebDriver::Error::NoSuchElementError)
258
258
  (Time.now-start_time).should > 2
259
259
  end
260
260
  end
@@ -7,9 +7,13 @@ describe SeleniumFury::SeleniumWebDriver::PageValidator do
7
7
 
8
8
  context "with present elements" do
9
9
 
10
- it "should not raise an error when validating" do
10
+ it "should not raise an error when validating with Selenium" do
11
11
  expect { validate(TestPage) }.to_not raise_error
12
12
  end
13
+
14
+ it "should not raise an error when validating with Nokogiri" do
15
+ expect {validate(TestPage, {verification_type: :nokogiri})}.to_not raise_error
16
+ end
13
17
  end
14
18
 
15
19
  context "with missing elements" do
@@ -37,7 +41,7 @@ describe SeleniumFury::SeleniumWebDriver::PageValidator do
37
41
 
38
42
  it "should validate everything not hard coded when no tags are passed" do
39
43
  expect { validate(SkippedElement) }.
40
- to raise_exception(RuntimeError, "Found Missing Elements: [:foo_element, :bar_element, :multiple_tag, :no_tag]")
44
+ to raise_exception(RuntimeError, "Found Missing Elements: [:foo_element, :bar_element, :multiple_tag, :no_tag]")
41
45
  end
42
46
 
43
47
  it "should validate all elements where all tags defined in the Page Object are passed in with the test" do
@@ -62,5 +66,6 @@ describe SeleniumFury::SeleniumWebDriver::PageValidator do
62
66
  expect { validate(SkippedElement, {validate_any: [:foo], validate_all: [:bar]}) }.
63
67
  to raise_exception(RuntimeError, "Can't use both :validate_any and :validate_all tags")
64
68
  end
69
+
65
70
  end
66
71
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: selenium_fury
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Sims
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-01 00:00:00.000000000 Z
11
+ date: 2013-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: selenium-webdriver
@@ -56,42 +56,42 @@ dependencies:
56
56
  name: cucumber
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ! '>='
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ! '>='
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: redcarpet
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ! '>='
73
+ - - '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ! '>='
80
+ - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ! '>='
87
+ - - '>='
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ! '>='
94
+ - - '>='
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
@@ -112,14 +112,14 @@ dependencies:
112
112
  name: parallel_tests
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ! '>='
115
+ - - '>='
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ! '>='
122
+ - - '>='
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  description: Generate and validate page objects with this page object factory for
@@ -178,12 +178,12 @@ require_paths:
178
178
  - lib
179
179
  required_ruby_version: !ruby/object:Gem::Requirement
180
180
  requirements:
181
- - - ! '>='
181
+ - - '>='
182
182
  - !ruby/object:Gem::Version
183
183
  version: '0'
184
184
  required_rubygems_version: !ruby/object:Gem::Requirement
185
185
  requirements:
186
- - - ! '>='
186
+ - - '>='
187
187
  - !ruby/object:Gem::Version
188
188
  version: '0'
189
189
  requirements: []