page-object 0.6.1 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. data/ChangeLog +11 -0
  2. data/features/html/nested_elements.html +20 -0
  3. data/features/javascript.feature +14 -0
  4. data/features/nested_elements.feature +11 -0
  5. data/features/sample-app/public/jquery-1.3.2.js +4376 -0
  6. data/features/sample-app/public/jquery.html +30 -0
  7. data/features/sample-app/public/prototype-1.6.0.3.js +4320 -0
  8. data/features/sample-app/public/prototype.html +34 -0
  9. data/features/sample-app/sample_app.rb +36 -0
  10. data/features/step_definitions/javascript_steps.rb +30 -0
  11. data/features/step_definitions/nested_elements_steps.rb +15 -0
  12. data/features/support/ajax_text_environment.rb +26 -0
  13. data/lib/page-object.rb +45 -1
  14. data/lib/page-object/javascript/jquery.rb +14 -0
  15. data/lib/page-object/javascript/prototype.rb +14 -0
  16. data/lib/page-object/javascript_framework_facade.rb +76 -0
  17. data/lib/page-object/platforms/selenium_webdriver/ordered_list.rb +10 -4
  18. data/lib/page-object/platforms/selenium_webdriver/unordered_list.rb +10 -4
  19. data/lib/page-object/platforms/watir_webdriver/ordered_list.rb +8 -5
  20. data/lib/page-object/platforms/watir_webdriver/page_object.rb +1 -1
  21. data/lib/page-object/platforms/watir_webdriver/select_list.rb +1 -1
  22. data/lib/page-object/platforms/watir_webdriver/text_area.rb +1 -1
  23. data/lib/page-object/platforms/watir_webdriver/unordered_list.rb +8 -5
  24. data/lib/page-object/version.rb +1 -1
  25. data/page-object.gemspec +3 -2
  26. data/spec/page-object/elements/ordered_list_spec.rb +26 -15
  27. data/spec/page-object/elements/select_list_spec.rb +1 -0
  28. data/spec/page-object/elements/unordered_list_spec.rb +22 -10
  29. data/spec/page-object/javascript_framework_facade_spec.rb +61 -0
  30. data/spec/page-object/page-object_spec.rb +26 -1
  31. metadata +46 -14
@@ -38,7 +38,7 @@ module PageObject
38
38
  # @return [Array<String>] An array of strings representing the text value of the currently selected options.
39
39
  #
40
40
  def selected_options
41
- @element.selected_options
41
+ @element.selected_options.map { |e| e.text }.compact
42
42
  end
43
43
 
44
44
  #
@@ -8,7 +8,7 @@ module PageObject
8
8
  # Set the value of the TextArea
9
9
  #
10
10
  def value=(new_value)
11
- element.send_keys(new_value)
11
+ element.set(new_value)
12
12
  end
13
13
 
14
14
  #
@@ -10,24 +10,27 @@ module PageObject
10
10
  # @return [PageObject::Elements::ListItem]
11
11
  #
12
12
  def [](idx)
13
- eles = list_items
14
- Object::PageObject::Elements::ListItem.new(eles[idx], :platform => :watir_webdriver)
13
+ Object::PageObject::Elements::ListItem.new(children[idx], :platform => :watir_webdriver)
15
14
  end
16
15
 
17
16
  #
18
17
  # Return the number of items contained in the unordered list
19
18
  #
20
19
  def items
21
- list_items.size
20
+ children.size
22
21
  end
23
22
 
24
23
  private
25
24
 
25
+ def children
26
+ list_items.find_all { |item| item.parent == element }
27
+ end
28
+
26
29
  def list_items
27
- element.wd.find_elements(:xpath, child_xpath)
30
+ element.uls(:xpath => child_xpath)
28
31
  end
29
32
 
30
33
  end
31
34
  end
32
35
  end
33
- end
36
+ end
@@ -1,4 +1,4 @@
1
1
  module PageObject
2
2
  # @private
