appium_lib_core 7.3.1 → 7.4.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/CHANGELOG.md +15 -0
- data/Rakefile +1 -22
- data/appium_lib_core.gemspec +2 -2
- data/lib/appium_lib_core/common/base/bridge.rb +4 -3
- data/lib/appium_lib_core/common/base/driver.rb +5 -3
- data/lib/appium_lib_core/common/device/context.rb +1 -1
- data/lib/appium_lib_core/driver.rb +1 -53
- data/lib/appium_lib_core/version.rb +2 -2
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 76742dd6cc95afc285f18d8a4b8509e49e81365a16b88526fbce2df392075289
|
4
|
+
data.tar.gz: 7ca26f49b6473acc7c1523c7b29f1bed896e88e154ef8c750586202fb69ba4a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3fcb537d9a24c1e7572151f2224c2ff2d7279325de914916031c2b3615561c258a231eaebf99c4b9d029987db4541f24357ac7c9a81f2c809d4c91ba8ff8c799
|
7
|
+
data.tar.gz: ba7acfeddd8820d895e4d927dfb7e487f14f3307761d12dcfcf306f1f98d86d4eef50fd3255b8a383b30a85807de66395b01b026c9d307c53b5c51460f52eaac
|
data/CHANGELOG.md
CHANGED
@@ -10,6 +10,21 @@ Read `release_notes.md` for commit level details.
|
|
10
10
|
|
11
11
|
### Deprecations
|
12
12
|
|
13
|
+
|
14
|
+
## [7.4.0] - 2024-01-23
|
15
|
+
|
16
|
+
### Enhancement
|
17
|
+
- Bump `selenium-webdriver` max
|
18
|
+
|
19
|
+
### Deprecatioons
|
20
|
+
- Removed deprecated `core#platform_version` and `core#write_session_id`
|
21
|
+
- Please refer to the capabilities' value and `driver.session_id`
|
22
|
+
|
23
|
+
## [7.3.2] - 2023-11-08
|
24
|
+
|
25
|
+
### Bug fixes
|
26
|
+
- Fix default value fo set context
|
27
|
+
|
13
28
|
## [7.3.1] - 2023-11-04
|
14
29
|
### Enhancements
|
15
30
|
- Bump `selenium-webdriver` max
|
data/Rakefile
CHANGED
@@ -113,28 +113,7 @@ end
|
|
113
113
|
|
114
114
|
desc('Execute RuboCop static code analysis')
|
115
115
|
RuboCop::RakeTask.new(:rubocop) do |t|
|
116
|
-
t.patterns = %w(lib test
|
116
|
+
t.patterns = %w(lib test)
|
117
117
|
t.options = %w(-D)
|
118
118
|
t.fail_on_error = true
|
119
119
|
end
|
120
|
-
|
121
|
-
desc('print commands which Ruby client has not implemented them yet')
|
122
|
-
namespace :commands do
|
123
|
-
require './script/commands'
|
124
|
-
|
125
|
-
desc('Mobile JSON protocol')
|
126
|
-
task :mjsonwp do |_t, _args|
|
127
|
-
c = Script::CommandsChecker.new
|
128
|
-
c.get_mjsonwp_routes
|
129
|
-
c.get_all_command_path './mjsonwp_routes.js'
|
130
|
-
c.all_diff_commands_mjsonwp.each { |key, value| puts("command: #{key}, method: #{value}") }
|
131
|
-
end
|
132
|
-
|
133
|
-
desc('W3C protocol')
|
134
|
-
task :w3c do |_t, _args|
|
135
|
-
c = Script::CommandsChecker.new
|
136
|
-
c.get_mjsonwp_routes
|
137
|
-
c.get_all_command_path './mjsonwp_routes.js'
|
138
|
-
c.all_diff_commands_w3c.each { |key, value| puts("command: #{key}, method: #{value}") }
|
139
|
-
end
|
140
|
-
end
|
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.2', '< 4.
|
25
|
+
spec.add_runtime_dependency 'selenium-webdriver', '~> 4.2', '< 4.18'
|
26
26
|
spec.add_runtime_dependency 'faye-websocket', '~> 0.11.0'
|
27
27
|
|
28
28
|
spec.add_development_dependency 'rake', '~> 13.0'
|
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.add_development_dependency 'minitest', '~> 5.0'
|
31
31
|
spec.add_development_dependency 'minitest-reporters', '~> 1.1'
|
32
32
|
spec.add_development_dependency 'webmock', '~> 3.19.0'
|
33
|
-
spec.add_development_dependency 'rubocop', '1.
|
33
|
+
spec.add_development_dependency 'rubocop', '1.60.1'
|
34
34
|
spec.add_development_dependency 'appium_thor', '~> 1.0'
|
35
35
|
spec.add_development_dependency 'parallel_tests'
|
36
36
|
spec.add_development_dependency 'simplecov'
|
@@ -181,9 +181,10 @@ module Appium
|
|
181
181
|
|
182
182
|
# Perform 'touch' actions for W3C module.
|
183
183
|
# Generate +touch+ pointer action here and users can use this via +driver.action+
|
184
|
-
# - https://
|
185
|
-
# - https://
|
186
|
-
# - https://
|
184
|
+
# - https://www.selenium.dev/documentation/webdriver/actions_api/
|
185
|
+
# - https://www.selenium.dev/selenium/docs/api/rb/Selenium/WebDriver/ActionBuilder.html
|
186
|
+
# - https://www.selenium.dev/selenium/docs/api/rb/Selenium/WebDriver/PointerActions.html
|
187
|
+
# - https://www.selenium.dev/selenium/docs/api/rb/Selenium/WebDriver/KeyActions.html
|
187
188
|
#
|
188
189
|
# The pointer type is 'touch' by default in the Appium Ruby client.
|
189
190
|
#
|
@@ -201,8 +201,8 @@ module Appium
|
|
201
201
|
|
202
202
|
# Perform 'key' actions for W3C module.
|
203
203
|
# Generate +key+ pointer action here and users can use this via +driver.key_action+
|
204
|
-
# - https://
|
205
|
-
# - https://
|
204
|
+
# - https://www.selenium.dev/selenium/docs/api/rb/Selenium/WebDriver/ActionBuilder.html
|
205
|
+
# - https://www.selenium.dev/selenium/docs/api/rb/Selenium/WebDriver/KeyActions.html
|
206
206
|
#
|
207
207
|
# The pointer type is 'key' by default in the Appium Ruby client.
|
208
208
|
# +driver.action+ in Appium Ruby client has 'pointer' action by default.
|
@@ -434,6 +434,7 @@ module Appium
|
|
434
434
|
block_given? ? @bridge.within_context(context, &block) : @bridge.within_context(context)
|
435
435
|
end
|
436
436
|
|
437
|
+
# @deprecated Use set context with proper context name instead.
|
437
438
|
# Change to the default context. This is equivalent to +set_context nil+.
|
438
439
|
#
|
439
440
|
# @example
|
@@ -441,6 +442,7 @@ module Appium
|
|
441
442
|
# @driver.switch_to_default_context
|
442
443
|
#
|
443
444
|
def switch_to_default_context
|
445
|
+
::Appium::Logger.warn '[DEPRECATION] Please set proper context instead of calling this method.'
|
444
446
|
@bridge.switch_to_default_context
|
445
447
|
end
|
446
448
|
|
@@ -472,7 +474,7 @@ module Appium
|
|
472
474
|
# @driver.set_context "NATIVE_APP"
|
473
475
|
# @driver.context = "NATIVE_APP"
|
474
476
|
#
|
475
|
-
def context=(context =
|
477
|
+
def context=(context = nil)
|
476
478
|
@bridge.set_context(context)
|
477
479
|
end
|
478
480
|
alias set_context context=
|
@@ -36,7 +36,7 @@ module Appium
|
|
36
36
|
# This options affects only client side as <code>:appium_lib</code> key.<br>
|
37
37
|
# Read {::Appium::Core::Driver} about each attribute
|
38
38
|
class Options
|
39
|
-
attr_reader :custom_url, :default_wait,
|
39
|
+
attr_reader :custom_url, :default_wait,
|
40
40
|
:port, :wait_timeout, :wait_interval, :listener,
|
41
41
|
:direct_connect, :enable_idempotency_header
|
42
42
|
|
@@ -45,10 +45,6 @@ module Appium
|
|
45
45
|
@default_wait = appium_lib_opts.fetch :wait, nil
|
46
46
|
@enable_idempotency_header = appium_lib_opts.fetch :enable_idempotency_header, true
|
47
47
|
|
48
|
-
# bump current session id into a particular file
|
49
|
-
@export_session = appium_lib_opts.fetch :export_session, false
|
50
|
-
@export_session_path = appium_lib_opts.fetch :export_session_path, default_tmp_appium_lib_session
|
51
|
-
|
52
48
|
@direct_connect = appium_lib_opts.fetch :direct_connect, true
|
53
49
|
|
54
50
|
@port = appium_lib_opts.fetch :port, Driver::DEFAULT_APPIUM_PORT
|
@@ -137,12 +133,6 @@ module Appium
|
|
137
133
|
# @return [String]
|
138
134
|
attr_reader :custom_url
|
139
135
|
|
140
|
-
# Export session id to textfile in /tmp for 3rd party tools. False by default.
|
141
|
-
# @return [Boolean]
|
142
|
-
attr_reader :export_session
|
143
|
-
# @return [String] By default, session id is exported in '/tmp/appium_lib_session'
|
144
|
-
attr_reader :export_session_path
|
145
|
-
|
146
136
|
# Default wait time for elements to appear in Appium server side.
|
147
137
|
# Provide <code>{ appium_lib: { wait: 30 } }</code> to {::Appium::Core.for}
|
148
138
|
# @return [Integer]
|
@@ -222,7 +212,6 @@ module Appium
|
|
222
212
|
# app: '/path/to/MyiOS.app'
|
223
213
|
# },
|
224
214
|
# appium_lib: {
|
225
|
-
# export_session: false,
|
226
215
|
# port: 8080,
|
227
216
|
# wait: 0,
|
228
217
|
# wait_timeout: 20,
|
@@ -245,7 +234,6 @@ module Appium
|
|
245
234
|
# },
|
246
235
|
# appium_lib: {
|
247
236
|
# server_url: 'http://custom-host:8080/wd/hub.com',
|
248
|
-
# export_session: false,
|
249
237
|
# wait: 0,
|
250
238
|
# wait_timeout: 20,
|
251
239
|
# wait_interval: 0.3,
|
@@ -266,7 +254,6 @@ module Appium
|
|
266
254
|
# app: '/path/to/MyiOS.app'
|
267
255
|
# },
|
268
256
|
# appium_lib: {
|
269
|
-
# export_session: false,
|
270
257
|
# wait: 0,
|
271
258
|
# wait_timeout: 20,
|
272
259
|
# wait_interval: 0.3,
|
@@ -439,9 +426,6 @@ module Appium
|
|
439
426
|
d_c = DirectConnections.new(@driver.capabilities)
|
440
427
|
@driver.update_sending_request_to(protocol: d_c.protocol, host: d_c.host, port: d_c.port, path: d_c.path)
|
441
428
|
end
|
442
|
-
|
443
|
-
# export session
|
444
|
-
write_session_id(@driver.session_id, @export_session_path) if @export_session
|
445
429
|
rescue Errno::ECONNREFUSED
|
446
430
|
raise "ERROR: Unable to connect to Appium. Is the server running on #{@custom_url}?"
|
447
431
|
end
|
@@ -494,9 +478,6 @@ module Appium
|
|
494
478
|
existing_session_id: session_id,
|
495
479
|
automation_name: automation_name,
|
496
480
|
platform_name: platform_name)
|
497
|
-
|
498
|
-
# export session
|
499
|
-
write_session_id(@driver.session_id, @export_session_path) if @export_session
|
500
481
|
rescue Errno::ECONNREFUSED
|
501
482
|
raise "ERROR: Unable to connect to Appium. Is the server running on #{@custom_url}?"
|
502
483
|
end
|
@@ -568,23 +549,6 @@ module Appium
|
|
568
549
|
{}
|
569
550
|
end
|
570
551
|
|
571
|
-
# Return the platform version as an array of integers
|
572
|
-
# @return [Array<Integer>]
|
573
|
-
#
|
574
|
-
# @example
|
575
|
-
#
|
576
|
-
# @core.platform_version #=> [10,1,1]
|
577
|
-
#
|
578
|
-
def platform_version
|
579
|
-
::Appium::Logger.warn(
|
580
|
-
'[DEPRECATION] platform_version method will be. ' \
|
581
|
-
'Please check the platformVersion via @driver.capabilities["platformVersion"] instead.'
|
582
|
-
)
|
583
|
-
|
584
|
-
p_version = @driver.capabilities['platformVersion'] || @driver.session_capabilities['platformVersion']
|
585
|
-
p_version.split('.').map(&:to_i)
|
586
|
-
end
|
587
|
-
|
588
552
|
private
|
589
553
|
|
590
554
|
def convert_to_symbol(value)
|
@@ -699,9 +663,6 @@ module Appium
|
|
699
663
|
|
700
664
|
@default_wait = opts.default_wait
|
701
665
|
|
702
|
-
@export_session = opts.export_session
|
703
|
-
@export_session_path = opts.export_session_path
|
704
|
-
|
705
666
|
@port = opts.port
|
706
667
|
|
707
668
|
@wait_timeout = opts.wait_timeout
|
@@ -743,19 +704,6 @@ module Appium
|
|
743
704
|
@driver.capabilities['automationName'].downcase.strip.intern
|
744
705
|
end
|
745
706
|
end
|
746
|
-
|
747
|
-
# @private
|
748
|
-
def write_session_id(session_id, export_path = '/tmp/appium_lib_session')
|
749
|
-
::Appium::Logger.warn(
|
750
|
-
'[DEPRECATION] export_session option will be removed. ' \
|
751
|
-
'Please save the session id by yourself with #session_id method like @driver.session_id.'
|
752
|
-
)
|
753
|
-
export_path = export_path.tr('/', '\\') if ::Appium::Core::Base.platform.windows?
|
754
|
-
File.write(export_path, session_id)
|
755
|
-
rescue IOError => e
|
756
|
-
::Appium::Logger.warn e
|
757
|
-
nil
|
758
|
-
end
|
759
707
|
end # class Driver
|
760
708
|
end # module Core
|
761
709
|
end # module Appium
|
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
module Appium
|
16
16
|
module Core
|
17
|
-
VERSION = '7.
|
18
|
-
DATE = '
|
17
|
+
VERSION = '7.4.0' unless defined? ::Appium::Core::VERSION
|
18
|
+
DATE = '2024-01-23' unless defined? ::Appium::Core::DATE
|
19
19
|
end
|
20
20
|
end
|
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: 7.
|
4
|
+
version: 7.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kazuaki MATSUO
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: selenium-webdriver
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: '4.2'
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '4.
|
22
|
+
version: '4.18'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
version: '4.2'
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '4.
|
32
|
+
version: '4.18'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: faye-websocket
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -120,14 +120,14 @@ dependencies:
|
|
120
120
|
requirements:
|
121
121
|
- - '='
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version: 1.
|
123
|
+
version: 1.60.1
|
124
124
|
type: :development
|
125
125
|
prerelease: false
|
126
126
|
version_requirements: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
128
|
- - '='
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version: 1.
|
130
|
+
version: 1.60.1
|
131
131
|
- !ruby/object:Gem::Dependency
|
132
132
|
name: appium_thor
|
133
133
|
requirement: !ruby/object:Gem::Requirement
|