page_object_wrapper 1.3.2 → 1.3.3
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/README.md +11 -11
- data/bad_pages/bad_page.rb +2 -0
- data/good_pages/another_test_page.rb +2 -2
- data/good_pages/some_test_page.rb +5 -6
- data/lib/page_object_wrapper/Element.rb +9 -6
- data/lib/page_object_wrapper/Exceptions.rb +1 -1
- data/lib/page_object_wrapper/PageObject.rb +21 -20
- data/lib/page_object_wrapper/version.rb +1 -1
- data/spec/define_page_object_spec.rb +14 -11
- data/spec/{each_page.rb → each_xxx.rb} +0 -0
- data/spec/{feed_elements_spec.rb → feed_xxx_spec.rb} +17 -10
- data/spec/{fire_event_and_validate_spec.rb → fire_xxx_and_validate_xxx_spec.rb} +0 -0
- data/spec/load_spec.rb +6 -3
- data/spec/menu_xxx_spec.rb +29 -0
- data/spec/{open_spec.rb → open_page_spec.rb} +0 -0
- data/spec/open_xxx.rb +0 -0
- data/spec/{select_from_spec.rb → select_from_xxx_spec.rb} +2 -2
- data/spec/{defined_elements_spec.rb → xxx_spec.rb} +0 -0
- metadata +25 -23
- data/spec/get_food_spec.rb +0 -28
data/README.md
CHANGED
@@ -49,8 +49,7 @@ where required attributes are marked with (*)
|
|
49
49
|
elements_set(:test_elements) do
|
50
50
|
text_field(:tf) do
|
51
51
|
locator :id => 'f1'
|
52
|
-
|
53
|
-
fresh_food 'some fresh food'
|
52
|
+
menu :user_defined, 'some food'
|
54
53
|
end
|
55
54
|
|
56
55
|
textarea(:ta) do
|
@@ -59,13 +58,13 @@ where required attributes are marked with (*)
|
|
59
58
|
|
60
59
|
select(:s1) do
|
61
60
|
locator :id => 'f10'
|
62
|
-
fresh_food 'one'
|
63
|
-
missing_food 'three'
|
61
|
+
menu :fresh_food, 'one'
|
62
|
+
menu :missing_food, 'three'
|
64
63
|
end
|
65
64
|
|
66
65
|
select(:s2) do
|
67
|
-
locator :id => 'f11'
|
68
|
-
fresh_food 'one'
|
66
|
+
locator "form(:action => 'http://www.cs.tut.fi/cgi-bin/run/~jkorpela/echo.cgi').select(:id => 'f11')"
|
67
|
+
menu :fresh_food, 'one'
|
69
68
|
end
|
70
69
|
|
71
70
|
checkbox(:cb){ locator :id => 'f5' }
|
@@ -152,6 +151,7 @@ Defined elements can be accessed with their labels.
|
|
152
151
|
tp.tf # => Watir::TextField
|
153
152
|
tp.rb # => Watir::Radio
|
154
153
|
tp.test_elements # => Array of Watir elements
|
154
|
+
tp.table_with_header # => Watir::Table
|
155
155
|
|
156
156
|
|
157
157
|
|
@@ -179,17 +179,17 @@ current\_page
|
|
179
179
|
tp = PageObjectWrapper.open_page(:some_test_page)
|
180
180
|
tp.feed_test_elements(:missing_food)
|
181
181
|
|
182
|
-
#### xxx\
|
182
|
+
#### xxx\_menu
|
183
183
|
*parameters*
|
184
|
-
|
184
|
+
:food\_type
|
185
185
|
*returns*
|
186
|
-
|
186
|
+
food value for this type which is defined in page\_object
|
187
187
|
|
188
188
|
*preconditions*
|
189
189
|
**tp** is a :some\_test\_page object opened in the browser
|
190
190
|
|
191
|
-
tp.
|
192
|
-
tp.
|
191
|
+
tp.tf_menu(:fresh_food) # => 'default fresh food'
|
192
|
+
tp.tf_menu(:user_defined) # => 'some food'
|
193
193
|
|
194
194
|
#### fire\_xxx
|
195
195
|
*parameters*
|
data/bad_pages/bad_page.rb
CHANGED
@@ -9,9 +9,11 @@ PageObjectWrapper.define_page('some_page_with_lost_of_errors') do
|
|
9
9
|
|
10
10
|
elements_set(:bad_elements) do
|
11
11
|
element('') do
|
12
|
+
menu :fresh_food, Array.new
|
12
13
|
end
|
13
14
|
element(:e) do
|
14
15
|
locator ':e element locator'
|
16
|
+
menu 'a string', 'another string'
|
15
17
|
end
|
16
18
|
element(:e) do
|
17
19
|
locator Hash.new
|
@@ -5,8 +5,8 @@ PageObjectWrapper.define_page(:another_test_page) do
|
|
5
5
|
elements_set(:test_elements) do
|
6
6
|
select(:s1) do
|
7
7
|
locator :id => 'f10'
|
8
|
-
fresh_food 'not in select list'
|
9
|
-
missing_food 'not in select list'
|
8
|
+
menu :fresh_food, 'not in select list'
|
9
|
+
menu :missing_food, 'not in select list'
|
10
10
|
end
|
11
11
|
end
|
12
12
|
end
|
@@ -5,8 +5,7 @@ PageObjectWrapper.define_page(:some_test_page) do
|
|
5
5
|
elements_set(:test_elements) do
|
6
6
|
text_field(:tf) do
|
7
7
|
locator :id => 'f1'
|
8
|
-
|
9
|
-
fresh_food 'some fresh food'
|
8
|
+
menu :user_defined, 'some food'
|
10
9
|
end
|
11
10
|
|
12
11
|
textarea(:ta) do
|
@@ -15,13 +14,13 @@ PageObjectWrapper.define_page(:some_test_page) do
|
|
15
14
|
|
16
15
|
select(:s1) do
|
17
16
|
locator :id => 'f10'
|
18
|
-
fresh_food 'one'
|
19
|
-
missing_food 'three'
|
17
|
+
menu :fresh_food, 'one'
|
18
|
+
menu :missing_food, 'three'
|
20
19
|
end
|
21
20
|
|
22
21
|
select(:s2) do
|
23
|
-
locator :id => 'f11'
|
24
|
-
fresh_food 'one'
|
22
|
+
locator "form(:action => 'http://www.cs.tut.fi/cgi-bin/run/~jkorpela/echo.cgi').select(:id => 'f11')"
|
23
|
+
menu :fresh_food, 'one'
|
25
24
|
end
|
26
25
|
|
27
26
|
checkbox(:cb){ locator :id => 'f5' }
|
@@ -1,15 +1,18 @@
|
|
1
1
|
require 'Dsl'
|
2
2
|
class Element < DslElementWithLocator
|
3
3
|
attr_reader :type
|
4
|
-
dsl_attr_accessor :fresh_food, :missing_food
|
5
|
-
|
6
|
-
DEFAULT_FRESH_FOOD = 'default fresh food'
|
7
|
-
DEFAULT_MISSING_FOOD = 'default missing food'
|
8
4
|
|
9
5
|
def initialize(label, type)
|
10
6
|
super label
|
11
7
|
@type = type
|
12
|
-
@
|
13
|
-
|
8
|
+
@menu = { :fresh_food => 'default fresh food', :missing_food => 'default missing food' }
|
9
|
+
end
|
10
|
+
|
11
|
+
def menu food_type, value
|
12
|
+
@menu[food_type] = value
|
13
|
+
end
|
14
|
+
|
15
|
+
def menu_value
|
16
|
+
@menu
|
14
17
|
end
|
15
18
|
end
|
@@ -19,7 +19,6 @@ class PageObject < DslElementWithLocator
|
|
19
19
|
@@current_page = nil
|
20
20
|
|
21
21
|
UNIQ_ELEMENT_WAIT_PERIOD = 10
|
22
|
-
FOOD_TYPES = [:missing_food, :fresh_food]
|
23
22
|
FEED_ALL = Regexp.new(/^feed_all$/)
|
24
23
|
FEED_SET = Regexp.new(/^feed_([\w_]+)$/)
|
25
24
|
FIRE_ACTION = Regexp.new(/^fire_([\w_]+)$/)
|
@@ -188,11 +187,8 @@ class PageObject < DslElementWithLocator
|
|
188
187
|
eset.instance_eval(&block)
|
189
188
|
@esets << eset
|
190
189
|
eset.elements.each{|e|
|
191
|
-
PageObject.send :define_method, (e.label_value.to_s+'
|
192
|
-
e.
|
193
|
-
end
|
194
|
-
PageObject.send :define_method, (e.label_value.to_s+'_missing_food').to_sym do
|
195
|
-
e.missing_food_value
|
190
|
+
PageObject.send :define_method, (e.label_value.to_s+'_menu').to_sym do |food_type|
|
191
|
+
e.menu_value[food_type].to_s
|
196
192
|
end
|
197
193
|
}
|
198
194
|
@elements += eset.elements
|
@@ -250,7 +246,8 @@ class PageObject < DslElementWithLocator
|
|
250
246
|
element_output = []
|
251
247
|
element_output << "\t\telement #{e.label_value.inspect} already defined\n" if labeled(eset.elements).count(e.label_value) > 1
|
252
248
|
element_output << "\t\tlabel #{e.label_value.inspect} not a Symbol\n" if not e.label_value.is_a?(Symbol)
|
253
|
-
element_output << "\t\tlocator #{e.locator_value.inspect} not a meaningful Hash\n" if not e.locator_value.is_a?(Hash) or e.locator_value.empty?
|
249
|
+
element_output << "\t\tlocator #{e.locator_value.inspect} not a meaningful Hash or String\n" if (not e.locator_value.is_a?(Hash) and not e.locator_value.is_a?(String)) or e.locator_value.empty?
|
250
|
+
element_output << "\t\tmenu #{e.menu_value.inspect} not properly defined (must be {:food_type => 'a string'})\n" if (e.menu_value.keys.collect(&:class).uniq! != [Symbol]) or (e.menu_value.values.collect(&:class).uniq! != [String])
|
254
251
|
element_output.unshift "\telement(#{e.label_value.inspect}):\n" if not element_output.empty?
|
255
252
|
output += element_output
|
256
253
|
}
|
@@ -311,20 +308,28 @@ private
|
|
311
308
|
end
|
312
309
|
|
313
310
|
def return_watir_element(e)
|
314
|
-
|
311
|
+
el = nil
|
312
|
+
if e.locator_value.is_a? Hash
|
313
|
+
el = @@browser.send e.type, e.locator_value
|
314
|
+
elsif e.locator_value.is_a? String
|
315
|
+
el = @@browser.instance_eval e.locator_value
|
316
|
+
end
|
317
|
+
el
|
315
318
|
end
|
316
319
|
|
317
320
|
def return_array_of_watir_elements(eset)
|
318
|
-
eset.elements.collect{|e|
|
321
|
+
eset.elements.collect{|e| return_watir_element(e)}
|
319
322
|
end
|
320
323
|
|
321
|
-
def feed_elements(elements,
|
324
|
+
def feed_elements(elements, menu_type=nil)
|
322
325
|
raise PageObjectWrapper::BrowserNotFound if @@browser.nil? or not @@browser.exist?
|
323
|
-
|
324
|
-
|
326
|
+
menu_type ||= :fresh_food
|
327
|
+
known_types = []
|
328
|
+
elements.each{ |e| known_types += e.menu_value.keys }
|
329
|
+
raise PageObjectWrapper::UnknownMenuType, menu_type.inspect if not known_types.include?(menu_type)
|
325
330
|
elements.each{|e|
|
326
|
-
food = e.
|
327
|
-
watir_element =
|
331
|
+
food = e.menu_value[menu_type].to_s
|
332
|
+
watir_element = return_watir_element(e)
|
328
333
|
case watir_element
|
329
334
|
when Watir::CheckBox
|
330
335
|
watir_element.when_present.set
|
@@ -334,12 +339,8 @@ private
|
|
334
339
|
begin
|
335
340
|
watir_element.when_present.select food
|
336
341
|
rescue Watir::Exception::NoValueFoundException => e
|
337
|
-
if
|
338
|
-
|
339
|
-
next
|
340
|
-
else
|
341
|
-
raise e
|
342
|
-
end
|
342
|
+
# proceed to next element if missing_food is not found in select list
|
343
|
+
next
|
343
344
|
end
|
344
345
|
else
|
345
346
|
if watir_element.respond_to?(:set)
|
@@ -31,6 +31,8 @@ describe "define_page_object" do
|
|
31
31
|
|
32
32
|
specify { subject.elements.collect(&:label_value).should include(:tf)}
|
33
33
|
it { should respond_to(:tf) }
|
34
|
+
it { should respond_to(:tf_menu) }
|
35
|
+
it { should respond_to(:ta_menu) }
|
34
36
|
|
35
37
|
specify { subject.actions.collect(&:label_value).should include(:press_cool_button)}
|
36
38
|
it { should respond_to(:fire_press_cool_button) }
|
@@ -72,21 +74,22 @@ describe "define_page_object" do
|
|
72
74
|
its(:locator_value) { should be_a Hash }
|
73
75
|
end
|
74
76
|
|
75
|
-
describe "element
|
76
|
-
it { should respond_to(:
|
77
|
-
it { should respond_to(:
|
78
|
-
it { should respond_to(:missing_food) }
|
79
|
-
it { should respond_to(:missing_food_value) }
|
77
|
+
describe "element menu" do
|
78
|
+
it { should respond_to(:menu) }
|
79
|
+
it { should respond_to(:menu_value) }
|
80
80
|
|
81
|
-
its(:
|
82
|
-
its(:missing_food_value) { should be_a String}
|
81
|
+
its(:menu_value) { should be_a Hash}
|
83
82
|
|
84
|
-
describe "
|
85
|
-
its(:
|
83
|
+
describe "default menu" do
|
84
|
+
its(:menu_value){ should have_key(:fresh_food) }
|
85
|
+
its(:menu_value){ should have_value 'default fresh food'}
|
86
|
+
its(:menu_value){ should have_key(:missing_food) }
|
87
|
+
its(:menu_value){ should have_value 'default missing food'}
|
86
88
|
end
|
87
89
|
|
88
|
-
describe "
|
89
|
-
its(:
|
90
|
+
describe "user defined menu" do
|
91
|
+
its(:menu_value){ should have_key :user_defined }
|
92
|
+
its(:menu_value){ should have_value 'some food'}
|
90
93
|
end
|
91
94
|
end
|
92
95
|
end
|
File without changes
|
@@ -32,7 +32,7 @@ describe "page_object.feed_xxx" do
|
|
32
32
|
it "populates all xxx elements with :fresh_food" do
|
33
33
|
tp = PageObjectWrapper.current_page
|
34
34
|
tp.feed_test_elements(:fresh_food)
|
35
|
-
@b.text_field(:id=>'f1').value.should eq '
|
35
|
+
@b.text_field(:id=>'f1').value.should eq 'default fresh food'
|
36
36
|
@b.textarea(:id=>'f2').value.should eq 'default fresh food'
|
37
37
|
@b.select(:id=>'f10').value.should eq "one"
|
38
38
|
@b.select(:id=>'f11').value.should eq "one"
|
@@ -41,11 +41,24 @@ describe "page_object.feed_xxx" do
|
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
44
|
+
context "argument = :user_defined" do
|
45
|
+
it "populates all xxx elements with :user_defined" do
|
46
|
+
tp = PageObjectWrapper.open_page(:some_test_page)
|
47
|
+
tp.feed_test_elements(:user_defined)
|
48
|
+
@b.text_field(:id=>'f1').value.should eq 'some food'
|
49
|
+
@b.textarea(:id=>'f2').value.should eq ''
|
50
|
+
@b.select(:id=>'f10').value.should eq "two (default)"
|
51
|
+
@b.select(:id=>'f11').value.should eq "two (default)"
|
52
|
+
@b.checkbox(:id=>'f5').should be_set
|
53
|
+
@b.radio(:id=>'f3').should be_set
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
44
57
|
context "argument = nil" do
|
45
58
|
it "populates all xxx elements with :fresh_food" do
|
46
59
|
tp = PageObjectWrapper.current_page
|
47
60
|
tp.feed_test_elements
|
48
|
-
@b.text_field(:id=>'f1').value.should eq '
|
61
|
+
@b.text_field(:id=>'f1').value.should eq 'default fresh food'
|
49
62
|
@b.textarea(:id=>'f2').value.should eq 'default fresh food'
|
50
63
|
@b.select(:id=>'f10').value.should eq "one"
|
51
64
|
@b.select(:id=>'f11').value.should eq "one"
|
@@ -58,7 +71,7 @@ describe "page_object.feed_xxx" do
|
|
58
71
|
it "populates all xxx elements with :missing_food" do
|
59
72
|
tp = PageObjectWrapper.open_page(:some_test_page)
|
60
73
|
tp.feed_test_elements(:missing_food)
|
61
|
-
@b.text_field(:id=>'f1').value.should eq '
|
74
|
+
@b.text_field(:id=>'f1').value.should eq 'default missing food'
|
62
75
|
@b.textarea(:id=>'f2').value.should eq 'default missing food'
|
63
76
|
@b.select(:id=>'f10').value.should eq "three"
|
64
77
|
@b.select(:id=>'f11').value.should eq "two (default)"
|
@@ -67,13 +80,7 @@ describe "page_object.feed_xxx" do
|
|
67
80
|
end
|
68
81
|
end
|
69
82
|
|
70
|
-
context "
|
71
|
-
it "raises Watir Watir::Exception::NoValueFoundException" do
|
72
|
-
atp = PageObjectWrapper.open_page(:another_test_page)
|
73
|
-
expect{atp.feed_test_elements}.to raise_error(Watir::Exception::NoValueFoundException)
|
74
|
-
end
|
75
|
-
end
|
76
|
-
context "missing food is not found in select list" do
|
83
|
+
context "food not found in select list" do
|
77
84
|
it "continues execution" do
|
78
85
|
atp = PageObjectWrapper.current_page
|
79
86
|
atp.feed_test_elements(:missing_food).should eq(atp)
|
File without changes
|
data/spec/load_spec.rb
CHANGED
@@ -10,7 +10,9 @@ describe "PageObjectWrapper.load" do
|
|
10
10
|
begin
|
11
11
|
PageObjectWrapper.load(File.dirname(__FILE__)+'/../bad_pages')
|
12
12
|
rescue Exception => e
|
13
|
+
#puts '=============='
|
13
14
|
#puts e.message
|
15
|
+
#puts '=============='
|
14
16
|
e.should be_a(PageObjectWrapper::Load)
|
15
17
|
e.message.should == 'page_object("some_page_with_lost_of_errors"):
|
16
18
|
label "some_page_with_lost_of_errors" not a Symbol
|
@@ -19,13 +21,14 @@ elements_set("some elements_set label"):
|
|
19
21
|
label "some elements_set label" not a Symbol
|
20
22
|
element(""):
|
21
23
|
label "" not a Symbol
|
22
|
-
locator nil not a meaningful Hash
|
24
|
+
locator nil not a meaningful Hash or String
|
25
|
+
menu {:fresh_food=>[], :missing_food=>"default missing food"} not properly defined (must be {:food_type => \'a string\'})
|
23
26
|
element(:e):
|
24
27
|
element :e already defined
|
25
|
-
|
28
|
+
menu {:fresh_food=>"default fresh food", :missing_food=>"default missing food", "a string"=>"another string"} not properly defined (must be {:food_type => \'a string\'})
|
26
29
|
element(:e):
|
27
30
|
element :e already defined
|
28
|
-
locator {} not a meaningful Hash
|
31
|
+
locator {} not a meaningful Hash or String
|
29
32
|
action(""):
|
30
33
|
label "" not a Symbol
|
31
34
|
next_page nil not a Symbol
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
describe "getting food specified for element" do
|
3
|
+
subject{ PageObjectWrapper.receive_page(:some_test_page) }
|
4
|
+
|
5
|
+
describe "page_object.xxx_menu(:food_type)" do
|
6
|
+
it "raises NoMethodError if xxx is not known element" do
|
7
|
+
expect{ subject.unknown_menu }.to raise_error(NoMethodError)
|
8
|
+
end
|
9
|
+
|
10
|
+
it{ should respond_to(:tf_menu) }
|
11
|
+
|
12
|
+
it "tf_menu(:fresh_food)" do
|
13
|
+
subject.tf_menu(:fresh_food).should eq 'default fresh food'
|
14
|
+
end
|
15
|
+
it "tf_menu(:missing_food)" do
|
16
|
+
subject.tf_menu(:missing_food).should eq 'default missing food'
|
17
|
+
end
|
18
|
+
it "tf_menu(:user_defined)" do
|
19
|
+
subject.tf_menu(:user_defined).should eq 'some food'
|
20
|
+
end
|
21
|
+
it "tf_menu(:unknown_food)" do
|
22
|
+
subject.tf_menu(:unknown_food).should eq ''
|
23
|
+
end
|
24
|
+
it "tf_menu('unknown_food')" do
|
25
|
+
subject.tf_menu(:unknown_food).should eq ''
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
File without changes
|
data/spec/open_xxx.rb
ADDED
File without changes
|
@@ -56,8 +56,8 @@ describe "page_object.select_from_xxx" do
|
|
56
56
|
context "next_page not specified" do
|
57
57
|
it "returns last row value from provided column" do
|
58
58
|
tp.select_from_table_without_header(:column_0).text.should eq 'Iceland'
|
59
|
-
tp.select_from_table_without_header(:column_1).text.should eq '
|
60
|
-
tp.select_from_table_without_header(:column_2).text.should eq '
|
59
|
+
tp.select_from_table_without_header(:column_1).text.should eq '103,000'
|
60
|
+
tp.select_from_table_without_header(:column_2).text.should eq '100,250'
|
61
61
|
end
|
62
62
|
end
|
63
63
|
context "next_page specified" do
|
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: page_object_wrapper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-12-26 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: watir-webdriver
|
16
|
-
requirement: &
|
16
|
+
requirement: &7037740 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *7037740
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: activesupport
|
27
|
-
requirement: &
|
27
|
+
requirement: &6983320 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *6983320
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &6929080 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 2.0.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *6929080
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: debugger
|
49
|
-
requirement: &
|
49
|
+
requirement: &6900840 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *6900840
|
58
58
|
description: Wraps watir-webdriver with convenient testing interface, based on PageObjects
|
59
59
|
automation testing pattern. Simplifies resulting automated test understanding.
|
60
60
|
email:
|
@@ -93,17 +93,18 @@ files:
|
|
93
93
|
- page_object_wrapper.gemspec
|
94
94
|
- page_object_wrapper.gemspec.orig
|
95
95
|
- spec/define_page_object_spec.rb
|
96
|
-
- spec/
|
97
|
-
- spec/
|
98
|
-
- spec/
|
99
|
-
- spec/fire_event_and_validate_spec.rb
|
96
|
+
- spec/each_xxx.rb
|
97
|
+
- spec/feed_xxx_spec.rb
|
98
|
+
- spec/fire_xxx_and_validate_xxx_spec.rb
|
100
99
|
- spec/generate_spec.rb
|
101
|
-
- spec/get_food_spec.rb
|
102
100
|
- spec/load_spec.rb
|
103
|
-
- spec/
|
104
|
-
- spec/
|
101
|
+
- spec/menu_xxx_spec.rb
|
102
|
+
- spec/open_page_spec.rb
|
103
|
+
- spec/open_xxx.rb
|
104
|
+
- spec/select_from_xxx_spec.rb
|
105
105
|
- spec/shared_examples.rb
|
106
106
|
- spec/spec_helper.rb
|
107
|
+
- spec/xxx_spec.rb
|
107
108
|
homepage: https://github.com/evgeniy-khatko/page_object_wrapper
|
108
109
|
licenses: []
|
109
110
|
post_install_message:
|
@@ -131,14 +132,15 @@ specification_version: 3
|
|
131
132
|
summary: Wraps watir-webdriver with convenient testing interface.
|
132
133
|
test_files:
|
133
134
|
- spec/define_page_object_spec.rb
|
134
|
-
- spec/
|
135
|
-
- spec/
|
136
|
-
- spec/
|
137
|
-
- spec/fire_event_and_validate_spec.rb
|
135
|
+
- spec/each_xxx.rb
|
136
|
+
- spec/feed_xxx_spec.rb
|
137
|
+
- spec/fire_xxx_and_validate_xxx_spec.rb
|
138
138
|
- spec/generate_spec.rb
|
139
|
-
- spec/get_food_spec.rb
|
140
139
|
- spec/load_spec.rb
|
141
|
-
- spec/
|
142
|
-
- spec/
|
140
|
+
- spec/menu_xxx_spec.rb
|
141
|
+
- spec/open_page_spec.rb
|
142
|
+
- spec/open_xxx.rb
|
143
|
+
- spec/select_from_xxx_spec.rb
|
143
144
|
- spec/shared_examples.rb
|
144
145
|
- spec/spec_helper.rb
|
146
|
+
- spec/xxx_spec.rb
|
data/spec/get_food_spec.rb
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
describe "getting food specified for element" do
|
3
|
-
subject{ PageObjectWrapper.receive_page(:some_test_page) }
|
4
|
-
|
5
|
-
describe "page_object.xxx_fresh_food" do
|
6
|
-
it "raises NoMethodError if xxx is not known element" do
|
7
|
-
expect{ subject.unknown_fresh_food }.to raise_error(NoMethodError)
|
8
|
-
end
|
9
|
-
|
10
|
-
it{ should respond_to(:tf_fresh_food) }
|
11
|
-
its(:tf_fresh_food){ should eq 'some fresh food' }
|
12
|
-
|
13
|
-
it{ should respond_to(:ta_fresh_food) }
|
14
|
-
its(:ta_fresh_food){ should eq 'default fresh food' }
|
15
|
-
end
|
16
|
-
|
17
|
-
describe "page_object.xxx_missing_food" do
|
18
|
-
it "raises NoMethodError if xxx is not known element" do
|
19
|
-
expect{ subject.unknown_fresh_food }.to raise_error(NoMethodError)
|
20
|
-
end
|
21
|
-
|
22
|
-
it{ should respond_to(:tf_fresh_food) }
|
23
|
-
its(:tf_missing_food){ should eq 'some missing food' }
|
24
|
-
|
25
|
-
it{ should respond_to(:ta_fresh_food) }
|
26
|
-
its(:ta_missing_food){ should eq 'default missing food' }
|
27
|
-
end
|
28
|
-
end
|