appium_lib_core 1.3.4 → 1.3.5
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 +9 -0
- data/lib/appium_lib_core.rb +1 -0
- data/lib/appium_lib_core/android/device.rb +66 -3
- data/lib/appium_lib_core/common/command.rb +2 -0
- data/lib/appium_lib_core/device/clipboard_content_type.rb +9 -0
- data/lib/appium_lib_core/ios/device.rb +57 -0
- data/lib/appium_lib_core/version.rb +2 -2
- data/release_notes.md +7 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b31ad437c19f4d1e46c7b4eeea5b1a3e673b7848
|
4
|
+
data.tar.gz: 06b07c12e1c7e23beacd7a8527516dfa3b798d47
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 98002924f583609a1f9c5ea6b5e886b4d8e08d58a882c82ddbbbdc370736f1f0e0d11fe3155260f4cd29051fd7efabf4c47cfed32feb6faa63d1a955c213e048
|
7
|
+
data.tar.gz: e2b316d400db5ac4b3e0169798cd18408a87cf51ac0793a52f127b3f6cc2a4589c8a832600598621083132bbd6e29921d15b210ac60541006cf0fe33870e0b2e
|
data/CHANGELOG.md
CHANGED
@@ -8,6 +8,15 @@ All notable changes to this project will be documented in this file.
|
|
8
8
|
|
9
9
|
### Deprecations
|
10
10
|
|
11
|
+
## [1.3.5] - 2018-03-30
|
12
|
+
### Enhancements
|
13
|
+
- Add a `bug_report` option in `start_recording_screen`, Android
|
14
|
+
- Add clipboard apis [#69](https://github.com/appium/ruby_lib_core/pull/69)
|
15
|
+
|
16
|
+
### Bug fixes
|
17
|
+
|
18
|
+
### Deprecations
|
19
|
+
|
11
20
|
## [1.3.4] - 2018-03-21
|
12
21
|
### Enhancements
|
13
22
|
- Add `save_viewport_screenshot` which get screenshot except for status bar.
|
data/lib/appium_lib_core.rb
CHANGED
@@ -10,6 +10,7 @@ require_relative 'appium_lib_core/device/touch_actions'
|
|
10
10
|
require_relative 'appium_lib_core/device/multi_touch'
|
11
11
|
require_relative 'appium_lib_core/device/screen_record'
|
12
12
|
require_relative 'appium_lib_core/device/app_state'
|
13
|
+
require_relative 'appium_lib_core/device/clipboard_content_type'
|
13
14
|
|
14
15
|
require_relative 'appium_lib_core/android'
|
15
16
|
require_relative 'appium_lib_core/android_uiautomator2'
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require_relative 'device/emulator'
|
2
|
+
require 'base64'
|
2
3
|
|
3
4
|
module Appium
|
4
5
|
module Android
|
@@ -105,7 +106,11 @@ module Appium
|
|
105
106
|
# use a size supported by your device's Advanced Video Coding (AVC) encoder.
|
106
107
|
# For example, "1280x720"
|
107
108
|
# @param [String] time_limit: Recording time. 180 seconds is by default.
|
108
|
-
# @param [String] bit_rate: The video bit rate for the video, in megabits per second.
|
109
|
+
# @param [String] bit_rate: The video bit rate for the video, in megabits per second.
|
110
|
+
# 4 Mbp/s(4000000) is by default for Android API level below 27. 20 Mb/s(20000000) for API level 27 and above.
|
111
|
+
# @param [Boolean] bug_report: Set it to `true` in order to display additional information on the video overlay,
|
112
|
+
# such as a timestamp, that is helpful in videos captured to illustrate bugs.
|
113
|
+
# This option is only supported since API level 27 (Android P).
|
109
114
|
#
|
110
115
|
# @example
|
111
116
|
#
|
@@ -113,6 +118,27 @@ module Appium
|
|
113
118
|
# @driver.start_recording_screen video_size: '1280x720', time_limit: '180', bit_rate: '5000000'
|
114
119
|
#
|
115
120
|
|
121
|
+
# @!method get_clipboard(content_type: :plaintext)
|
122
|
+
# Set the content of device's clipboard.
|
123
|
+
# @param [String] content_type: one of supported content types.
|
124
|
+
# @return [String]
|
125
|
+
#
|
126
|
+
# @example
|
127
|
+
#
|
128
|
+
# @driver.get_clipboard #=> "happy testing"
|
129
|
+
#
|
130
|
+
|
131
|
+
# @!method set_clipboard(content:, content_type: :plaintext, label: nil)
|
132
|
+
# Set the content of device's clipboard.
|
133
|
+
# @param [String] label: clipboard data label.
|
134
|
+
# @param [String] content_type: one of supported content types.
|
135
|
+
# @param [String] content: Contents to be set. (Will encode with base64-encoded inside this method)
|
136
|
+
#
|
137
|
+
# @example
|
138
|
+
#
|
139
|
+
# @driver.set_clipboard(content: 'happy testing') #=> {"protocol"=>"W3C"}
|
140
|
+
#
|
141
|
+
|
116
142
|
####
|
117
143
|
## class << self
|
118
144
|
####
|
@@ -177,6 +203,7 @@ module Appium
|
|
177
203
|
end
|
178
204
|
|
179
205
|
add_screen_recording
|
206
|
+
add_clipboard
|
180
207
|
Emulator.emulator_commands
|
181
208
|
end
|
182
209
|
|
@@ -186,20 +213,56 @@ module Appium
|
|
186
213
|
Appium::Core::Device.add_endpoint_method(:start_recording_screen) do
|
187
214
|
# rubocop:disable Metrics/ParameterLists
|
188
215
|
def start_recording_screen(remote_path: nil, user: nil, pass: nil, method: 'PUT', force_restart: nil,
|
189
|
-
video_size: nil, time_limit: '180', bit_rate:
|
216
|
+
video_size: nil, time_limit: '180', bit_rate: nil, bug_report: nil)
|
190
217
|
option = ::Appium::Core::Device::ScreenRecord.new(
|
191
218
|
remote_path: remote_path, user: user, pass: pass, method: method, force_restart: force_restart
|
192
219
|
).upload_option
|
193
220
|
|
194
221
|
option[:videoSize] = video_size unless video_size.nil?
|
195
222
|
option[:timeLimit] = time_limit
|
196
|
-
option[:bitRate] = bit_rate
|
223
|
+
option[:bitRate] = bit_rate unless bit_rate.nil?
|
224
|
+
|
225
|
+
unless bug_report.nil?
|
226
|
+
raise 'bug_report should be true or false' unless [true, false].member?(bug_report)
|
227
|
+
option[:bugReport] = bug_report
|
228
|
+
end
|
197
229
|
|
198
230
|
execute(:start_recording_screen, {}, { options: option })
|
199
231
|
end
|
200
232
|
# rubocop:enable Metrics/ParameterLists
|
201
233
|
end
|
202
234
|
end
|
235
|
+
|
236
|
+
def add_clipboard
|
237
|
+
::Appium::Core::Device.add_endpoint_method(:get_clipboard) do
|
238
|
+
def get_clipboard(content_type: :plaintext)
|
239
|
+
unless ::Appium::Core::Device::Clipboard::CONTENT_TYPE.member?(content_type)
|
240
|
+
raise "content_type should be #{::Appium::Core::Device::Clipboard::CONTENT_TYPE}"
|
241
|
+
end
|
242
|
+
|
243
|
+
params = { contentType: content_type }
|
244
|
+
|
245
|
+
data = execute(:get_clipboard, {}, params)
|
246
|
+
Base64.decode64 data
|
247
|
+
end
|
248
|
+
end
|
249
|
+
|
250
|
+
::Appium::Core::Device.add_endpoint_method(:set_clipboard) do
|
251
|
+
def set_clipboard(content:, content_type: :plaintext, label: nil)
|
252
|
+
unless ::Appium::Core::Device::Clipboard::CONTENT_TYPE.member?(content_type)
|
253
|
+
raise "content_type should be #{::Appium::Core::Device::Clipboard::CONTENT_TYPE}"
|
254
|
+
end
|
255
|
+
|
256
|
+
params = {
|
257
|
+
contentType: content_type,
|
258
|
+
content: Base64.encode64(content)
|
259
|
+
}
|
260
|
+
params[:label] = label unless label.nil?
|
261
|
+
|
262
|
+
execute(:set_clipboard, {}, params)
|
263
|
+
end
|
264
|
+
end
|
265
|
+
end
|
203
266
|
end
|
204
267
|
end # module Device
|
205
268
|
end # module Android
|
@@ -56,6 +56,8 @@ module Appium
|
|
56
56
|
push_file: [:post, 'session/:session_id/appium/device/push_file'.freeze],
|
57
57
|
pull_file: [:post, 'session/:session_id/appium/device/pull_file'.freeze],
|
58
58
|
pull_folder: [:post, 'session/:session_id/appium/device/pull_folder'.freeze],
|
59
|
+
get_clipboard: [:post, 'session/:session_id/appium/device/get_clipboard'.freeze],
|
60
|
+
set_clipboard: [:post, 'session/:session_id/appium/device/set_clipboard'.freeze],
|
59
61
|
get_settings: [:get, 'session/:session_id/appium/settings'.freeze],
|
60
62
|
update_settings: [:post, 'session/:session_id/appium/settings'.freeze],
|
61
63
|
touch_actions: [:post, 'session/:session_id/touch/perform'.freeze],
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'base64'
|
2
|
+
|
1
3
|
module Appium
|
2
4
|
module Ios
|
3
5
|
module Device
|
@@ -28,6 +30,26 @@ module Appium
|
|
28
30
|
# @driver.toggle_touch_id_enrollment false #=> Disable toggle enrolled
|
29
31
|
#
|
30
32
|
|
33
|
+
# @!method get_clipboard(content_type: :plaintext)
|
34
|
+
# Set the content of device's clipboard.
|
35
|
+
# @param [String] content_type: one of supported content types.
|
36
|
+
# @return [String]
|
37
|
+
#
|
38
|
+
# @example
|
39
|
+
#
|
40
|
+
# @driver.get_clipboard #=> "happy testing"
|
41
|
+
#
|
42
|
+
|
43
|
+
# @!method set_clipboard(content:, content_type: :plaintext)
|
44
|
+
# Set the content of device's clipboard.
|
45
|
+
# @param [String] content_type: one of supported content types.
|
46
|
+
# @param [String] content: Contents to be set. (Will encode with base64-encoded inside this method)
|
47
|
+
#
|
48
|
+
# @example
|
49
|
+
#
|
50
|
+
# @driver.set_clipboard(content: 'happy testing') #=> {"protocol"=>"W3C"}
|
51
|
+
#
|
52
|
+
|
31
53
|
####
|
32
54
|
## class << self
|
33
55
|
####
|
@@ -47,6 +69,41 @@ module Appium
|
|
47
69
|
execute :toggle_touch_id_enrollment, {}, enabled: enabled
|
48
70
|
end
|
49
71
|
end
|
72
|
+
|
73
|
+
add_clipboard
|
74
|
+
end
|
75
|
+
|
76
|
+
private
|
77
|
+
|
78
|
+
def add_clipboard
|
79
|
+
::Appium::Core::Device.add_endpoint_method(:get_clipboard) do
|
80
|
+
def get_clipboard(content_type: :plaintext)
|
81
|
+
unless ::Appium::Core::Device::Clipboard::CONTENT_TYPE.member?(content_type)
|
82
|
+
raise "content_type should be #{::Appium::Core::Device::Clipboard::CONTENT_TYPE}"
|
83
|
+
end
|
84
|
+
|
85
|
+
params = {}
|
86
|
+
params[:contentType] = content_type
|
87
|
+
|
88
|
+
data = execute(:get_clipboard, {}, params)
|
89
|
+
Base64.decode64 data
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
::Appium::Core::Device.add_endpoint_method(:set_clipboard) do
|
94
|
+
def set_clipboard(content:, content_type: :plaintext)
|
95
|
+
unless ::Appium::Core::Device::Clipboard::CONTENT_TYPE.member?(content_type)
|
96
|
+
raise "content_type should be #{::Appium::Core::Device::Clipboard::CONTENT_TYPE}"
|
97
|
+
end
|
98
|
+
|
99
|
+
params = {
|
100
|
+
contentType: content_type,
|
101
|
+
content: Base64.encode64(content)
|
102
|
+
}
|
103
|
+
|
104
|
+
execute(:set_clipboard, {}, params)
|
105
|
+
end
|
106
|
+
end
|
50
107
|
end
|
51
108
|
end
|
52
109
|
end # module Device
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Appium
|
2
2
|
module Core
|
3
|
-
VERSION = '1.3.
|
4
|
-
DATE = '2018-03-
|
3
|
+
VERSION = '1.3.5'.freeze unless defined? ::Appium::Core::VERSION
|
4
|
+
DATE = '2018-03-30'.freeze unless defined? ::Appium::Core::DATE
|
5
5
|
end
|
6
6
|
end
|
data/release_notes.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
#### v1.3.5 2018-03-30
|
2
|
+
|
3
|
+
- [1f10dcb](https://github.com/appium/ruby_lib_core/commit/1f10dcb1448d44fd336317a7d16dd53ee03355f8) Release 1.3.5
|
4
|
+
- [993840a](https://github.com/appium/ruby_lib_core/commit/993840a698fe302434ef895213998f6b55d0497c) add clipboard api (#69)
|
5
|
+
- [8ce848c](https://github.com/appium/ruby_lib_core/commit/8ce848c848e3e312fd8af3c4a2733fdc9fc093bc) Add bug report option (#68)
|
6
|
+
|
7
|
+
|
1
8
|
#### v1.3.4 2018-03-21
|
2
9
|
|
3
10
|
- [053458e](https://github.com/appium/ruby_lib_core/commit/053458e8c766c2f83c7025251e1aeebb1a2da4d5) Release 1.3.4
|
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: 1.3.
|
4
|
+
version: 1.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kazuaki MATSUO
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03-
|
11
|
+
date: 2018-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: selenium-webdriver
|
@@ -233,6 +233,7 @@ files:
|
|
233
233
|
- lib/appium_lib_core/common/log.rb
|
234
234
|
- lib/appium_lib_core/common/logger.rb
|
235
235
|
- lib/appium_lib_core/device/app_state.rb
|
236
|
+
- lib/appium_lib_core/device/clipboard_content_type.rb
|
236
237
|
- lib/appium_lib_core/device/multi_touch.rb
|
237
238
|
- lib/appium_lib_core/device/screen_record.rb
|
238
239
|
- lib/appium_lib_core/device/touch_actions.rb
|