appium_lib_core 4.1.0 → 5.0.0.beta2
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/.github/dependabot.yml +8 -0
- data/.github/workflows/unittest.yml +2 -2
- data/CHANGELOG.md +40 -275
- data/appium_lib_core.gemspec +4 -4
- data/ci-jobs/functional/run_appium.yml +2 -2
- data/ci-jobs/functional_test.yml +1 -1
- data/lib/appium_lib_core/android/device.rb +4 -4
- data/lib/appium_lib_core/common/base/bridge.rb +263 -88
- data/lib/appium_lib_core/common/base/capabilities.rb +3 -3
- data/lib/appium_lib_core/common/base/driver.rb +92 -37
- data/lib/appium_lib_core/common/base/has_location.rb +73 -0
- data/lib/appium_lib_core/common/base/has_network_connection.rb +56 -0
- data/lib/appium_lib_core/common/base/http_default.rb +1 -3
- data/lib/appium_lib_core/common/base/remote_status.rb +31 -0
- data/lib/appium_lib_core/common/base/rotable.rb +54 -0
- data/lib/appium_lib_core/common/base/screenshot.rb +1 -1
- data/lib/appium_lib_core/common/base/search_context.rb +2 -0
- data/lib/appium_lib_core/common/base.rb +1 -3
- data/lib/appium_lib_core/common/command.rb +259 -4
- data/lib/appium_lib_core/common/device/image_comparison.rb +12 -4
- data/lib/appium_lib_core/common/{command/mjsonwp.rb → device/orientation.rb} +14 -11
- data/lib/appium_lib_core/device.rb +1 -5
- data/lib/appium_lib_core/driver.rb +18 -13
- data/lib/appium_lib_core/{patch.rb → element.rb} +53 -5
- data/lib/appium_lib_core/ios/uiautomation/patch.rb +1 -1
- data/lib/appium_lib_core/{common/base/command.rb → mac2/bridge.rb} +9 -8
- data/lib/appium_lib_core/mac2/device/screen.rb +48 -0
- data/lib/appium_lib_core/mac2/device.rb +92 -0
- data/lib/appium_lib_core/mac2.rb +17 -0
- data/lib/appium_lib_core/version.rb +2 -2
- data/lib/appium_lib_core.rb +1 -4
- data/release_notes.md +59 -0
- data/script/commands.rb +3 -37
- metadata +24 -26
- data/lib/appium_lib_core/common/base/bridge/mjsonwp.rb +0 -81
- data/lib/appium_lib_core/common/base/bridge/w3c.rb +0 -252
- data/lib/appium_lib_core/common/command/common.rb +0 -110
- data/lib/appium_lib_core/common/command/w3c.rb +0 -56
@@ -0,0 +1,92 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
require_relative 'device/screen'
|
16
|
+
|
17
|
+
module Appium
|
18
|
+
module Core
|
19
|
+
module Mac2
|
20
|
+
module Device
|
21
|
+
extend Forwardable
|
22
|
+
|
23
|
+
# rubocop:disable Layout/LineLength
|
24
|
+
|
25
|
+
# @since Appium 1.20.0
|
26
|
+
# @!method start_recording_screen(remote_path: nil, user: nil, pass: nil, method: 'PUT', file_field_name: nil, form_fields: nil, headers: nil, force_restart: nil, fps: nil, preset: nil, video_filter: nil, enable_capture_clicks: nil, enable_cursor_capture: nil, device_id: nil)
|
27
|
+
#
|
28
|
+
# Record the display of devices running iOS Simulator since Xcode 9 or real devices since iOS 11
|
29
|
+
# (ffmpeg utility is required: 'brew install ffmpeg').
|
30
|
+
# We would recommend to play the video by VLC or Mplayer if you can not play the video with other video players.
|
31
|
+
#
|
32
|
+
# @param [String] remote_path The path to the remote location, where the resulting video should be uploaded.
|
33
|
+
# The following protocols are supported: http/https, ftp.
|
34
|
+
# Null or empty string value (the default setting) means the content of resulting
|
35
|
+
# file should be encoded as Base64 and passed as the endpount response value.
|
36
|
+
# An exception will be thrown if the generated media file is too big to
|
37
|
+
# fit into the available process memory.
|
38
|
+
# This option only has an effect if there is screen recording process in progreess
|
39
|
+
# and +forceRestart+ parameter is not set to +true+.
|
40
|
+
# @param [String] user The name of the user for the remote authentication.
|
41
|
+
# @param [String] pass The password for the remote authentication.
|
42
|
+
# @param [String] method The http multipart upload method name. The 'PUT' one is used by default.
|
43
|
+
# @param [String] file_field_name The name of the form field containing the binary payload in multipart/form-data
|
44
|
+
# requests since Appium 1.18.0. Defaults to 'file'.
|
45
|
+
# @param [Array<Hash, Array<String>>] form_fields The form fields mapping in multipart/form-data requests since Appium 1.18.0.
|
46
|
+
# If any entry has the same key in this mapping, then it is going to be ignored.
|
47
|
+
# @param [Hash] headers The additional headers in multipart/form-data requests since Appium 1.18.0.
|
48
|
+
# @param [Boolean] force_restart Whether to try to catch and upload/return the currently running screen recording
|
49
|
+
# (+false+, the default setting on server) or ignore the result of it
|
50
|
+
# and start a new recording immediately (+true+).
|
51
|
+
# @param [integer] fps The count of frames per second in the resulting video.
|
52
|
+
# Increasing fps value also increases the size of the resulting video file and the CPU usage.
|
53
|
+
# The default value is 15.
|
54
|
+
# @param [String] preset A preset is a collection of options that will provide a certain encoding speed to compression ratio.
|
55
|
+
# A slower preset will provide better compression (compression is quality per filesize).
|
56
|
+
# This means that, for example, if you target a certain file size or constant bit rate, you will
|
57
|
+
# achieve better quality with a slower preset. Read https://trac.ffmpeg.org/wiki/Encode/H.264
|
58
|
+
# for more details.
|
59
|
+
# @param [Boolean] enable_cursor_capture Whether to capture the click gestures while recording the screen. Disabled by default.
|
60
|
+
# @param [Boolean] enable_capture_clicks Recording time. 180 seconds is by default.
|
61
|
+
# @param [String] video_filter The video filter spec to apply for ffmpeg.
|
62
|
+
# See https://trac.ffmpeg.org/wiki/FilteringGuide for more details on the possible values.
|
63
|
+
# Example: Set it to +scale=ifnot(gte(iw\,1024)\,iw\,1024):-2+ in order to limit the video width
|
64
|
+
# to 1024px. The height will be adjusted automatically to match the actual screen aspect ratio.
|
65
|
+
# @param [integer] device_id Screen device index to use for the recording.
|
66
|
+
# The list of available devices could be retrieved using
|
67
|
+
# +ffmpeg -f avfoundation -list_devices true -i ""+ command.
|
68
|
+
# This option is mandatory and must be always provided.
|
69
|
+
# @param [String] time_limit The maximum recording time. The default value is 600 seconds (10 minutes).
|
70
|
+
# The minimum time resolution unit is one second.
|
71
|
+
#
|
72
|
+
# @example
|
73
|
+
#
|
74
|
+
# @driver.start_recording_screen
|
75
|
+
# @driver.start_recording_screen fps: 30, enable_cursor_capture: true
|
76
|
+
#
|
77
|
+
|
78
|
+
# rubocop:enable Layout/LineLength
|
79
|
+
|
80
|
+
####
|
81
|
+
## class << self
|
82
|
+
####
|
83
|
+
|
84
|
+
class << self
|
85
|
+
def extended(_mod)
|
86
|
+
Screen.add_methods
|
87
|
+
end
|
88
|
+
end # class << self
|
89
|
+
end # module Device
|
90
|
+
end # module Mac2
|
91
|
+
end # module Core
|
92
|
+
end # module Appium
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
# loaded in common/driver.rb
|
16
|
+
require_relative 'mac2/device'
|
17
|
+
require_relative 'mac2/bridge'
|
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
module Appium
|
16
16
|
module Core
|
17
|
-
VERSION = '
|
18
|
-
DATE = '
|
17
|
+
VERSION = '5.0.0.beta2' unless defined? ::Appium::Core::VERSION
|
18
|
+
DATE = '2021-04-13' unless defined? ::Appium::Core::DATE
|
19
19
|
end
|
20
20
|
end
|
data/lib/appium_lib_core.rb
CHANGED
@@ -17,11 +17,8 @@ require 'selenium-webdriver'
|
|
17
17
|
require_relative 'appium_lib_core/version'
|
18
18
|
require_relative 'appium_lib_core/common'
|
19
19
|
require_relative 'appium_lib_core/driver'
|
20
|
-
|
21
20
|
require_relative 'appium_lib_core/device'
|
22
|
-
|
23
|
-
# Call patch after requiring other files
|
24
|
-
require_relative 'appium_lib_core/patch'
|
21
|
+
require_relative 'appium_lib_core/element'
|
25
22
|
|
26
23
|
module Appium
|
27
24
|
# convert all keys (including nested) to symbols
|
data/release_notes.md
CHANGED
@@ -1,3 +1,62 @@
|
|
1
|
+
#### v4.5.0 2021-03-14
|
2
|
+
|
3
|
+
- [656230e](https://github.com/appium/ruby_lib_core/commit/656230e688ed86414c06efaa73bce7359933cc91) Release 4.5.0
|
4
|
+
- [a0a3cfc](https://github.com/appium/ruby_lib_core/commit/a0a3cfc71783bed3d1b0e7afbf6bc0a27bf60a48) feat: add speed option (#318)
|
5
|
+
- [16b4f09](https://github.com/appium/ruby_lib_core/commit/16b4f0991deb639314857c3cbece1e4d00393646) feat: add multiple and match_neighbour_threshold (#313)
|
6
|
+
- [d195a5b](https://github.com/appium/ruby_lib_core/commit/d195a5ba48c2e1a7229e0145eac616fd886c1ee0) ci: use node 12
|
7
|
+
|
8
|
+
|
9
|
+
#### v4.4.1 2021-02-15
|
10
|
+
|
11
|
+
- [dc34419](https://github.com/appium/ruby_lib_core/commit/dc34419dfcc4dd8d499a6407d45ab3efe70c2445) Release 4.4.1
|
12
|
+
- [3085048](https://github.com/appium/ruby_lib_core/commit/3085048b4816e3415017ebb188e653c8e229a05e) chore: return {} in nil case as well
|
13
|
+
|
14
|
+
|
15
|
+
#### v4.4.0 2021-02-13
|
16
|
+
|
17
|
+
- [06c68fb](https://github.com/appium/ruby_lib_core/commit/06c68fbe3ffdbb7b068d2f71ad6841c66dbabf8f) Release 4.4.0
|
18
|
+
- [3c54ae2](https://github.com/appium/ruby_lib_core/commit/3c54ae25d9a334f3690c94ce8a59a5c6a4bacd20) feat: always return {} in appium_server_version for errors (#311)
|
19
|
+
|
20
|
+
|
21
|
+
#### v4.3.1 2021-02-07
|
22
|
+
|
23
|
+
- [1f4d52c](https://github.com/appium/ruby_lib_core/commit/1f4d52cc915783cf89cf4b8ca5a21bd1af5403e0) Release 4.3.1
|
24
|
+
- [fb41014](https://github.com/appium/ruby_lib_core/commit/fb410146567ed03902b602813881fd3abc3a3d28) chore: change log level
|
25
|
+
- [1e54662](https://github.com/appium/ruby_lib_core/commit/1e546628c871e4ed9c8aa038a455d03e4e2e6c4e) chore : Create Dependabot config file (#309)
|
26
|
+
|
27
|
+
|
28
|
+
#### v4.3.0 2021-02-05
|
29
|
+
|
30
|
+
- [6e85426](https://github.com/appium/ruby_lib_core/commit/6e85426c1ff8f3e4b90d3da5305d493500539467) Release 4.3.0
|
31
|
+
- [405b3d8](https://github.com/appium/ruby_lib_core/commit/405b3d8e627323376dbf74a4423d0ebce5ca0cad) feat: Add mac2 module and screen recording option (#308)
|
32
|
+
- [876d254](https://github.com/appium/ruby_lib_core/commit/876d25494c76c31ad5c26900d6e30e30ecd8d20c) chore: teak types in yardoc (#307)
|
33
|
+
- [7548ea9](https://github.com/appium/ruby_lib_core/commit/7548ea9cb7e031a3689a63e75d32da82d317488a) test: add wait
|
34
|
+
- [9d6fef4](https://github.com/appium/ruby_lib_core/commit/9d6fef469fad8bccf61ee6565f2e30095f4e2a6a) feat: makes direct_connect true by default (#303)
|
35
|
+
- [761067e](https://github.com/appium/ruby_lib_core/commit/761067e5c42cfb3e4c1e5c5a377dbeb3c903eb7b) test: add location test (#302)
|
36
|
+
- [bd33397](https://github.com/appium/ruby_lib_core/commit/bd3339791552d2eb5181ca4475c9ebc90644a456) chore(deps-dev): update rubocop requirement from = 1.8.0 to = 1.8.1 (#301)
|
37
|
+
|
38
|
+
|
39
|
+
#### v4.2.1 2021-01-10
|
40
|
+
|
41
|
+
- [23e944e](https://github.com/appium/ruby_lib_core/commit/23e944ed72c6ea861532f5acc1381af4441705e6) Release 4.2.1
|
42
|
+
- [1a416b1](https://github.com/appium/ruby_lib_core/commit/1a416b136beb2b9115d3eb6637b22817f0e55601) chore: move rotable for w3c (#300)
|
43
|
+
- [95821c6](https://github.com/appium/ruby_lib_core/commit/95821c6f1a4ebc785e2dc3e6e16c1705521237e8) ci: bump android app (#299)
|
44
|
+
- [4e1770e](https://github.com/appium/ruby_lib_core/commit/4e1770e3b9d6995b1d5430b9033097609edca1c8) chore(deps-dev): update rubocop requirement from = 1.7.0 to = 1.8.0 (#298)
|
45
|
+
- [b230512](https://github.com/appium/ruby_lib_core/commit/b230512c52875ea70545d3d2262c306640f87f7d) chore: fix rubocop
|
46
|
+
|
47
|
+
|
48
|
+
#### v4.2.0 2021-01-02
|
49
|
+
|
50
|
+
- [e55b2b6](https://github.com/appium/ruby_lib_core/commit/e55b2b6f7fe293091be0d3835075e66c74f3b9dd) Release 4.2.0
|
51
|
+
- [b0cd235](https://github.com/appium/ruby_lib_core/commit/b0cd235a7fb6e5a8957871650bf86962cf0e0368) feat: append screenshot in element module as well (#297)
|
52
|
+
|
53
|
+
|
54
|
+
#### v4.1.1 2020-12-25
|
55
|
+
|
56
|
+
- [3a4cf56](https://github.com/appium/ruby_lib_core/commit/3a4cf56c73a64fb10ca0b7fecc5800719838095c) Release 4.1.1
|
57
|
+
- [6b2d7dd](https://github.com/appium/ruby_lib_core/commit/6b2d7ddf027b5a9f49cbe9a7f5622eb345e2c076) fix: keyword argument in Ruby 3
|
58
|
+
|
59
|
+
|
1
60
|
#### v4.1.0 2020-12-25
|
2
61
|
|
3
62
|
- [89110a9](https://github.com/appium/ruby_lib_core/commit/89110a995b869471a134f8c45ebe8dfbaabfba63) Release 4.1.0
|
data/script/commands.rb
CHANGED
@@ -18,26 +18,18 @@ require './lib/appium_lib_core'
|
|
18
18
|
module Script
|
19
19
|
class CommandsChecker
|
20
20
|
attr_reader :spec_commands,
|
21
|
-
:
|
22
|
-
:
|
21
|
+
:implemented_w3c_commands, :implemented_core_commands,
|
22
|
+
:webdriver_w3c_commands
|
23
23
|
|
24
24
|
# Set commands implemented in this core library.
|
25
25
|
#
|
26
|
-
# -
|
27
|
-
# - implemented_w3c_commands: All commands include ::Selenium::WebDriver::Remote::W3C::Bridge::COMMANDS
|
26
|
+
# - implemented_w3c_commands: All commands include ::Selenium::WebDriver::Remote::Bridge::COMMANDS
|
28
27
|
# - implemented_core_commands: All commands except for selenium-webdriver's commands
|
29
|
-
# - webdriver_oss_commands: ::Selenium::WebDriver::Remote::OSS::Bridge::COMMANDS
|
30
|
-
# - webdriver_w3c_commands: ::Selenium::WebDriver::Remote::W3C::Bridge::COMMANDS
|
31
28
|
#
|
32
29
|
def initialize
|
33
30
|
@spec_commands = nil
|
34
31
|
|
35
|
-
@implemented_mjsonwp_commands = convert_driver_commands Appium::Core::Commands::MJSONWP::COMMANDS
|
36
|
-
@implemented_w3c_commands = convert_driver_commands Appium::Core::Commands::W3C::COMMANDS
|
37
32
|
@implemented_core_commands = convert_driver_commands Appium::Core::Commands::COMMANDS
|
38
|
-
|
39
|
-
@webdriver_oss_commands = convert_driver_commands Appium::Core::Base::Commands::OSS
|
40
|
-
@webdriver_w3c_commands = convert_driver_commands Appium::Core::Base::Commands::W3C
|
41
33
|
end
|
42
34
|
|
43
35
|
# Get the bellow url's file.
|
@@ -80,18 +72,6 @@ module Script
|
|
80
72
|
end
|
81
73
|
end
|
82
74
|
|
83
|
-
# All commands which haven't been implemented in ruby core library yet.
|
84
|
-
# @return [Hash]
|
85
|
-
#
|
86
|
-
def all_diff_commands_mjsonwp
|
87
|
-
result = compare_commands(@spec_commands, @implemented_mjsonwp_commands)
|
88
|
-
|
89
|
-
white_list.each { |v| result.delete v }
|
90
|
-
w3c_spec.each { |v| result.delete v }
|
91
|
-
|
92
|
-
result
|
93
|
-
end
|
94
|
-
|
95
75
|
# All commands which haven't been implemented in ruby core library yet.
|
96
76
|
# @return [Hash]
|
97
77
|
#
|
@@ -111,20 +91,6 @@ module Script
|
|
111
91
|
result
|
112
92
|
end
|
113
93
|
|
114
|
-
def diff_webdriver_oss
|
115
|
-
result = compare_commands(@spec_commands, @webdriver_oss_commands)
|
116
|
-
white_list.each { |v| result.delete v }
|
117
|
-
w3c_spec.each { |v| result.delete v }
|
118
|
-
result
|
119
|
-
end
|
120
|
-
|
121
|
-
def diff_webdriver_w3c
|
122
|
-
result = compare_commands(@spec_commands, @webdriver_w3c_commands)
|
123
|
-
white_list.each { |v| result.delete v }
|
124
|
-
mjsonwp_spec.each { |v| result.delete v }
|
125
|
-
result
|
126
|
-
end
|
127
|
-
|
128
94
|
def compare_commands(command1, with_command2)
|
129
95
|
return {} if command1.nil?
|
130
96
|
return command1 if with_command2.nil?
|
metadata
CHANGED
@@ -1,35 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appium_lib_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 5.0.0.beta2
|
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: 2021-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: selenium-webdriver
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '3.14'
|
20
|
-
- - ">="
|
17
|
+
- - '='
|
21
18
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
19
|
+
version: 4.0.0.beta2
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '3.14'
|
30
|
-
- - ">="
|
24
|
+
- - '='
|
31
25
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
26
|
+
version: 4.0.0.beta2
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
28
|
name: faye-websocket
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -120,28 +114,28 @@ dependencies:
|
|
120
114
|
requirements:
|
121
115
|
- - "~>"
|
122
116
|
- !ruby/object:Gem::Version
|
123
|
-
version: 3.
|
117
|
+
version: 3.12.1
|
124
118
|
type: :development
|
125
119
|
prerelease: false
|
126
120
|
version_requirements: !ruby/object:Gem::Requirement
|
127
121
|
requirements:
|
128
122
|
- - "~>"
|
129
123
|
- !ruby/object:Gem::Version
|
130
|
-
version: 3.
|
124
|
+
version: 3.12.1
|
131
125
|
- !ruby/object:Gem::Dependency
|
132
126
|
name: rubocop
|
133
127
|
requirement: !ruby/object:Gem::Requirement
|
134
128
|
requirements:
|
135
129
|
- - '='
|
136
130
|
- !ruby/object:Gem::Version
|
137
|
-
version: 1.
|
131
|
+
version: 1.12.0
|
138
132
|
type: :development
|
139
133
|
prerelease: false
|
140
134
|
version_requirements: !ruby/object:Gem::Requirement
|
141
135
|
requirements:
|
142
136
|
- - '='
|
143
137
|
- !ruby/object:Gem::Version
|
144
|
-
version: 1.
|
138
|
+
version: 1.12.0
|
145
139
|
- !ruby/object:Gem::Dependency
|
146
140
|
name: appium_thor
|
147
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -221,6 +215,7 @@ extra_rdoc_files: []
|
|
221
215
|
files:
|
222
216
|
- ".github/ISSUE_TEMPLATE/issue-report.md"
|
223
217
|
- ".github/contributing.md"
|
218
|
+
- ".github/dependabot.yml"
|
224
219
|
- ".github/issue_template.md"
|
225
220
|
- ".github/workflows/unittest.yml"
|
226
221
|
- ".gitignore"
|
@@ -261,19 +256,17 @@ files:
|
|
261
256
|
- lib/appium_lib_core/common.rb
|
262
257
|
- lib/appium_lib_core/common/base.rb
|
263
258
|
- lib/appium_lib_core/common/base/bridge.rb
|
264
|
-
- lib/appium_lib_core/common/base/bridge/mjsonwp.rb
|
265
|
-
- lib/appium_lib_core/common/base/bridge/w3c.rb
|
266
259
|
- lib/appium_lib_core/common/base/capabilities.rb
|
267
|
-
- lib/appium_lib_core/common/base/command.rb
|
268
260
|
- lib/appium_lib_core/common/base/driver.rb
|
261
|
+
- lib/appium_lib_core/common/base/has_location.rb
|
262
|
+
- lib/appium_lib_core/common/base/has_network_connection.rb
|
269
263
|
- lib/appium_lib_core/common/base/http_default.rb
|
270
264
|
- lib/appium_lib_core/common/base/platform.rb
|
265
|
+
- lib/appium_lib_core/common/base/remote_status.rb
|
266
|
+
- lib/appium_lib_core/common/base/rotable.rb
|
271
267
|
- lib/appium_lib_core/common/base/screenshot.rb
|
272
268
|
- lib/appium_lib_core/common/base/search_context.rb
|
273
269
|
- lib/appium_lib_core/common/command.rb
|
274
|
-
- lib/appium_lib_core/common/command/common.rb
|
275
|
-
- lib/appium_lib_core/common/command/mjsonwp.rb
|
276
|
-
- lib/appium_lib_core/common/command/w3c.rb
|
277
270
|
- lib/appium_lib_core/common/device/app_management.rb
|
278
271
|
- lib/appium_lib_core/common/device/app_state.rb
|
279
272
|
- lib/appium_lib_core/common/device/battery_status.rb
|
@@ -287,6 +280,7 @@ files:
|
|
287
280
|
- lib/appium_lib_core/common/device/ime_actions.rb
|
288
281
|
- lib/appium_lib_core/common/device/keyboard.rb
|
289
282
|
- lib/appium_lib_core/common/device/keyevent.rb
|
283
|
+
- lib/appium_lib_core/common/device/orientation.rb
|
290
284
|
- lib/appium_lib_core/common/device/screen_record.rb
|
291
285
|
- lib/appium_lib_core/common/device/setting.rb
|
292
286
|
- lib/appium_lib_core/common/device/touch_actions.rb
|
@@ -301,6 +295,7 @@ files:
|
|
301
295
|
- lib/appium_lib_core/common/ws/websocket.rb
|
302
296
|
- lib/appium_lib_core/device.rb
|
303
297
|
- lib/appium_lib_core/driver.rb
|
298
|
+
- lib/appium_lib_core/element.rb
|
304
299
|
- lib/appium_lib_core/ios.rb
|
305
300
|
- lib/appium_lib_core/ios/device.rb
|
306
301
|
- lib/appium_lib_core/ios/device/clipboard.rb
|
@@ -313,7 +308,10 @@ files:
|
|
313
308
|
- lib/appium_lib_core/ios/xcuitest/device/performance.rb
|
314
309
|
- lib/appium_lib_core/ios/xcuitest/device/screen.rb
|
315
310
|
- lib/appium_lib_core/ios_xcuitest.rb
|
316
|
-
- lib/appium_lib_core/
|
311
|
+
- lib/appium_lib_core/mac2.rb
|
312
|
+
- lib/appium_lib_core/mac2/bridge.rb
|
313
|
+
- lib/appium_lib_core/mac2/device.rb
|
314
|
+
- lib/appium_lib_core/mac2/device/screen.rb
|
317
315
|
- lib/appium_lib_core/version.rb
|
318
316
|
- lib/appium_lib_core/windows.rb
|
319
317
|
- lib/appium_lib_core/windows/bridge.rb
|
@@ -333,12 +331,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
333
331
|
requirements:
|
334
332
|
- - ">="
|
335
333
|
- !ruby/object:Gem::Version
|
336
|
-
version: '2.
|
334
|
+
version: '2.5'
|
337
335
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
338
336
|
requirements:
|
339
|
-
- - "
|
337
|
+
- - ">"
|
340
338
|
- !ruby/object:Gem::Version
|
341
|
-
version:
|
339
|
+
version: 1.3.1
|
342
340
|
requirements: []
|
343
341
|
rubygems_version: 3.1.2
|
344
342
|
signing_key:
|
@@ -1,81 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
|
15
|
-
module Appium
|
16
|
-
module Core
|
17
|
-
class Base
|
18
|
-
class Bridge
|
19
|
-
class MJSONWP < ::Selenium::WebDriver::Remote::OSS::Bridge
|
20
|
-
include Device::DeviceLock
|
21
|
-
include Device::Keyboard
|
22
|
-
include Device::ImeActions
|
23
|
-
include Device::Setting
|
24
|
-
include Device::Context
|
25
|
-
include Device::Value
|
26
|
-
include Device::FileManagement
|
27
|
-
include Device::KeyEvent
|
28
|
-
include Device::ImageComparison
|
29
|
-
include Device::AppManagement
|
30
|
-
include Device::AppState
|
31
|
-
include Device::ScreenRecord::Command
|
32
|
-
include Device::Device
|
33
|
-
include Device::TouchActions
|
34
|
-
include Device::ExecuteDriver
|
35
|
-
|
36
|
-
def commands(command)
|
37
|
-
::Appium::Core::Commands::MJSONWP::COMMANDS[command]
|
38
|
-
end
|
39
|
-
|
40
|
-
# Returns all available sessions on the Appium server instance
|
41
|
-
def sessions
|
42
|
-
execute :get_all_sessions
|
43
|
-
end
|
44
|
-
|
45
|
-
# For Appium
|
46
|
-
def log_event(vendor, event)
|
47
|
-
execute :post_log_event, {}, { vendor: vendor, event: event }
|
48
|
-
end
|
49
|
-
|
50
|
-
# For Appium
|
51
|
-
def log_events(type = nil)
|
52
|
-
args = {}
|
53
|
-
args['type'] = type unless type.nil?
|
54
|
-
|
55
|
-
execute :get_log_events, {}, args
|
56
|
-
end
|
57
|
-
|
58
|
-
def take_element_screenshot(element)
|
59
|
-
execute :take_element_screenshot, id: element.ref
|
60
|
-
end
|
61
|
-
|
62
|
-
def take_viewport_screenshot
|
63
|
-
# TODO: this hasn't been supported by Espresso driver
|
64
|
-
execute_script('mobile: viewportScreenshot')
|
65
|
-
end
|
66
|
-
|
67
|
-
def send_actions(_data)
|
68
|
-
raise Error::UnsupportedOperationError, '#send_actions has not been supported in MJSONWP'
|
69
|
-
end
|
70
|
-
|
71
|
-
# For Appium
|
72
|
-
# @param [Hash] id The id which can get as a response from server
|
73
|
-
# @return [::Selenium::WebDriver::Element]
|
74
|
-
def convert_to_element(id)
|
75
|
-
::Selenium::WebDriver::Element.new self, element_id_from(id)
|
76
|
-
end
|
77
|
-
end # class MJSONWP
|
78
|
-
end # class Bridge
|
79
|
-
end # class Base
|
80
|
-
end # module Core
|
81
|
-
end # module Appium
|