3
- VERSION = "0.6.1"
3
+ VERSION = "0.6.2"
4
4
  end
@@ -19,11 +19,12 @@ Gem::Specification.new do |s|
19
19
  s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
20
20
  s.require_paths = ["lib"]
21
21
 
22
- s.add_dependency 'watir-webdriver', '>= 0.4.1'
23
- s.add_dependency 'selenium-webdriver', '>= 2.17.0'
22
+ s.add_dependency 'watir-webdriver', '>= 0.5.3'
23
+ s.add_dependency 'selenium-webdriver', '>= 2.19.0'
24
24
 
25
25
  s.add_development_dependency 'rspec', '>= 2.6.0'
26
26
  s.add_development_dependency 'cucumber', '>= 1.1.0'
27
27
  s.add_development_dependency 'yard', '>= 0.7.2'
28
+ s.add_development_dependency 'rack', '>= 1.0'
28
29
 
29
30
  end
@@ -30,19 +30,24 @@ describe PageObject::Elements::OrderedList do
30
30
  context "for watir" do
31
31
  it "should return a list item when indexed" do
32
32
  ol = PageObject::Elements::OrderedList.new(ol_element, :platform => :watir_webdriver)
33
- ol_element.stub(:wd).and_return(ol_element)
34
- ol_element.should_receive(:find_elements).with(:xpath, ".//child::li").and_return(ol_element)
35
- ol_element.stub(:[]).and_return(ol_element)
36
- ol[1].should be_instance_of PageObject::Elements::ListItem
33
+ ol_element.stub(:ols).and_return([ol_element])
34
+ ol_element.stub(:find_elements).and_return(ol_element)
35
+ ol_element.stub(:map).and_return([ol_element])
36
+ ol_element.stub(:parent).and_return(ol_element)
37
+ ol_element.stub(:element).and_return(ol_element)
38
+ ol_element.stub(:==).and_return(true)
39
+ ol[1]
37
40
  end
38
41
 
39
42
  it "should know how many list items it contains" do
40
43
  ol = PageObject::Elements::OrderedList.new(ol_element, :platform => :watir_webdriver)
41
- ol_element.stub(:wd).and_return(ol_element)
42
- ol_element.should_receive(:find_elements).with(:xpath, ".//child::li").and_return(ol_element)
43
- ol_element.stub(:[]).and_return(ol_element)
44
- ol_element.stub(:size).and_return(5)
45
- ol.items.should == 5
44
+ ol_element.stub(:ols).and_return([ol_element])
45
+ ol_element.stub(:find_elements).and_return(ol_element)
46
+ ol_element.stub(:map).and_return([ol_element])
47
+ ol_element.stub(:parent).and_return(ol_element)
48
+ ol_element.stub(:element).and_return(ol_element)
49
+ ol_element.stub(:==).and_return(true)
50
+ ol.items.should == 1
46
51
  end
47
52
 
48
53
  it "should iterate over the list items" do
@@ -58,16 +63,22 @@ describe PageObject::Elements::OrderedList do
58
63
  context "for selenium" do
59
64
  it "should return a list item when indexed" do
60
65
  ol = PageObject::Elements::OrderedList.new(ol_element, :platform => :selenium_webdriver)
61
- ol_element.should_receive(:find_elements).with(:xpath, ".//child::li").and_return(ol_element)
62
- ol_element.should_receive(:[]).and_return(ol_element)
63
- ol[1].should be_instance_of PageObject::Elements::ListItem
66
+ ol_element.should_receive(:find_elements).and_return(ol_element)
67
+ ol_element.should_receive(:map).and_return([ol_element])
68
+ ol_element.should_receive(:parent).and_return(ol_element)
69
+ ol_element.should_receive(:element).and_return(ol_element)
70
+ ol_element.should_receive(:==).and_return(true)
71
+ ol[1]
64
72
  end
65
73
 
66
74
  it "should know how many list items it contains" do
