appom 0.5.0 → 0.6.0
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 +4 -4
- data/lib/appom/element_container.rb +55 -5
- data/lib/appom/page.rb +16 -0
- data/lib/appom/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0949477113260f4e785a805fa8e65fba84220ba6a0ee596f28fa41b429e672cc
|
4
|
+
data.tar.gz: 3b0a17a7cdfca9377d16fb5db85a756e8fa9bab30de7fca678a60f349b421f0a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 762d159a3d726469f66dcfe6334a4ccfc8174fe63602c6f238759c6295a8edbc305780804bb9811dba54407e77f9153c220c4d711303043667d4599480c4030a
|
7
|
+
data.tar.gz: baaaa66a0fb77ad1917451b5f54216bc7c1331c52f622f19c212f612fff1494480980a7eee07256eea152554edb6aec0c610bc4da73abf04014e131902619191
|
@@ -42,11 +42,14 @@ module Appom
|
|
42
42
|
# Element doesn't support block so that will raise if pass a block when declare
|
43
43
|
#
|
44
44
|
def element(name, *find_args)
|
45
|
-
|
45
|
+
build_element(name, *find_args) do |*runtime_args, &block|
|
46
46
|
define_method(name) do
|
47
47
|
raise_if_block(self, name, !block.nil?, :element)
|
48
48
|
find(*merge_args(find_args, runtime_args))
|
49
49
|
end
|
50
|
+
define_method("#{name}_params") do
|
51
|
+
merge_args(find_args, runtime_args)
|
52
|
+
end
|
50
53
|
end
|
51
54
|
end
|
52
55
|
|
@@ -63,11 +66,14 @@ module Appom
|
|
63
66
|
# Elements doesn't support block so that will raise if pass a block when declare
|
64
67
|
#
|
65
68
|
def elements(name, *find_args)
|
66
|
-
|
69
|
+
build_elements(name, *find_args) do |*runtime_args, &block|
|
67
70
|
define_method(name) do
|
68
71
|
raise_if_block(self, name, !block.nil?, :elements)
|
69
72
|
all(*merge_args(find_args, runtime_args))
|
70
73
|
end
|
74
|
+
define_method("#{name}_params") do
|
75
|
+
merge_args(find_args, runtime_args)
|
76
|
+
end
|
71
77
|
end
|
72
78
|
end
|
73
79
|
|
@@ -83,15 +89,33 @@ module Appom
|
|
83
89
|
|
84
90
|
private
|
85
91
|
|
86
|
-
# Add item to @mapped_items or define method
|
87
|
-
def
|
92
|
+
# Add item to @mapped_items or define method for element
|
93
|
+
def build_element(name, *find_args)
|
94
|
+
if find_args.empty?
|
95
|
+
create_error_method(name)
|
96
|
+
else
|
97
|
+
add_to_mapped_items(name)
|
98
|
+
yield
|
99
|
+
end
|
100
|
+
|
101
|
+
create_existence_checker(name, *find_args)
|
102
|
+
create_nonexistence_checker(name, *find_args)
|
103
|
+
create_enable_checker(name, *find_args)
|
104
|
+
create_disable_checker(name, *find_args)
|
105
|
+
end
|
106
|
+
|
107
|
+
# Add item to @mapped_items or define method for elements
|
108
|
+
def build_elements(name, *find_args)
|
88
109
|
if find_args.empty?
|
89
110
|
create_error_method(name)
|
90
111
|
else
|
91
112
|
add_to_mapped_items(name)
|
92
113
|
yield
|
93
114
|
end
|
94
|
-
|
115
|
+
|
116
|
+
create_existence_checker(name, *find_args)
|
117
|
+
create_nonexistence_checker(name, *find_args)
|
118
|
+
create_get_all_elements(name, *find_args)
|
95
119
|
end
|
96
120
|
|
97
121
|
# Define method to notify that we can't find item without args
|
@@ -157,6 +181,32 @@ module Appom
|
|
157
181
|
end
|
158
182
|
end
|
159
183
|
end
|
184
|
+
|
185
|
+
##
|
186
|
+
# Try wait until element will be enable
|
187
|
+
#
|
188
|
+
def create_enable_checker(element_name, *find_args)
|
189
|
+
method_name = "#{element_name}_enable?"
|
190
|
+
create_helper_method(method_name, *find_args) do
|
191
|
+
define_method(method_name) do |*runtime_args|
|
192
|
+
args = merge_args(find_args, runtime_args)
|
193
|
+
wait_util_element_enabled(*args)
|
194
|
+
end
|
195
|
+
end
|
196
|
+
end
|
197
|
+
|
198
|
+
##
|
199
|
+
# Wait until an element will be
|
200
|
+
#
|
201
|
+
def create_disable_checker(element_name, *find_args)
|
202
|
+
method_name = "#{element_name}_disable?"
|
203
|
+
create_helper_method(method_name, *find_args) do
|
204
|
+
define_method(method_name) do |*runtime_args|
|
205
|
+
args = merge_args(find_args, runtime_args)
|
206
|
+
wait_util_element_disabled(*args)
|
207
|
+
end
|
208
|
+
end
|
209
|
+
end
|
160
210
|
end
|
161
211
|
end
|
162
212
|
end
|
data/lib/appom/page.rb
CHANGED
@@ -52,5 +52,21 @@ module Appom
|
|
52
52
|
return result
|
53
53
|
end
|
54
54
|
end
|
55
|
+
|
56
|
+
##
|
57
|
+
# Wait until an element will be enable
|
58
|
+
#
|
59
|
+
def wait_util_element_enabled(*find_args)
|
60
|
+
wait = Wait.new(timeout: Appom.max_wait_time)
|
61
|
+
wait.until { Appom.driver.find_element(*find_args).enabled? }
|
62
|
+
end
|
63
|
+
|
64
|
+
##
|
65
|
+
# Wait until an element will be disable
|
66
|
+
#
|
67
|
+
def wait_util_element_disabled(*find_args)
|
68
|
+
wait = Wait.new(timeout: Appom.max_wait_time)
|
69
|
+
wait.until { !Appom.driver.find_element(*find_args).enabled? }
|
70
|
+
end
|
55
71
|
end
|
56
72
|
end
|
data/lib/appom/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appom
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Harry.Tran
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: appium_lib
|