appium_lib 0.0.23 → 0.0.24
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 +8 -8
- data/lib/appium_lib/helper.rb +70 -0
- data/lib/appium_lib/version.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZGMzOGY4Y2FmMTY5MzgyZGNkNzc5YmQyYjU3NjdkNDk3ZDY2MWI0MA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MjQ0MDc0YjNlN2NhNDFjNTk2MWJmOWUyZWUzZGE4OWU4MTc1YTBjYg==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MDIxZTBkMTczNGVmODYyMjcxYWRmNTg0MTMzNGM4YzM1YmM2YzBmNjBmNTg0
|
10
|
+
OWU4Mzg2Zjc4ODQ4NWFmNGMwZjYzODMyNTE2MTE1Y2M5ZDQwMmZmMjQ5NmU1
|
11
|
+
OWM4YTBmOWJkMmU0NTMzMjA5NTU5NGYzYWQ2NjAzMjkwNDQ0Mzc=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
OWJjYTNkMjE3YzEzNGQ3NDQwY2UxNDc4YTg0MjlkOWFkNTg3ZTA1OWE4NzU1
|
14
|
+
ZjA4NGEyNmJiNGM0MTVjNjM2NWQwOWFlMTM0ODI1MTk0OTljNzE0ZWU0YmY5
|
15
|
+
ZTgyMjc1MGY2ZTAyOWE1ZWQyOTM0N2IxOGJmM2JiN2E2NzA4ODg=
|
data/lib/appium_lib/helper.rb
CHANGED
@@ -29,6 +29,24 @@ def wait &block
|
|
29
29
|
result
|
30
30
|
end
|
31
31
|
|
32
|
+
# Return the first element matching name.
|
33
|
+
# on Android name is content description
|
34
|
+
# on iOS name is the accessibility label or the text.
|
35
|
+
# @param name [String] the name to search for
|
36
|
+
# @return [Element] the first matching element
|
37
|
+
def name name
|
38
|
+
$driver.find_element :name, name
|
39
|
+
end
|
40
|
+
|
41
|
+
# Return all element matching name.
|
42
|
+
# on Android name is content description
|
43
|
+
# on iOS name is the accessibility label or the text.
|
44
|
+
# @param name [String] the name to search for
|
45
|
+
# @return [Array<Element>] all matching elements
|
46
|
+
def names name
|
47
|
+
$driver.find_elements :name, name
|
48
|
+
end
|
49
|
+
|
32
50
|
# Presses the back button on Android.
|
33
51
|
# @return [void]
|
34
52
|
def back
|
@@ -166,6 +184,12 @@ def source
|
|
166
184
|
ap JSON.parse($driver.page_source)
|
167
185
|
end
|
168
186
|
|
187
|
+
# Gets a JSON view of the current page
|
188
|
+
# @return [JSON]
|
189
|
+
def get_source
|
190
|
+
JSON.parse($driver.page_source)
|
191
|
+
end
|
192
|
+
|
169
193
|
# iOS only. On Android uiautomator always returns an empty string for EditText password.
|
170
194
|
#
|
171
195
|
# Password character returned from value of UIASecureTextField
|
@@ -174,3 +198,49 @@ end
|
|
174
198
|
def password length=1
|
175
199
|
'•' * length
|
176
200
|
end
|
201
|
+
|
202
|
+
# Android only.
|
203
|
+
def get_inspect
|
204
|
+
def run node
|
205
|
+
r = []
|
206
|
+
|
207
|
+
run_internal = lambda do |node|
|
208
|
+
if node.kind_of? Array
|
209
|
+
node.each { |node| run_internal.call node }
|
210
|
+
return
|
211
|
+
end
|
212
|
+
|
213
|
+
keys = node.keys
|
214
|
+
return if keys.empty?
|
215
|
+
|
216
|
+
obj = {}
|
217
|
+
obj.merge!( { desc: node["@content-desc"] } ) if keys.include?("@content-desc") && !node["@content-desc"].empty?
|
218
|
+
obj.merge!( { text: node["@text"] } ) if keys.include?("@text") && !node["@text"].empty?
|
219
|
+
obj.merge!( { class: node["@class"] } ) if keys.include?("@class") && !obj.empty?
|
220
|
+
|
221
|
+
r.push obj if !obj.empty?
|
222
|
+
run_internal.call node['node'] if keys.include?('node')
|
223
|
+
end
|
224
|
+
|
225
|
+
run_internal.call node
|
226
|
+
r
|
227
|
+
end
|
228
|
+
|
229
|
+
json = JSON.parse($driver.page_source)
|
230
|
+
node = json['hierarchy']
|
231
|
+
results = run node
|
232
|
+
|
233
|
+
out = ''
|
234
|
+
results.each { |e|
|
235
|
+
out += e[:class].split('.').last + "\n"
|
236
|
+
out += " text: #{e[:text]}\n" unless e[:text].nil?
|
237
|
+
out += " desc: #{e[:desc]}\n" unless e[:desc].nil?
|
238
|
+
}
|
239
|
+
out
|
240
|
+
end
|
241
|
+
|
242
|
+
# Android only. Intended for use with console.
|
243
|
+
def inspect
|
244
|
+
puts get_inspect
|
245
|
+
nil
|
246
|
+
end
|
data/lib/appium_lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appium_lib
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.24
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- code@bootstraponline.com
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-03-
|
11
|
+
date: 2013-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: selenium-webdriver
|