67
75
  ol = PageObject::Elements::OrderedList.new(ol_element, :platform => :selenium_webdriver)
68
- ol_element.should_receive(:find_elements).with(:xpath, ".//child::li").and_return(ol_element)
69
- ol_element.should_receive(:size).and_return(5)
70
- ol.items.should == 5
76
+ ol_element.should_receive(:find_elements).and_return(ol_element)
77
+ ol_element.should_receive(:map).and_return([ol_element])
78
+ ol_element.should_receive(:parent).and_return(ol_element)
79
+ ol_element.should_receive(:element).and_return(ol_element)
80
+ ol_element.should_receive(:==).and_return(true)
81
+ ol.items.should == 1
71
82
  end
72
83
 
73
84
  it "should iterate over the list items" do
@@ -54,6 +54,7 @@ describe PageObject::Elements::SelectList do
54
54
 
55
55
  it "should return an array of selected options" do
56
56
  sel_list.stub(:selected_options).and_return(opts)
57
+ sel_list.stub(:text).and_return(sel_list)
57
58
  watir_sel_list.selected_options.should == opts
58
59
  end
59
60
 
@@ -30,18 +30,24 @@ describe PageObject::Elements::UnorderedList do
30
30
  context "for watir" do
31
31
  it "should return a list item when indexed" do
32
32
  ul = PageObject::Elements::UnorderedList.new(ul_element, :platform => :watir_webdriver)
33
- ul_element.stub(:wd).and_return(ul_element)
33
+ ul_element.stub(:uls).and_return([ul_element])
34
34
  ul_element.stub(:find_elements).and_return(ul_element)
35
- ul_element.stub(:[])
36
- ul[1].should be_instance_of PageObject::Elements::ListItem
35
+ ul_element.stub(:map).and_return([ul_element])
36
+ ul_element.stub(:parent).and_return(ul_element)
37
+ ul_element.stub(:element).and_return(ul_element)
38
+ ul_element.stub(:==).and_return(true)
39
+ ul[1]
37
40
  end
38
41
 
39
42
  it "should know how many items it contains" do
40
43
  ul = PageObject::Elements::UnorderedList.new(ul_element, :platform => :watir_webdriver)
41
- ul_element.stub(:wd).and_return(ul_element)
44
+ ul_element.stub(:uls).and_return([ul_element])
42
45
  ul_element.stub(:find_elements).and_return(ul_element)
43
- ul_element.stub(:size).and_return(5)
44
- ul.items.should == 5
46
+ ul_element.stub(:map).and_return([ul_element])
47
+ ul_element.stub(:parent).and_return(ul_element)
48
+ ul_element.stub(:element).and_return(ul_element)
49
+ ul_element.stub(:==).and_return(true)
50
+ ul.items.should == 1
45
51
  end
46
52
 
47
53
  it "should know how to iterate over the items" do
@@ -58,15 +64,21 @@ describe PageObject::Elements::UnorderedList do
58
64
  it "should return a list item when indexed" do
59
65
  ul = PageObject::Elements::UnorderedList.new(ul_element, :platform => :selenium_webdriver)
60
66
  ul_element.should_receive(:find_elements).and_return(ul_element)
61
- ul_element.stub(:[])
62
- ul[1].should be_instance_of PageObject::Elements::ListItem
67
+ ul_element.should_receive(:map).and_return([ul_element])
68
+ ul_element.should_receive(:parent).and_return(ul_element)
69
+ ul_element.should_receive(:element).and_return(ul_element)
70
+ ul_element.should_receive(:==).and_return(true)
71
+ ul[1]
63
72
  end
64
73
 
65
74
  it "should know how many items it contains" do
66
75
  ul = PageObject::Elements::UnorderedList.new(ul_element, :platform => :selenium_webdriver)
67
76
  ul_element.should_receive(:find_elements).and_return(ul_element)
