appium_lib_core 5.0.0.beta4 → 5.0.0.rc1
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/CHANGELOG.md +7 -1
- data/Rakefile +4 -0
- data/appium_lib_core.gemspec +3 -3
- data/ci-jobs/functional_test.yml +1 -1
- data/docs/mobile_command.md +3 -2
- data/lib/appium_lib_core/common/base/bridge.rb +31 -15
- data/lib/appium_lib_core/common/base/driver.rb +14 -29
- data/lib/appium_lib_core/common/base/has_location.rb +11 -4
- data/lib/appium_lib_core/common/base/screenshot.rb +4 -3
- data/lib/appium_lib_core/common/device/value.rb +4 -4
- data/lib/appium_lib_core/common/touch_action/touch_actions.rb +4 -1
- data/lib/appium_lib_core/element.rb +7 -7
- data/lib/appium_lib_core/version.rb +2 -2
- data/release_notes.md +9 -0
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fc513ad9f9ba5689303763b09a884af18e1a9eb80e78a6e05cf838551905f732
|
4
|
+
data.tar.gz: 59241d4d8626cf39eeb63a51291f18deca6759bdba95a8e2bb942173e0b5df9e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 867c6a7bfbdf95243fae3a6292f0349bf9bda1fbb83b44cb7d2e12e8f5e0ecb2f41fb6103aeebdcaaded1024cbb16cd2d758d73bef9bf00697325d75b5c2d027
|
7
|
+
data.tar.gz: 345771f473fca33668d101f00be374ebb3b345b6795c5392b9955da73bb45588e5589b70ba8c983ce161e35c311b2f18adfd7bac3a8d816ba93863820b05b4f6
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,7 @@ Read `release_notes.md` for commit level details.
|
|
5
5
|
## [Unreleased]
|
6
6
|
|
7
7
|
### Enhancements
|
8
|
+
- Allow to override an existing method by `Appium::Core::Base::Driver#add_command` since Appium drivers/plugins allow to override them
|
8
9
|
|
9
10
|
### Bug fixes
|
10
11
|
|
@@ -17,6 +18,11 @@ Read `release_notes.md` for commit level details.
|
|
17
18
|
- Support Ruby 2.5+
|
18
19
|
- Raises `::Appium::Core::Error::ArgumentError` instead of `ArgumentError` for this library specific argument errors
|
19
20
|
|
21
|
+
## [4.7.0] - 2021-07-17
|
22
|
+
|
23
|
+
### Enhancements
|
24
|
+
- Add `satellites` option in `Appium::Core::Base::Driver#set_location`
|
25
|
+
|
20
26
|
## [4.6.0] - 2021-06-03
|
21
27
|
|
22
28
|
### Enhancements
|
@@ -25,7 +31,7 @@ Read `release_notes.md` for commit level details.
|
|
25
31
|
## [4.5.0] - 2021-03-14
|
26
32
|
|
27
33
|
### Enhancements
|
28
|
-
- Add `speed` argument for `Appium::Core::Base::Driver#set_location` since Appium 1.21.0
|
34
|
+
- Add `speed` argument for `Appium::Core::Base::Driver#set_location` since Appium 1.21.0
|
29
35
|
- Add `multiple` and `match_neighbour_threshold` arguments for `Appium::Core::Base::Driver#find_image_occurrence`
|
30
36
|
|
31
37
|
## [4.4.1(4.4.0)] - 2021-02-15(2021-02-13)
|
data/Rakefile
CHANGED
@@ -38,6 +38,7 @@ namespace :test do
|
|
38
38
|
namespace :unit do
|
39
39
|
desc('Run all iOS related unit tests in test directory')
|
40
40
|
Rake::TestTask.new(:ios) do |t|
|
41
|
+
ENV['UNIT_TEST'] = '1'
|
41
42
|
t.libs << 'test'
|
42
43
|
t.libs << 'lib'
|
43
44
|
t.test_files = FileList['test/unit/ios/**/*_test.rb']
|
@@ -45,6 +46,7 @@ namespace :test do
|
|
45
46
|
|
46
47
|
desc('Run all Android related unit tests in test directory')
|
47
48
|
Rake::TestTask.new(:android) do |t|
|
49
|
+
ENV['UNIT_TEST'] = '1'
|
48
50
|
t.libs << 'test'
|
49
51
|
t.libs << 'lib'
|
50
52
|
t.test_files = FileList['test/unit/android/**/*_test.rb']
|
@@ -52,6 +54,7 @@ namespace :test do
|
|
52
54
|
|
53
55
|
desc('Run all common related unit tests in test directory')
|
54
56
|
Rake::TestTask.new(:common) do |t|
|
57
|
+
ENV['UNIT_TEST'] = '1'
|
55
58
|
t.libs << 'test'
|
56
59
|
t.libs << 'lib'
|
57
60
|
t.test_files = FileList['test/unit/common/**/*_test.rb']
|
@@ -59,6 +62,7 @@ namespace :test do
|
|
59
62
|
|
60
63
|
desc('Run all Windows related unit tests in test directory')
|
61
64
|
Rake::TestTask.new(:windows) do |t|
|
65
|
+
ENV['UNIT_TEST'] = '1'
|
62
66
|
t.libs << 'test'
|
63
67
|
t.libs << 'lib'
|
64
68
|
t.test_files = FileList['test/unit/windows/**/*_test.rb']
|
data/appium_lib_core.gemspec
CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
23
|
spec.require_paths = ['lib']
|
24
24
|
|
25
|
-
spec.add_runtime_dependency 'selenium-webdriver', '4.0.0.
|
25
|
+
spec.add_runtime_dependency 'selenium-webdriver', '4.0.0.rc1'
|
26
26
|
spec.add_runtime_dependency 'faye-websocket', '~> 0.11.0'
|
27
27
|
|
28
28
|
spec.add_development_dependency 'bundler', '>= 1.14'
|
@@ -30,8 +30,8 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.add_development_dependency 'yard', '~> 0.9.11'
|
31
31
|
spec.add_development_dependency 'minitest', '~> 5.0'
|
32
32
|
spec.add_development_dependency 'minitest-reporters', '~> 1.1'
|
33
|
-
spec.add_development_dependency 'webmock', '~> 3.
|
34
|
-
spec.add_development_dependency 'rubocop', '1.12.
|
33
|
+
spec.add_development_dependency 'webmock', '~> 3.14.0'
|
34
|
+
spec.add_development_dependency 'rubocop', '1.12.1'
|
35
35
|
spec.add_development_dependency 'appium_thor', '~> 1.0'
|
36
36
|
spec.add_development_dependency 'pry'
|
37
37
|
spec.add_development_dependency 'pry-byebug'
|
data/ci-jobs/functional_test.yml
CHANGED
@@ -103,7 +103,7 @@ jobs:
|
|
103
103
|
- template: ./functional/ios_setup.yml
|
104
104
|
parameters:
|
105
105
|
xcodeVersion: ${{ parameters.xcodeForIOS }}
|
106
|
-
- script: brew install ffmpeg && brew tap wix/brew && brew install
|
106
|
+
- script: brew install ffmpeg && brew tap wix/brew && brew install applesimutils
|
107
107
|
displayName: Install ffmpeg and applesimutils
|
108
108
|
- template: ./functional/run_appium.yml
|
109
109
|
- script: bundle exec rake test:func:ios TESTS=test/functional/ios/ios/mjpeg_server_test.rb,test/functional/ios/ios/mobile_commands_test.rb
|
data/docs/mobile_command.md
CHANGED
@@ -9,7 +9,7 @@ We can invoke them via `execute_script` command with `mobile:` arguments.
|
|
9
9
|
- https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android
|
10
10
|
- iOS:
|
11
11
|
- https://github.com/appium/appium/tree/master/docs/en/writing-running-appium/ios
|
12
|
-
|
12
|
+
|
13
13
|
|
14
14
|
```ruby
|
15
15
|
# Android shell : https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/android-shell.md
|
@@ -28,7 +28,8 @@ To handle it, we would recommend you to handle the error based on the error mess
|
|
28
28
|
|
29
29
|
```ruby
|
30
30
|
error = assert_raises ::Selenium::WebDriver::Error::UnknownError do
|
31
|
-
|
31
|
+
_, element_id = el.ref
|
32
|
+
@driver.execute_script 'mobile: scrollToPage', { element: element_id, scrollToPage: -100 }
|
32
33
|
end
|
33
34
|
assert error.message.include? 'be a non-negative integer'
|
34
35
|
```
|
@@ -133,7 +133,7 @@ module Appium
|
|
133
133
|
|
134
134
|
# command for Appium 2.0.
|
135
135
|
def add_command(method:, url:, name:, &block)
|
136
|
-
|
136
|
+
::Appium::Logger.info "Overriding the method '#{name}' for '#{url}'" if @available_commands.key? name
|
137
137
|
|
138
138
|
@available_commands[name] = [method, url]
|
139
139
|
|
@@ -207,7 +207,8 @@ module Appium
|
|
207
207
|
# For W3C
|
208
208
|
# https://github.com/SeleniumHQ/selenium/commit/b618499adcc3a9f667590652c5757c0caa703289
|
209
209
|
# execute_atom :isDisplayed, element
|
210
|
-
|
210
|
+
_, element_id = element.ref
|
211
|
+
execute :is_element_displayed, id: element_id
|
211
212
|
end
|
212
213
|
|
213
214
|
# For Appium
|
@@ -215,7 +216,8 @@ module Appium
|
|
215
216
|
def element_attribute(element, name)
|
216
217
|
# For W3C in Selenium Client
|
217
218
|
# execute_atom :getAttribute, element, name
|
218
|
-
|
219
|
+
_, element_id = element.ref
|
220
|
+
execute :get_element_attribute, id: element_id, name: name
|
219
221
|
end
|
220
222
|
|
221
223
|
# For Appium
|
@@ -227,26 +229,39 @@ module Appium
|
|
227
229
|
|
228
230
|
# For Appium
|
229
231
|
# override
|
230
|
-
def find_element_by(how, what,
|
232
|
+
def find_element_by(how, what, parent_ref = [])
|
231
233
|
how, what = convert_locator(how, what)
|
232
234
|
|
233
|
-
|
234
|
-
|
235
|
+
return execute_atom(:findElements, Support::RelativeLocator.new(what).as_json).first if how == 'relative'
|
236
|
+
|
237
|
+
parent_type, parent_id = parent_ref
|
238
|
+
id = case parent_type
|
239
|
+
when :element
|
240
|
+
execute :find_child_element, { id: parent_id }, { using: how, value: what.to_s }
|
241
|
+
when :shadow_root
|
242
|
+
execute :find_shadow_child_element, { id: parent_id }, { using: how, value: what.to_s }
|
235
243
|
else
|
236
|
-
execute :find_element, {}, { using: how, value: what }
|
244
|
+
execute :find_element, {}, { using: how, value: what.to_s }
|
237
245
|
end
|
246
|
+
|
238
247
|
::Appium::Core::Element.new self, element_id_from(id)
|
239
248
|
end
|
240
249
|
|
241
250
|
# For Appium
|
242
251
|
# override
|
243
|
-
def find_elements_by(how, what,
|
252
|
+
def find_elements_by(how, what, parent_ref = [])
|
244
253
|
how, what = convert_locator(how, what)
|
245
254
|
|
246
|
-
|
247
|
-
|
255
|
+
return execute_atom :findElements, Support::RelativeLocator.new(what).as_json if how == 'relative'
|
256
|
+
|
257
|
+
parent_type, parent_id = parent_ref
|
258
|
+
ids = case parent_type
|
259
|
+
when :element
|
260
|
+
execute :find_child_elements, { id: parent_id }, { using: how, value: what.to_s }
|
261
|
+
when :shadow_root
|
262
|
+
execute :find_shadow_child_elements, { id: parent_id }, { using: how, value: what.to_s }
|
248
263
|
else
|
249
|
-
execute :find_elements, {}, { using: how, value: what }
|
264
|
+
execute :find_elements, {}, { using: how, value: what.to_s }
|
250
265
|
end
|
251
266
|
|
252
267
|
ids.map { |id| ::Appium::Core::Element.new self, element_id_from(id) }
|
@@ -283,9 +298,10 @@ module Appium
|
|
283
298
|
|
284
299
|
# For Appium
|
285
300
|
# No implementation for W3C webdriver module
|
286
|
-
def set_location(lat, lon, alt = 0.0, speed: nil)
|
301
|
+
def set_location(lat, lon, alt = 0.0, speed: nil, satellites: nil)
|
287
302
|
loc = { latitude: lat, longitude: lon, altitude: alt }
|
288
303
|
loc[:speed] = speed unless speed.nil?
|
304
|
+
loc[:satellites] = satellites unless satellites.nil?
|
289
305
|
execute :set_location, {}, { location: loc }
|
290
306
|
end
|
291
307
|
|
@@ -326,12 +342,12 @@ module Appium
|
|
326
342
|
execute :get_log_events, {}, args
|
327
343
|
end
|
328
344
|
|
329
|
-
def
|
345
|
+
def viewport_screenshot
|
330
346
|
execute_script('mobile: viewportScreenshot')
|
331
347
|
end
|
332
348
|
|
333
|
-
def
|
334
|
-
execute :take_element_screenshot, id:
|
349
|
+
def element_screenshot(element_id)
|
350
|
+
execute :take_element_screenshot, id: element_id
|
335
351
|
end
|
336
352
|
|
337
353
|
private
|
@@ -57,8 +57,6 @@ module Appium
|
|
57
57
|
# @return [::Appium::Core::Base::Bridge]
|
58
58
|
#
|
59
59
|
def create_bridge(**opts)
|
60
|
-
# TODO: probably Appium does not need this.
|
61
|
-
opts[:url] ||= service_url(opts)
|
62
60
|
caps = opts.delete(:capabilities)
|
63
61
|
# NOTE: This is deprecated
|
64
62
|
cap_array = caps.is_a?(Hash) ? [caps] : Array(caps)
|
@@ -125,8 +123,17 @@ module Appium
|
|
125
123
|
# Other place holders can be specified with +:+ prefix like +:id+.
|
126
124
|
# Then, the +:id+ will be replaced with a given value as the seconds argument of +execute+
|
127
125
|
# @param [Symbol] name The name of method that is called as the driver instance method.
|
128
|
-
# @param [Proc] block The block to involve as the method
|
129
|
-
#
|
126
|
+
# @param [Proc] block The block to involve as the method.
|
127
|
+
# Please define a method that has the same +name+ with arguments you want.
|
128
|
+
# The method must has +execute+ method. tHe +execute+ is calls the +url+
|
129
|
+
# with the given parameters.
|
130
|
+
# The first argument should be +name+ as symbol.
|
131
|
+
# The second argument should be hash. If keys in the hash matches +:+ prefix
|
132
|
+
# string in the given url, the matched string in the given url will be
|
133
|
+
# values in the hash.
|
134
|
+
# The third argument should be hash. The hash will be the request body.
|
135
|
+
# Please read examples below for more details.
|
136
|
+
# @raise [ArgumentError] If the given +method+ is invalid value.
|
130
137
|
#
|
131
138
|
# @example
|
132
139
|
#
|
@@ -153,6 +160,7 @@ module Appium
|
|
153
160
|
# # ':session_id' in the given 'url' is replaced with current 'session id'.
|
154
161
|
# @driver.test_command(1)
|
155
162
|
#
|
163
|
+
#
|
156
164
|
# @driver.add_command(
|
157
165
|
# method: :post,
|
158
166
|
# url: 'session/:session_id/element/:id/custom/action',
|
@@ -167,7 +175,8 @@ module Appium
|
|
167
175
|
# # ':session_id' in the given url is replaced with current 'session id'.
|
168
176
|
# # ':id' in the given url is replaced with the given 'element_id'.
|
169
177
|
# e = @driver.find_element :accessibility_id, 'an element'
|
170
|
-
#
|
178
|
+
# _, element_id = e.ref
|
179
|
+
# @driver.test_action_command(element_id, 'action')
|
171
180
|
#
|
172
181
|
def add_command(method:, url:, name:, &block)
|
173
182
|
unless AVAILABLE_METHODS.include? method
|
@@ -434,30 +443,6 @@ module Appium
|
|
434
443
|
end
|
435
444
|
alias set_context context=
|
436
445
|
|
437
|
-
# Set the value to element directly
|
438
|
-
#
|
439
|
-
# @example
|
440
|
-
#
|
441
|
-
# @driver.set_immediate_value element, 'hello'
|
442
|
-
#
|
443
|
-
def set_immediate_value(element, *value)
|
444
|
-
::Appium::Logger.warn '[DEPRECATION] driver#set_immediate_value(element, *value) is deprecated. ' \
|
445
|
-
'Use Element#immediate_value(*value) instead'
|
446
|
-
@bridge.set_immediate_value(element, *value)
|
447
|
-
end
|
448
|
-
|
449
|
-
# Replace the value to element directly
|
450
|
-
#
|
451
|
-
# @example
|
452
|
-
#
|
453
|
-
# @driver.replace_value element, 'hello'
|
454
|
-
#
|
455
|
-
def replace_value(element, *value)
|
456
|
-
::Appium::Logger.warn '[DEPRECATION] driver#replace_value(element, *value) is deprecated. ' \
|
457
|
-
'Use Element#replace_value(*value) instead'
|
458
|
-
@bridge.replace_value(element, *value)
|
459
|
-
end
|
460
|
-
|
461
446
|
# Place a file in a specific location on the device.
|
462
447
|
# On iOS, the server should have ifuse libraries installed and configured properly for this feature to work on
|
463
448
|
# real devices.
|
@@ -52,19 +52,26 @@ module Appium
|
|
52
52
|
# @param [String, Number] latitude Set the latitude.
|
53
53
|
# @param [String, Number] longitude Set the longitude.
|
54
54
|
# @param [String, Number] altitude Set the altitude.
|
55
|
-
# @param [String, Number] speed Set the speed to apply the location on Android real devices
|
55
|
+
# @param [String, Number] speed Set the speed to apply the location on Android real devices
|
56
|
+
# in meters/second @since Appium 1.21.0 and in knots for emulators @since Appium 1.22.0.
|
57
|
+
# @param [String, Number] satellites Sets the count of geo satellites being tracked in range 1..12 @since Appium 1.22.0.
|
58
|
+
# This number is respected on Emulators.
|
56
59
|
# @param [::Selenium::WebDriver::Location]
|
57
60
|
#
|
58
61
|
# @example
|
59
62
|
#
|
60
63
|
# driver.location = ::Selenium::WebDriver::Location.new(10, 10, 10)
|
61
64
|
#
|
62
|
-
def set_location(latitude, longitude, altitude, speed: nil)
|
63
|
-
if speed.nil?
|
65
|
+
def set_location(latitude, longitude, altitude, speed: nil, satellites: nil)
|
66
|
+
if speed.nil? && satellites.nil?
|
64
67
|
self.location = ::Selenium::WebDriver::Location.new(Float(latitude), Float(longitude), Float(altitude))
|
65
68
|
else
|
66
69
|
loc = ::Selenium::WebDriver::Location.new(Float(latitude), Float(longitude), Float(altitude))
|
67
|
-
|
70
|
+
|
71
|
+
speed = Float(speed) unless speed.nil?
|
72
|
+
satellites = Integer(satellites) unless satellites.nil?
|
73
|
+
|
74
|
+
@bridge.set_location loc.latitude, loc.longitude, loc.altitude, speed: speed, satellites: satellites
|
68
75
|
end
|
69
76
|
end
|
70
77
|
end
|
@@ -82,11 +82,12 @@ module Appium
|
|
82
82
|
# @@driver.element_screenshot_as element, :base64 #=> "iVBORw0KGgoAAAANSUhEUgAABDgAAAB+CAIAAABOPDa6AAAAAX"
|
83
83
|
#
|
84
84
|
def element_screenshot_as(element, format)
|
85
|
+
_, element_id = element.ref
|
85
86
|
case format
|
86
87
|
when :base64
|
87
|
-
bridge.
|
88
|
+
bridge.element_screenshot element_id
|
88
89
|
when :png
|
89
|
-
bridge.
|
90
|
+
bridge.element_screenshot(element_id).unpack('m')[0]
|
90
91
|
else
|
91
92
|
raise Core::Error::UnsupportedOperationError, "unsupported format: #{format.inspect}"
|
92
93
|
end
|
@@ -106,7 +107,7 @@ module Appium
|
|
106
107
|
::Appium::Logger.warn 'name used for saved screenshot does not match file type. '\
|
107
108
|
'It should end with .png extension'
|
108
109
|
end
|
109
|
-
viewport_screenshot_encode64 = bridge.
|
110
|
+
viewport_screenshot_encode64 = bridge.viewport_screenshot
|
110
111
|
File.open(png_path, 'wb') { |f| f << viewport_screenshot_encode64.unpack('m')[0] }
|
111
112
|
end
|
112
113
|
end
|
@@ -17,12 +17,12 @@ module Appium
|
|
17
17
|
class Base
|
18
18
|
module Device
|
19
19
|
module Value
|
20
|
-
def set_immediate_value(
|
21
|
-
execute :set_immediate_value, { id:
|
20
|
+
def set_immediate_value(element_id, *value)
|
21
|
+
execute :set_immediate_value, { id: element_id }, generate_value_and_text(value)
|
22
22
|
end
|
23
23
|
|
24
|
-
def replace_value(
|
25
|
-
execute :replace_value, { id:
|
24
|
+
def replace_value(element_id, *value)
|
25
|
+
execute :replace_value, { id: element_id }, generate_value_and_text(value)
|
26
26
|
end
|
27
27
|
|
28
28
|
private
|
@@ -195,7 +195,10 @@ module Appium
|
|
195
195
|
end
|
196
196
|
|
197
197
|
def args_with_ele_ref(args)
|
198
|
-
|
198
|
+
if args.key? :element
|
199
|
+
_, element_id = args[:element].ref
|
200
|
+
args[:element] = element_id
|
201
|
+
end
|
199
202
|
args
|
200
203
|
end
|
201
204
|
end # class TouchAction
|
@@ -59,20 +59,20 @@ module Appium
|
|
59
59
|
#
|
60
60
|
# @example
|
61
61
|
#
|
62
|
-
#
|
62
|
+
# element.immediate_value 'hello'
|
63
63
|
#
|
64
64
|
def immediate_value(*value)
|
65
|
-
@bridge.set_immediate_value
|
65
|
+
@bridge.set_immediate_value @id, *value
|
66
66
|
end
|
67
67
|
|
68
68
|
# Replace the value to element directly
|
69
69
|
#
|
70
70
|
# @example
|
71
71
|
#
|
72
|
-
#
|
72
|
+
# element.replace_value 'hello'
|
73
73
|
#
|
74
74
|
def replace_value(*value)
|
75
|
-
@bridge.replace_value
|
75
|
+
@bridge.replace_value @id, *value
|
76
76
|
end
|
77
77
|
|
78
78
|
# For use with location_rel.
|
@@ -108,7 +108,7 @@ module Appium
|
|
108
108
|
# element.screenshot #=> "iVBORw0KGgoAAAANSUhEUgAABDgAAAB+CAIAAABOPDa6AAAAAX"
|
109
109
|
#
|
110
110
|
def screenshot
|
111
|
-
bridge.
|
111
|
+
bridge.element_screenshot @id
|
112
112
|
end
|
113
113
|
|
114
114
|
# Return an element screenshot in the given format
|
@@ -123,9 +123,9 @@ module Appium
|
|
123
123
|
def screenshot_as(format)
|
124
124
|
case format
|
125
125
|
when :base64
|
126
|
-
bridge.
|
126
|
+
bridge.element_screenshot @id
|
127
127
|
when :png
|
128
|
-
bridge.
|
128
|
+
bridge.element_screenshot(@id).unpack('m')[0]
|
129
129
|
else
|
130
130
|
raise Core::Error::UnsupportedOperationError, "unsupported format: #{format.inspect}"
|
131
131
|
end
|
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
module Appium
|
16
16
|
module Core
|
17
|
-
VERSION = '5.0.0.
|
18
|
-
DATE = '2021-
|
17
|
+
VERSION = '5.0.0.rc1' unless defined? ::Appium::Core::VERSION
|
18
|
+
DATE = '2021-09-09' unless defined? ::Appium::Core::DATE
|
19
19
|
end
|
20
20
|
end
|
data/release_notes.md
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
#### v4.7.0 2021-07-17
|
2
|
+
|
3
|
+
- [0059974](https://github.com/appium/ruby_lib_core/commit/0059974b0b1d79a822db84d8b0169e8393e00ef9) Release 4.7.0
|
4
|
+
- [0f93a52](https://github.com/appium/ruby_lib_core/commit/0f93a52bbdc44bf916c9b974fe9fd09d48e5ff39) test: add more example and test (#328)
|
5
|
+
- [9e37b3b](https://github.com/appium/ruby_lib_core/commit/9e37b3bc15f72f7c0117a49945a3fe482598f374) feat: add satellites for Android emulators (#327)
|
6
|
+
- [3063a73](https://github.com/appium/ruby_lib_core/commit/3063a73fa291dc378daa53b7df2e4b0b8a6f03d2) ci: calls quit_driver to ensure close the previous session
|
7
|
+
- [43fb9e7](https://github.com/appium/ruby_lib_core/commit/43fb9e77f5492a92f4f8c5a5bda71be9c3a9e2c8) chore: tweak naming in an internal variable
|
8
|
+
|
9
|
+
|
1
10
|
#### v4.6.0 2021-06-03
|
2
11
|
|
3
12
|
- [0dacfab](https://github.com/appium/ruby_lib_core/commit/0dacfab1256e1447e1f7a5974dfcf48ee0a72b9d) Release 4.6.0
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appium_lib_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0.0.
|
4
|
+
version: 5.0.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kazuaki MATSUO
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: selenium-webdriver
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 4.0.0.
|
19
|
+
version: 4.0.0.rc1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 4.0.0.
|
26
|
+
version: 4.0.0.rc1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: faye-websocket
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,28 +114,28 @@ dependencies:
|
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 3.
|
117
|
+
version: 3.14.0
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: 3.
|
124
|
+
version: 3.14.0
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: rubocop
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - '='
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: 1.12.
|
131
|
+
version: 1.12.1
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - '='
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: 1.12.
|
138
|
+
version: 1.12.1
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: appium_thor
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|