appium_lib 0.3.4 → 0.3.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/appium_lib/android/helper.rb +1 -1
- data/lib/appium_lib/common/helper.rb +2 -1
- data/lib/appium_lib/common/version.rb +1 -1
- data/lib/appium_lib/driver.rb +2 -2
- data/lib/appium_lib/ios/element/generic.rb +1 -64
- data/readme.md +8 -9
- data/release_notes.md +13 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
M2E4YzhhNzZlYWU2NDM5YTJjMjdhOGE1MTAwOTU3MDQyY2EyZmEwOA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZmIyNWMyMzgwNWJhOTAyYjc4ZTgxZDEyMDdkZTFhMzAzZjA4OWQ0OA==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
N2FkNDg4NGJiODAzYjEyOWJiODgyMjdkMDA0YTE4MGRhNmVmMGQ4MDhkNDA3
|
10
|
+
YTEyNWRlM2ZiYTJmM2JjNTc4YTFmMTZmNjhlZmU5ZGVhNTYzZjIyMDZjZWQ4
|
11
|
+
ZDFmYjg2MjgwOGZmMThkNmUwMTFiZDFiOTk4OTZlNWUzM2U4MGQ=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NWZjZjA1ZDVmZTZhYmI4YjkyOTE1ODI3YmQ3OGEzNjQ2Yjc2YmVlZWY4OTBl
|
14
|
+
YmRkMTAwYzAwZjBhMzQ5NmRmNjg1ODFjMDBjYTY2YmU5ZjY0YjA1YzgzNmUw
|
15
|
+
ZjNmYWY5Mjk0ZWIxZTA4YzBkOGQ1NDFiZGMzYmRiY2FmOWRhYjc=
|
@@ -150,7 +150,8 @@ module Appium::Common
|
|
150
150
|
# Gets a JSON view of the current page
|
151
151
|
# @return [JSON]
|
152
152
|
def get_source
|
153
|
-
|
153
|
+
# must set max nesting. default limit of 20 is too low for selendroid
|
154
|
+
JSON.parse @driver.page_source, max_nesting: 9999
|
154
155
|
end
|
155
156
|
|
156
157
|
def find_name name
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
module Appium
|
3
3
|
# Version and Date are defined on the 'Appium' module, not 'Appium::Common'
|
4
|
-
VERSION = '0.3.
|
4
|
+
VERSION = '0.3.5' unless defined? ::Appium::VERSION
|
5
5
|
DATE = '2013-04-30' unless defined? ::Appium::DATE
|
6
6
|
end
|
data/lib/appium_lib/driver.rb
CHANGED
@@ -232,7 +232,7 @@ module Appium
|
|
232
232
|
# Returns the default client side wait.
|
233
233
|
# This value is independent of what the server is using
|
234
234
|
# @return [Integer]
|
235
|
-
def
|
235
|
+
def default_wait
|
236
236
|
@default_wait
|
237
237
|
end
|
238
238
|
|
@@ -314,4 +314,4 @@ end # end module Appium
|
|
314
314
|
# Paging in Pry is annoying :q required to exit.
|
315
315
|
# With pager disabled, the output is similar to IRB
|
316
316
|
# Only set if Pry is defined.
|
317
|
-
Pry.config.pager = false if defined?(Pry)
|
317
|
+
Pry.config.pager = false if defined?(Pry)
|
@@ -27,64 +27,6 @@ module Appium::Ios
|
|
27
27
|
@ios_js.push method_name
|
28
28
|
end
|
29
29
|
|
30
|
-
def name_contains_js
|
31
|
-
# execute_script 'au.mainApp.getNameContains("sign")'
|
32
|
-
# execute_script 'au.mainApp.getNameContains("zzz")'
|
33
|
-
# must check .isVisible or a hidden element may be returned.
|
34
|
-
# .tap() may error on invisible elements.
|
35
|
-
# if there are no visible elements though, then it's useful
|
36
|
-
# to .tap() on an invisible element.
|
37
|
-
<<-JS
|
38
|
-
UIAElement.prototype.getNameContains = function(targetName) {
|
39
|
-
var target = UIATarget.localTarget();
|
40
|
-
target.pushTimeout(0);
|
41
|
-
var search = "name contains[c] '" + targetName + "' || label contains[c] '" + targetName + "'";
|
42
|
-
var result = {};
|
43
|
-
result.type = function() { return 'UIAElementNil'; };
|
44
|
-
result.isVisible = function() { return -1; };
|
45
|
-
|
46
|
-
var searchElements = function(element) {
|
47
|
-
var children = element.elements();
|
48
|
-
var results = children.withPredicate(search);
|
49
|
-
|
50
|
-
for (var resIdx = 0, resLen = results.length; resIdx < resLen; resIdx++) {
|
51
|
-
var tmp = results[resIdx];
|
52
|
-
if (tmp.type() !== 'UIAElementNil') {
|
53
|
-
result = tmp;
|
54
|
-
if (tmp.isVisible() === 1) {
|
55
|
-
return tmp;
|
56
|
-
}
|
57
|
-
}
|
58
|
-
}
|
59
|
-
|
60
|
-
for ( var a = 0, len = children.length; a < len; a++) {
|
61
|
-
searchElements(children[a]);
|
62
|
-
if (result.type() !== 'UIAElementNil' && result.isVisible() === 1) {
|
63
|
-
return result;
|
64
|
-
}
|
65
|
-
}
|
66
|
-
|
67
|
-
return result;
|
68
|
-
};
|
69
|
-
var result = searchElements(this);
|
70
|
-
target.popTimeout();
|
71
|
-
|
72
|
-
if (result.type() === 'UIAElementNil') {
|
73
|
-
return {
|
74
|
-
status: 7,
|
75
|
-
value: {'message': 'An element could not be located on the page using the given search parameters.'}
|
76
|
-
};
|
77
|
-
}
|
78
|
-
|
79
|
-
console.log("Match is visible? " + result.isVisible())
|
80
|
-
return {
|
81
|
-
status: 0,
|
82
|
-
value: {ELEMENT: au.getId(result)}
|
83
|
-
};
|
84
|
-
};
|
85
|
-
JS
|
86
|
-
end
|
87
|
-
|
88
30
|
# returnElems requires a wrapped $(element).
|
89
31
|
# set to empty array when length is zero to prevent hang.
|
90
32
|
#
|
@@ -214,12 +156,7 @@ module Appium::Ios
|
|
214
156
|
# @param name [String] the name to search for
|
215
157
|
# @return [Element] the first matching element
|
216
158
|
def name name
|
217
|
-
|
218
|
-
execute_script name_contains_js
|
219
|
-
ios_js_load 'name_contains_js'
|
220
|
-
end
|
221
|
-
|
222
|
-
execute_script %(au.mainApp.getNameContains("#{name}"))
|
159
|
+
mobile :findElementNameContains, name: name
|
223
160
|
end
|
224
161
|
|
225
162
|
# Return all elements matching name.
|
data/readme.md
CHANGED
@@ -31,19 +31,18 @@ gem install --no-rdoc --no-ri appium_lib
|
|
31
31
|
#### Simple Usage
|
32
32
|
|
33
33
|
```ruby
|
34
|
+
require 'rubygems'
|
34
35
|
require 'appium_lib'
|
35
36
|
|
36
|
-
# Start
|
37
|
-
app = {
|
37
|
+
# Start iOS driver
|
38
|
+
app = { app_path: '/path/to/MyiOS.app'}
|
38
39
|
Appium::Driver.new(app).start_driver
|
39
40
|
|
40
|
-
# Start
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
'APP_ACTIVITY' => 'act.Start',
|
46
|
-
'APP_WAIT_ACTIVITY' => 'act.Splash' }
|
41
|
+
# Start Android driver
|
42
|
+
apk = { app_path: '/path/to/the.apk',
|
43
|
+
app_package: 'com.example.pkg',
|
44
|
+
app_activity: 'act.Start'
|
45
|
+
}
|
47
46
|
Appium::Driver.new(apk).start_driver
|
48
47
|
```
|
49
48
|
|
data/release_notes.md
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
#### v0.3.4 2013-04-30
|
2
|
+
|
3
|
+
- [ffdf104](https://github.com/appium/ruby_lib/commit/ffdf104ffdecb165cfe410976145134768756e30) Release 0.3.4
|
4
|
+
- [4edc9f6](https://github.com/appium/ruby_lib/commit/4edc9f6097e29d2816dceef546a819fd6ee431d2) Add params to wait
|
5
|
+
- [da1c042](https://github.com/appium/ruby_lib/commit/da1c0424873fa5f859b1ec558356a3ad0721097b) Add selendroid launch support
|
6
|
+
- [f398041](https://github.com/appium/ruby_lib/commit/f398041369884d8068950ab9e703a8a2d750082c) Use symbols for driver opts
|
7
|
+
- [cf09a0d](https://github.com/appium/ruby_lib/commit/cf09a0d1ca8de835043f855cbd74ced9abb5f1b0) Add expected server opts
|
8
|
+
- [fe6c7d7](https://github.com/appium/ruby_lib/commit/fe6c7d71dbaf7f7b383d117918de2498945406d4) Fix os specific patches
|
9
|
+
- [d9b9c1a](https://github.com/appium/ruby_lib/commit/d9b9c1a2fcc1857e0e7c78d250fd59b84726d69b) Improve logging
|
10
|
+
- [3b831b0](https://github.com/appium/ruby_lib/commit/3b831b089e02c4a53585d90ed009f5ad3cb982a7) Return invisible match if no visible result
|
11
|
+
- [cdb11b6](https://github.com/appium/ruby_lib/commit/cdb11b6facde318af2524499c6473ea736865dde) Update release notes
|
12
|
+
|
13
|
+
|
1
14
|
#### v0.3.3 2013-04-27
|
2
15
|
|
3
16
|
- [b0ca37c](https://github.com/appium/ruby_lib/commit/b0ca37cfe47318f029e1f2ad498a5c08338016d7) Release 0.3.3
|