68
- ul_element.should_receive(:size).and_return(5)
69
- ul.items.should == 5
77
+ ul_element.should_receive(:map).and_return([ul_element])
78
+ ul_element.should_receive(:parent).and_return(ul_element)
79
+ ul_element.should_receive(:element).and_return(ul_element)
80
+ ul_element.should_receive(:==).and_return(true)
81
+ ul.items.should == 1
70
82
  end
71
83
 
72
84
  it "should know how to iterate over the items" do
@@ -0,0 +1,61 @@
1
+ require 'spec_helper'
2
+
3
+ class TestClass
4
+ include PageObject::JavascriptFrameworkFacade
5
+ end
6
+
7
+
8
+ describe PageObject::JavascriptFrameworkFacade do
9
+ let(:facade) { PageObject::JavascriptFrameworkFacade }
10
+
11
+ it "should allow the selection of a javascript framework" do
12
+ facade.framework = :jquery
13
+ facade.framework.should == :jquery
14
+ end
15
+
16
+ it "should register the jQuery script builder" do
17
+ facade.framework = :jquery
18
+ facade.script_builder.should == ::PageObject::Javascript::JQuery
19
+ end
20
+
21
+ it "should return script for pending requests in jQuery" do
22
+ facade.framework = :jquery
23
+ facade.pending_requests.should == 'return jQuery.active'
24
+ end
25
+
26
+ it "should register the Prototype script builder" do
27
+ facade.framework = :prototype
28
+ facade.script_builder.should == ::PageObject::Javascript::Prototype
29
+ end
30
+
31
+ it "should return script for pending requests in Prototype" do
32
+ facade.framework = :prototype
33
+ facade.pending_requests.should == 'return Ajax.activeRequestCount'
34
+ end
35
+
36
+ it "should not allow you to set the framework to one it does not know about" do
37
+ expect{ facade.framework = :blah }.to raise_error
38
+ end
39
+
40
+ it "should allow you to add a new javascript framework" do
41
+ module GoodFake
42
+ def self.pending_requests
43
+ "fake"
44
+ end
45
+ end
46
+
47
+ facade.add_framework(:blah, GoodFake)
48
+ facade.framework = :blah
49
+ facade.pending_requests.should == "fake"
50
+ end
51
+
52
+ it "should not allow you to add a new javascript framework that is invalid" do
53
+ module BadFake
54
+ def self.blah
55
+ end
56
+ end
57
+
58
+ expect{ facade.add_framework(:blah, BadFake) }.to raise_error
59
+ end
60
+ end
61
+
@@ -12,6 +12,18 @@ describe PageObject do
12
12
  let(:selenium_browser) { mock_selenium_browser }
13
13
  let(:watir_page_object) { PageObjectTestPageObject.new(watir_browser) }
14
14
  let(:selenium_page_object) { PageObjectTestPageObject.new(selenium_browser) }
15
+
16
+ context "setting values for the Javascript Framework" do
17
+ it "should set the javascript framework" do
18
+ PageObject::JavascriptFrameworkFacade.should_receive(:framework=)
19
+ PageObject.javascript_framework = :foo
20
+ end
21
+
22
+ it "should add a new Javascript Framework" do
23
+ PageObject::JavascriptFrameworkFacade.should_receive(:add_framework)
24
+ PageObject.add_framework(:foo, :bar)
25
+ end
26
+ end
15
27
 
16
28
  context "when created with a watir-webdriver browser" do
17
29
  it "should include the WatirPageObject module" do
@@ -91,6 +103,12 @@ describe PageObject do
91
103
  watir_page_object.wait_until(5, "too long")
92
104
  end
93
105
 
106
+ it "should wait until there are no pending ajax requests" do
107
+ PageObject::JavascriptFrameworkFacade.should_receive(:pending_requests).and_return('pending requests')
108
+ watir_browser.should_receive(:execute_script).with('pending requests').and_return(0)
109
+ watir_page_object.wait_for_ajax
110
+ end
111
+
94
112
  it "should override alert popup behavior" do
95
113
  watir_browser.should_receive(:wd).twice.and_return(watir_browser)
