page_object_wrapper 1.5.0 → 1.5.1
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/lib/page_object_wrapper.rb +11 -24
- data/lib/page_object_wrapper/PageObject.rb +14 -14
- data/lib/version.rb +1 -1
- data/spec/currents_spec.rb +13 -18
- metadata +11 -11
data/lib/page_object_wrapper.rb
CHANGED
@@ -7,9 +7,7 @@ module PageObjectWrapper
|
|
7
7
|
@@domain = nil
|
8
8
|
@@browser = nil
|
9
9
|
@@current_page = nil
|
10
|
-
@@
|
11
|
-
@@current_table_row = nil
|
12
|
-
@@current_table_cell = nil
|
10
|
+
@@current_result = nil
|
13
11
|
|
14
12
|
def self.domain=val
|
15
13
|
@@domain=val
|
@@ -38,33 +36,22 @@ module PageObjectWrapper
|
|
38
36
|
@@current_page = page_object
|
39
37
|
end
|
40
38
|
|
41
|
-
def self.
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
def self.current_action_result
|
46
|
-
@@current_action_result
|
47
|
-
end
|
48
|
-
|
49
|
-
def self.current_table_row= res
|
50
|
-
@@current_table_row = res
|
51
|
-
end
|
52
|
-
|
53
|
-
def self.current_table_row
|
54
|
-
@@current_table_row
|
39
|
+
def self.current_page? label
|
40
|
+
PageObject.map_current_page label
|
41
|
+
true
|
55
42
|
end
|
56
43
|
|
57
|
-
def self.
|
58
|
-
@@
|
44
|
+
def self.current_result= res
|
45
|
+
@@current_result = res
|
59
46
|
end
|
60
47
|
|
61
|
-
def self.
|
62
|
-
@@
|
48
|
+
def self.current_result
|
49
|
+
@@current_result
|
63
50
|
end
|
64
51
|
|
65
|
-
def self.
|
66
|
-
|
67
|
-
|
52
|
+
def self.current_result? post_processing, excpected_value
|
53
|
+
real_value = @@current_result.instance_eval post_processing.to_s
|
54
|
+
real_value == excpected_value
|
68
55
|
end
|
69
56
|
|
70
57
|
def self.load(path_to_pages='.')
|
@@ -59,58 +59,58 @@ module PageObjectWrapper
|
|
59
59
|
when has_eset?(method_name)
|
60
60
|
# page_object.some_elements_set
|
61
61
|
eset = eset_for(method_name)
|
62
|
-
PageObjectWrapper.
|
62
|
+
PageObjectWrapper.current_result = PageObject.return_array_of_watir_elements(eset)
|
63
63
|
when has_element?(method_name)
|
64
64
|
# page_object.some_element
|
65
65
|
element = element_for(method_name)
|
66
|
-
PageObjectWrapper.
|
66
|
+
PageObjectWrapper.current_result = PageObject.return_watir_element element
|
67
67
|
when FEED_ALL.match(method_name)
|
68
68
|
# page_object.feed_all(:fresh_food)
|
69
|
-
PageObjectWrapper.
|
69
|
+
PageObjectWrapper.current_result = feed_elements(@elements, *args)
|
70
70
|
when (FEED.match(method_name) and has_eset?($1))
|
71
71
|
# page_object.feed_some_elements_set(:fresh_food)
|
72
72
|
eset = eset_for($1)
|
73
|
-
PageObjectWrapper.
|
73
|
+
PageObjectWrapper.current_result = feed_elements(eset.elements, *args)
|
74
74
|
when (FEED.match(method_name) and has_element?($1))
|
75
75
|
# page_object.feed_some_element(:fresh_food)
|
76
76
|
e = element_for($1)
|
77
77
|
if [true, false].include? args[0] or args[0].is_a? String
|
78
|
-
PageObjectWrapper.
|
78
|
+
PageObjectWrapper.current_result = feed_field(e, args[0])
|
79
79
|
else
|
80
|
-
PageObjectWrapper.
|
80
|
+
PageObjectWrapper.current_result = feed_elements([e], *args)
|
81
81
|
end
|
82
82
|
when (FIRE_ACTION.match(method_name) and has_action?($1))
|
83
83
|
# page_object.fire_some_action
|
84
84
|
a = action_for($1)
|
85
|
-
PageObjectWrapper.
|
85
|
+
PageObjectWrapper.current_result = fire_action(a, *args)
|
86
86
|
when (FIRE_ACTION.match(method_name) and has_alias?($1))
|
87
87
|
# page_object.fire_some_action
|
88
88
|
a = alias_for($1)
|
89
|
-
PageObjectWrapper.
|
89
|
+
PageObjectWrapper.current_result = fire_action(a, *args)
|
90
90
|
when (VALIDATE.match(method_name) and has_validator?($1))
|
91
91
|
# page_object.validate_something
|
92
92
|
v = validator_for($1)
|
93
|
-
PageObjectWrapper.
|
93
|
+
PageObjectWrapper.current_result = run_validator(v, *args)
|
94
94
|
when (SELECT_FROM.match(method_name) and has_table?($1))
|
95
95
|
# page_object.select_from_some_table(:header_column, {:column => 'value'})
|
96
96
|
table = table_for($1)
|
97
|
-
PageObjectWrapper.
|
97
|
+
PageObjectWrapper.current_result = select_from(table, *args)
|
98
98
|
when (SELECT_ROW_FROM.match(method_name) and has_table?($1))
|
99
99
|
# page_object.select_row_from_some_table(:number => 1, :column1 => value1, :column2 => value3, ...)
|
100
100
|
table = table_for($1)
|
101
|
-
PageObjectWrapper.
|
101
|
+
PageObjectWrapper.current_result = select_row_from(table, args[0])
|
102
102
|
when (PAGINATION_EACH.match(method_name) and has_pagination?($1))
|
103
103
|
# page_object.each_pagination
|
104
104
|
pagination = pagination_for($1)
|
105
|
-
PageObjectWrapper.
|
105
|
+
PageObjectWrapper.current_result = run_each_subpage(pagination, *args, &block)
|
106
106
|
when (PAGINATION_OPEN.match(method_name) and has_pagination?($1))
|
107
107
|
# page_object.open_padination(1)
|
108
108
|
pagination = pagination_for($1)
|
109
|
-
PageObjectWrapper.
|
109
|
+
PageObjectWrapper.current_result = open_subpage(pagination, *args)
|
110
110
|
when (PRESS.match(method_name) and has_element?($1))
|
111
111
|
# page_object.press_element
|
112
112
|
element = element_for($1)
|
113
|
-
PageObjectWrapper.
|
113
|
+
PageObjectWrapper.current_result = press(element)
|
114
114
|
else
|
115
115
|
super
|
116
116
|
end
|
data/lib/version.rb
CHANGED
data/spec/currents_spec.rb
CHANGED
@@ -10,33 +10,28 @@ describe "returned values" do
|
|
10
10
|
|
11
11
|
it "returns corresponding values" do
|
12
12
|
tp = PageObjectWrapper.open_page :some_test_page
|
13
|
-
|
14
|
-
|
15
|
-
res.label_value.should eq :some_test_page
|
13
|
+
PageObjectWrapper.current_page.should be_a PageObjectWrapper::PageObject
|
14
|
+
PageObjectWrapper.current_page?(:some_test_page).should eq true
|
16
15
|
|
17
16
|
tp.feed_tf 'text'
|
18
|
-
|
19
|
-
|
20
|
-
res.value.should eq 'text'
|
17
|
+
PageObjectWrapper.current_result.should be_a Watir::TextField
|
18
|
+
PageObjectWrapper.current_result?(:value, 'text').should eq true
|
21
19
|
|
22
20
|
tp.feed_test_elements :loud
|
23
|
-
|
24
|
-
|
25
|
-
|
21
|
+
expected = ["bar", "tf food", "ta food", "1", "2", "on", "on", "one", "one"]
|
22
|
+
PageObjectWrapper.current_result.should be_a Array
|
23
|
+
PageObjectWrapper.current_result?("collect(&:value)", expected).should eq true
|
26
24
|
|
27
25
|
tp = tp.fire_press_cool_button
|
28
|
-
|
29
|
-
|
30
|
-
res.label_value.should eq :test_page_with_table
|
26
|
+
PageObjectWrapper.current_result.should be_a PageObjectWrapper::PageObject
|
27
|
+
PageObjectWrapper.current_result?(:label_value, :test_page_with_table).should eq true
|
31
28
|
|
32
29
|
tp.select_from_test_table(:column_1, :row => 0)
|
33
|
-
|
34
|
-
|
35
|
-
res.text.should eq '42'
|
30
|
+
PageObjectWrapper.current_result.should be_a Watir::TableCell
|
31
|
+
PageObjectWrapper.current_result?(:text, '42').should eq true
|
36
32
|
|
37
33
|
tp.select_row_from_test_table(:number => 0)
|
38
|
-
|
39
|
-
|
40
|
-
res[:column_1].text.should eq '42'
|
34
|
+
PageObjectWrapper.current_result.should be_a Hash
|
35
|
+
PageObjectWrapper.current_result?("fetch(:column_1).text", '42').should eq true
|
41
36
|
end
|
42
37
|
end
|
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.5.
|
4
|
+
version: 1.5.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2013-04-16 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: watir-webdriver
|
16
|
-
requirement: &
|
16
|
+
requirement: &11013380 !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: *11013380
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: activesupport
|
27
|
-
requirement: &
|
27
|
+
requirement: &11048940 !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: *11048940
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: babosa
|
38
|
-
requirement: &
|
38
|
+
requirement: &11047780 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *11047780
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rspec
|
49
|
-
requirement: &
|
49
|
+
requirement: &11066000 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 2.0.0
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *11066000
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: debugger
|
60
|
-
requirement: &
|
60
|
+
requirement: &11063740 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *11063740
|
69
69
|
description: Wraps watir-webdriver with convenient testing interface, based on PageObjects
|
70
70
|
automation testing pattern. Simplifies resulting automated test understanding.
|
71
71
|
email:
|