appium_lib 0.6.0 → 0.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/docs/android_docs.md +108 -114
- data/docs/ios_docs.md +107 -113
- data/lib/appium_lib/common/version.rb +1 -1
- data/lib/appium_lib/driver.rb +40 -20
- data/release_notes.md +12 -0
- metadata +1 -1
@@ -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.6.
|
4
|
+
VERSION = '0.6.1' unless defined? ::Appium::VERSION
|
5
5
|
DATE = '2013-08-05' unless defined? ::Appium::DATE
|
6
6
|
end
|
data/lib/appium_lib/driver.rb
CHANGED
@@ -115,6 +115,44 @@ module Appium
|
|
115
115
|
require 'android/element/generic'
|
116
116
|
require 'android/element/textfield'
|
117
117
|
|
118
|
+
##
|
119
|
+
# Promote appium methods to class instance methods
|
120
|
+
#
|
121
|
+
# @param class_array [Array<Class>] An array of classes
|
122
|
+
#
|
123
|
+
# To promote methods to all classes:
|
124
|
+
#
|
125
|
+
# ```ruby
|
126
|
+
# Appium.promote_appium_methods Object
|
127
|
+
# ```
|
128
|
+
|
129
|
+
def self.promote_appium_methods class_array
|
130
|
+
raise 'Driver is nil' if $driver.nil?
|
131
|
+
# Wrap single class into an array
|
132
|
+
class_array = [class_array] unless class_array.class == Array
|
133
|
+
# Promote Appium driver methods to class instance methods.
|
134
|
+
class_array.each do |klass|
|
135
|
+
$driver.public_methods(false).each do |m|
|
136
|
+
klass.class_eval do
|
137
|
+
define_method m do |*args, &block|
|
138
|
+
begin
|
139
|
+
# Prefer existing method.
|
140
|
+
# super will invoke method missing on driver
|
141
|
+
super(*args, &block)
|
142
|
+
# minitest also defines a name method,
|
143
|
+
# so rescue argument error
|
144
|
+
# and call the name method on $driver
|
145
|
+
rescue NoMethodError, ArgumentError
|
146
|
+
# puts "[Object.class_eval] '#{m}' not on super"
|
147
|
+
$driver.send m, *args, &block if $driver.respond_to?(m)
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
151
|
+
end
|
152
|
+
end
|
153
|
+
nil # return nil
|
154
|
+
end
|
155
|
+
|
118
156
|
class Driver
|
119
157
|
@@loaded = false
|
120
158
|
|
@@ -220,26 +258,8 @@ module Appium
|
|
220
258
|
# Subsequent drivers do not trigger promotion.
|
221
259
|
unless @@loaded
|
222
260
|
@@loaded = true
|
223
|
-
# Promote
|
224
|
-
|
225
|
-
# not MiniTest::Spec
|
226
|
-
::Minitest::Spec.class_eval do
|
227
|
-
define_method m do | *args, &block |
|
228
|
-
begin
|
229
|
-
# puts "[Object.class_eval] Calling super for '#{m}'"
|
230
|
-
# prefer existing method.
|
231
|
-
# super will invoke method missing on driver
|
232
|
-
super(*args, &block)
|
233
|
-
# minitest also defines a name method,
|
234
|
-
# so rescue argument error
|
235
|
-
# and call the name method on $driver
|
236
|
-
rescue NoMethodError, ArgumentError
|
237
|
-
# puts "[Object.class_eval] '#{m}' not on super"
|
238
|
-
$driver.send m, *args, &block if $driver.respond_to?(m)
|
239
|
-
end
|
240
|
-
end
|
241
|
-
end
|
242
|
-
end
|
261
|
+
# Promote only on Minitest::Spec (minitest 5) by default
|
262
|
+
Appium.promote_appium_methods ::Minitest::Spec
|
243
263
|
end
|
244
264
|
|
245
265
|
self # return newly created driver
|
data/release_notes.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
#### v0.6.0 2013-08-05
|
2
|
+
|
3
|
+
- [09aa23d](https://github.com/appium/ruby_lib/commit/09aa23d8c1b769b054c7d0e24ec86cf55d6bc027) Release 0.6.0
|
4
|
+
- [cbaf19d](https://github.com/appium/ruby_lib/commit/cbaf19d9d607b00dde89aca3829f17808780c2f3) Add keyboard send_keys documentation
|
5
|
+
- [25333d6](https://github.com/appium/ruby_lib/commit/25333d6d2871ba5009dcf4050185dbdf1d324ce9) Fix for Minitest 5
|
6
|
+
- [1e047b0](https://github.com/appium/ruby_lib/commit/1e047b092740703083ed9e452f9e77d6086f8372) Minitest 5 only
|
7
|
+
- [7ef93e9](https://github.com/appium/ruby_lib/commit/7ef93e99fbc373a6d4f2a75f1abc81a12a9688fa) Update usage example
|
8
|
+
- [47f53f9](https://github.com/appium/ruby_lib/commit/47f53f9706d3aa302a431c2b91592ee8c72ba399) Device is now required
|
9
|
+
- [62d5f2a](https://github.com/appium/ruby_lib/commit/62d5f2a258e927ee56e042466503c023c9138f6c) Patch only MiniTest
|
10
|
+
- [6ce29df](https://github.com/appium/ruby_lib/commit/6ce29df7b9d7b144a750579faab9629741f64593) Fix release notes
|
11
|
+
|
12
|
+
|
1
13
|
#### v0.5.16 2013-07-26
|
2
14
|
|
3
15
|
- [bd71fb4](https://github.com/appium/ruby_lib/commit/bd71fb4e430608d32923c583c8d4d592f11a96fc) Release 0.5.16
|