96
114
  watir_browser.should_receive(:execute_script).twice
@@ -150,7 +168,8 @@ describe PageObject do
150
168
  end
151
169
 
152
170
  it "should know how to clear all of the cookies from the browser" do
153
- watir_browser.should_receive(:clear_cookies)
171
+ watir_browser.should_receive(:cookies).and_return(watir_browser)
172
+ watir_browser.should_receive(:clear)
154
173
  watir_page_object.clear_cookies
155
174
  end
156
175
 
@@ -189,6 +208,12 @@ describe PageObject do
189
208
  selenium_page_object.wait_until(5, 'too long')
190
209
  end
191
210
 
211
+ it "should wait until there are no pending ajax requests" do
212
+ PageObject::JavascriptFrameworkFacade.should_receive(:pending_requests).and_return('pending requests')
213
+ selenium_browser.should_receive(:execute_script).with('pending requests').and_return(0)
214
+ selenium_page_object.wait_for_ajax
215
+ end
216
+
192
217
  it "should override alert popup behavior" do
193
218
  selenium_browser.should_receive(:execute_script).twice
194
219
  selenium_page_object.alert do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: page-object
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,33 +9,33 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-18 00:00:00.000000000 Z
12
+ date: 2012-02-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: watir-webdriver
16
- requirement: &70219783537560 !ruby/object:Gem::Requirement
16
+ requirement: &70155418362080 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.4.1
21
+ version: 0.5.3
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70219783537560
24
+ version_requirements: *70155418362080
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: selenium-webdriver
27
- requirement: &70219783530900 !ruby/object:Gem::Requirement
27
+ requirement: &70155418361240 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
31
31
  - !ruby/object:Gem::Version
32
- version: 2.17.0
32
+ version: 2.19.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70219783530900
35
+ version_requirements: *70155418361240
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70219789108140 !ruby/object:Gem::Requirement
38
+ requirement: &70155418375380 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 2.6.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70219789108140
46
+ version_requirements: *70155418375380
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: cucumber
49
- requirement: &70219789106820 !ruby/object:Gem::Requirement
49
+ requirement: &70155418374700 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.1.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70219789106820
57
+ version_requirements: *70155418374700
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: yard
60
- requirement: &70219789105960 !ruby/object:Gem::Requirement
60
+ requirement: &70155418374020 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,18 @@ dependencies:
65
65
  version: 0.7.2
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70219789105960
68
+ version_requirements: *70155418374020
69
+ - !ruby/object:Gem::Dependency
70
+ name: rack
71
+ requirement: &70155418373300 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '1.0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *70155418373300
69
80
  description: Page Object DSL that works with both Watir and Selenium
70
81
  email:
71
82
  - jeff.morgan@leandog.com
@@ -114,6 +125,7 @@ files:
114
125
  - features/html/static_elements.html
115
126
  - features/html/success.html
116
127
  - features/image.feature
128
+ - features/javascript.feature
117
129
  - features/link.feature
118
130
  - features/list_item.feature
119
131
  - features/modal_dialog.feature
@@ -123,6 +135,11 @@ files:
123
135
  - features/page_level_actions.feature
124
136
  - features/paragraph.feature
125
137
  - features/radio_button.feature
138
+ - features/sample-app/public/jquery-1.3.2.js
139
+ - features/sample-app/public/jquery.html
140
+ - features/sample-app/public/prototype-1.6.0.3.js
141
+ - features/sample-app/public/prototype.html
142
+ - features/sample-app/sample_app.rb
126
143
  - features/select_list.feature
127
144
  - features/span.feature
128
145
  - features/step_definitions/accessor_steps.rb
@@ -137,6 +154,7 @@ files:
137
154
  - features/step_definitions/headings_steps.rb
138
155
  - features/step_definitions/hidden_field_steps.rb
139
156
  - features/step_definitions/image_steps.rb
157
+ - features/step_definitions/javascript_steps.rb
140
158
  - features/step_definitions/link_steps.rb
141
159
  - features/step_definitions/list_item_steps.rb
142
160
  - features/step_definitions/modal_dialog_steps.rb
@@ -154,6 +172,7 @@ files:
154
172
  - features/step_definitions/text_area_steps.rb
155
173
  - features/step_definitions/text_field_steps.rb
156
174
  - features/step_definitions/unordered_list_steps.rb
175
+ - features/support/ajax_text_environment.rb
157
176
  - features/support/env.rb
158
177
  - features/support/hooks.rb
159
178
  - features/support/page.rb
@@ -192,6 +211,9 @@ files:
192
211
  - lib/page-object/elements/text_area.rb
193
212
  - lib/page-object/elements/text_field.rb
194
213
  - lib/page-object/elements/unordered_list.rb
214
+ - lib/page-object/javascript/jquery.rb
215
+ - lib/page-object/javascript/prototype.rb
216
+ - lib/page-object/javascript_framework_facade.rb
195
217
  - lib/page-object/loads_platform.rb
196
218
  - lib/page-object/nested_elements.rb
197
219
  - lib/page-object/page_factory.rb
@@ -259,6 +281,7 @@ files:
259
281
  - spec/page-object/elements/text_field_spec.rb
260
282
  - spec/page-object/elements/unordered_list_spec.rb
261
283
  - spec/page-object/elements/watir_element_spec.rb
284
+ - spec/page-object/javascript_framework_facade_spec.rb
262
285
  - spec/page-object/loads_platform_spec.rb
263
286
  - spec/page-object/page-object_spec.rb
264
287
  - spec/page-object/page_factory_spec.rb
@@ -322,6 +345,7 @@ test_files:
322
345
  - features/html/static_elements.html
323
346
  - features/html/success.html
324
347
  - features/image.feature
348
+ - features/javascript.feature
325
349
  - features/link.feature
326
350
  - features/list_item.feature
327
351
  - features/modal_dialog.feature
@@ -331,6 +355,11 @@ test_files:
331
355
  - features/page_level_actions.feature
332
356
  - features/paragraph.feature
333
357
  - features/radio_button.feature
358
+ - features/sample-app/public/jquery-1.3.2.js
359
+ - features/sample-app/public/jquery.html
360
+ - features/sample-app/public/prototype-1.6.0.3.js
361
+ - features/sample-app/public/prototype.html
362
+ - features/sample-app/sample_app.rb
334
363
  - features/select_list.feature
335
364
  - features/span.feature
336
365
  - features/step_definitions/accessor_steps.rb
@@ -345,6 +374,7 @@ test_files:
345
374
  - features/step_definitions/headings_steps.rb
346
375
  - features/step_definitions/hidden_field_steps.rb
347
376
  - features/step_definitions/image_steps.rb
377
+ - features/step_definitions/javascript_steps.rb
348
378
  - features/step_definitions/link_steps.rb
349
379
  - features/step_definitions/list_item_steps.rb
350
380
  - features/step_definitions/modal_dialog_steps.rb
@@ -362,6 +392,7 @@ test_files:
362
392
  - features/step_definitions/text_area_steps.rb
363
393
  - features/step_definitions/text_field_steps.rb
364
394
  - features/step_definitions/unordered_list_steps.rb
395
+ - features/support/ajax_text_environment.rb
365
396
  - features/support/env.rb
366
397
  - features/support/hooks.rb
367
398
  - features/support/page.rb
@@ -400,6 +431,7 @@ test_files:
400
431
  - spec/page-object/elements/text_field_spec.rb
401
432
  - spec/page-object/elements/unordered_list_spec.rb
402
433
  - spec/page-object/elements/watir_element_spec.rb
434
+ - spec/page-object/javascript_framework_facade_spec.rb
403
435
  - spec/page-object/loads_platform_spec.rb
404
436
  - spec/page-object/page-object_spec.rb
405
437
  - spec/page-object/page_factory_spec.rb