appium_lib_core 1.3.1 → 1.3.2
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/.rubocop.yml +2 -0
- data/CHANGELOG.md +11 -0
- data/lib/appium_lib_core/android/device.rb +3 -0
- data/lib/appium_lib_core/android/device/emulator.rb +168 -0
- data/lib/appium_lib_core/common/command.rb +15 -2
- data/lib/appium_lib_core/common/device.rb +27 -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: 66f7820de22c2ba7df015f3cd5ae4302eb7f4ec7
|
4
|
+
data.tar.gz: 4e83154812d2f588e26e768f696361e253d936e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ee637f5d7f9dfcd71415bcb4c166f9f191e0bfd1dc0751c8728a0df902fa53ceab41a397d56f7ddf8d64acf47c42afd4aef7a33286eeae33a6e125bc698d7ff5
|
7
|
+
data.tar.gz: 7299245629242b4822dcba89c712859ec0fae140143c3e8d6e7910b5f5f43d6455fef16a0ab8f3417676a2a218cee99acb93cb1435ab0d1f552652df2bd4db00
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -8,6 +8,17 @@ All notable changes to this project will be documented in this file.
|
|
8
8
|
|
9
9
|
### Deprecations
|
10
10
|
|
11
|
+
## [1.3.2] - 2018-02-18
|
12
|
+
### Enhancements
|
13
|
+
- Add Android emulator commands
|
14
|
+
- `send_sms`, `gsm_call`, `gsm_signal`, `gsm_voice`, `set_network_speed`, `set_power_capacity`, `set_power_ac`
|
15
|
+
- Add toggles
|
16
|
+
- `toggle_location_services`, `toggle_wifi`, `toggle_data`
|
17
|
+
|
18
|
+
### Bug fixes
|
19
|
+
|
20
|
+
### Deprecations
|
21
|
+
|
11
22
|
## [1.3.1] - 2018-02-14
|
12
23
|
### Enhancements
|
13
24
|
- add some app management commands [#58](https://github.com/appium/ruby_lib_core/pull/58)
|
@@ -0,0 +1,168 @@
|
|
1
|
+
module Appium
|
2
|
+
module Android
|
3
|
+
module Device
|
4
|
+
module Emulator
|
5
|
+
GSM_CALL_ACTIONS = [:call, :accept, :cancel, :hold].freeze
|
6
|
+
|
7
|
+
GSM_VOICE_STATES = [:on, :off, :denied, :searching, :roaming, :home, :unregistered].freeze
|
8
|
+
|
9
|
+
GSM_SIGNALS = { none_or_unknown: 0, poor: 1, moderate: 2, good: 3, great: 4 }.freeze
|
10
|
+
|
11
|
+
# :gsm // GSM/CSD (up: 14.4, down: 14.4).
|
12
|
+
# :scsd // HSCSD (up: 14.4, down: 57.6).
|
13
|
+
# :gprs // GPRS (up: 28.8, down: 57.6).
|
14
|
+
# :edge // EDGE/EGPRS (up: 473.6, down: 473.6).
|
15
|
+
# :umts // UMTS/3G (up: 384.0, down: 384.0).
|
16
|
+
# :hsdpa // HSDPA (up: 5760.0, down: 13,980.0).
|
17
|
+
# :lte // LTE (up: 58,000, down: 173,000).
|
18
|
+
# :evdo // EVDO (up: 75,000, down: 280,000).
|
19
|
+
# :full // No limit, the default (up: 0.0, down: 0.0).
|
20
|
+
NET_SPEED = [:gsm, :scsd, :gprs, :edge, :umts, :hsdpa, :lte, :evdo, :full].freeze
|
21
|
+
|
22
|
+
POWER_AC_STATE = [:on, :off].freeze
|
23
|
+
|
24
|
+
# @!method send_sms(phone_number:, message:)
|
25
|
+
# Emulate send SMS event on the connected emulator.
|
26
|
+
#
|
27
|
+
# @param [String] phone_number: The phone number of message sender
|
28
|
+
# @param [String] message: The message to send
|
29
|
+
#
|
30
|
+
# @example
|
31
|
+
#
|
32
|
+
# @driver.send_sms phone_number: '00000000000', message: 'test message'
|
33
|
+
#
|
34
|
+
|
35
|
+
# @!method gsm_call(phone_number:, action:)
|
36
|
+
# Emulate GSM call event on the connected emulator.
|
37
|
+
#
|
38
|
+
# @param [String] phone_number: The phone number of message sender
|
39
|
+
# @param [Hash] action: One of available GSM call actions. Available action is GSM_CALL_ACTION.
|
40
|
+
#
|
41
|
+
# @example
|
42
|
+
#
|
43
|
+
# @driver.gsm_call phone_number: '00000000000', action: :call
|
44
|
+
#
|
45
|
+
|
46
|
+
# @!method gsm_signal(signal_strength)
|
47
|
+
# Emulate GSM signal strength change event on the connected emulator.
|
48
|
+
#
|
49
|
+
# @param [Hash] signal_strength One of available GSM signal strength. Available action is GSM_SIGNAL.
|
50
|
+
#
|
51
|
+
# @example
|
52
|
+
#
|
53
|
+
# @driver.gsm_signal :good
|
54
|
+
#
|
55
|
+
|
56
|
+
# @!method gsm_voice(state)
|
57
|
+
# Emulate GSM voice event on the connected emulator.
|
58
|
+
#
|
59
|
+
# @param [Hash] state One of available GSM voice state. Available action is GSM_VOICE_STATE.
|
60
|
+
#
|
61
|
+
# @example
|
62
|
+
#
|
63
|
+
# @driver.gsm_voice :on
|
64
|
+
#
|
65
|
+
|
66
|
+
# @!method set_network_speed(netspeed)
|
67
|
+
# Emulate network speed change event on the connected emulator.
|
68
|
+
#
|
69
|
+
# @param [Hash] netspeed One of available Network Speed values. Available action is NET_SPEED.
|
70
|
+
#
|
71
|
+
# @example
|
72
|
+
#
|
73
|
+
# @driver.set_network_speed :gsm
|
74
|
+
#
|
75
|
+
|
76
|
+
# @!method set_power_capacity(percent)
|
77
|
+
# Emulate power capacity change on the connected emulator.
|
78
|
+
#
|
79
|
+
# @param [Integer] percent Percentage value in range [0, 100].
|
80
|
+
#
|
81
|
+
# @example
|
82
|
+
#
|
83
|
+
# @driver.set_power_capacity 10
|
84
|
+
#
|
85
|
+
|
86
|
+
# @!method set_power_ac(state)
|
87
|
+
# Emulate power state change on the connected emulator.
|
88
|
+
#
|
89
|
+
# @param [Hash] state One of available power AC state. Available action is POWER_AC_STATE.
|
90
|
+
#
|
91
|
+
# @example
|
92
|
+
#
|
93
|
+
# @driver.set_power_ac :on
|
94
|
+
#
|
95
|
+
|
96
|
+
####
|
97
|
+
## self.emulator_commands
|
98
|
+
####
|
99
|
+
|
100
|
+
def self.emulator_commands
|
101
|
+
Appium::Core::Device.add_endpoint_method(:send_sms) do
|
102
|
+
def send_sms(phone_number:, message:)
|
103
|
+
execute(:send_sms, {}, { phoneNumber: phone_number, message: message })
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
Appium::Core::Device.add_endpoint_method(:gsm_call) do
|
108
|
+
def gsm_call(phone_number:, action:)
|
109
|
+
unless GSM_CALL_ACTIONS.member? action.to_sym
|
110
|
+
raise "action: should be member of #{GSM_CALL_ACTIONS}. Not #{action}."
|
111
|
+
end
|
112
|
+
|
113
|
+
execute(:gsm_call, {}, { phoneNumber: phone_number, action: action })
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
Appium::Core::Device.add_endpoint_method(:gsm_signal) do
|
118
|
+
def gsm_signal(signal_strength)
|
119
|
+
raise "#{signal_strength} should be member of #{GSM_SIGNALS} " if GSM_SIGNALS[signal_strength.to_sym].nil?
|
120
|
+
|
121
|
+
execute(:gsm_signal, {}, { signalStrengh: GSM_SIGNALS[signal_strength] })
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
Appium::Core::Device.add_endpoint_method(:gsm_voice) do
|
126
|
+
def gsm_voice(state)
|
127
|
+
unless GSM_VOICE_STATES.member? state.to_sym
|
128
|
+
raise "The state should be member of #{GSM_VOICE_STATES}. Not #{state}."
|
129
|
+
end
|
130
|
+
|
131
|
+
execute(:gsm_voice, {}, { state: state })
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
Appium::Core::Device.add_endpoint_method(:set_network_speed) do
|
136
|
+
def set_network_speed(netspeed)
|
137
|
+
unless NET_SPEED.member? netspeed.to_sym
|
138
|
+
raise "The netspeed should be member of #{NET_SPEED}. Not #{netspeed}."
|
139
|
+
end
|
140
|
+
|
141
|
+
execute(:set_network_speed, {}, { netspeed: netspeed })
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
145
|
+
Appium::Core::Device.add_endpoint_method(:set_power_capacity) do
|
146
|
+
def set_power_capacity(percent)
|
147
|
+
unless (0..100).member? percent
|
148
|
+
raise "The percent should be between 0 and 100. Not #{percent}."
|
149
|
+
end
|
150
|
+
|
151
|
+
execute(:set_power_capacity, {}, { percent: percent })
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
155
|
+
Appium::Core::Device.add_endpoint_method(:set_power_ac) do
|
156
|
+
def set_power_ac(state)
|
157
|
+
unless POWER_AC_STATE.member? state.to_sym
|
158
|
+
raise "The state should be member of #{POWER_AC_STATE}. Not #{state}."
|
159
|
+
end
|
160
|
+
|
161
|
+
execute(:set_power_ac, {}, { state: state })
|
162
|
+
end
|
163
|
+
end
|
164
|
+
end # def self.emulator_commands
|
165
|
+
end # module Emulator
|
166
|
+
end # module Device
|
167
|
+
end # module Android
|
168
|
+
end # module Appium
|
@@ -24,7 +24,11 @@ module Appium
|
|
24
24
|
get_display_density: [:get, 'session/:session_id/appium/device/display_density'.freeze],
|
25
25
|
is_keyboard_shown: [:get, 'session/:session_id/appium/device/is_keyboard_shown'.freeze],
|
26
26
|
get_network_connection: [:get, 'session/:session_id/network_connection'.freeze], # defined also in OSS
|
27
|
-
get_performance_data_types: [:post, 'session/:session_id/appium/performanceData/types'.freeze]
|
27
|
+
get_performance_data_types: [:post, 'session/:session_id/appium/performanceData/types'.freeze],
|
28
|
+
toggle_wifi: [:post, 'session/:session_id/appium/device/toggle_wifi'.freeze],
|
29
|
+
toggle_data: [:post, 'session/:session_id/appium/device/toggle_data'.freeze],
|
30
|
+
toggle_location_services: [:post, 'session/:session_id/appium/device/toggle_location_services'.freeze]
|
31
|
+
|
28
32
|
# iOS
|
29
33
|
}.freeze
|
30
34
|
|
@@ -64,7 +68,16 @@ module Appium
|
|
64
68
|
start_activity: [:post, 'session/:session_id/appium/device/start_activity'.freeze],
|
65
69
|
end_coverage: [:post, 'session/:session_id/appium/app/end_test_coverage'.freeze],
|
66
70
|
set_network_connection: [:post, 'session/:session_id/network_connection'.freeze], # defined also in OSS
|
67
|
-
get_performance_data: [:post, 'session/:session_id/appium/getPerformanceData'.freeze]
|
71
|
+
get_performance_data: [:post, 'session/:session_id/appium/getPerformanceData'.freeze],
|
72
|
+
|
73
|
+
# only emulator
|
74
|
+
send_sms: [:post, 'session/:session_id/appium/device/send_sms'.freeze],
|
75
|
+
gsm_call: [:post, 'session/:session_id/appium/device/gsm_call'.freeze],
|
76
|
+
gsm_signal: [:post, 'session/:session_id/appium/device/gsm_signal'.freeze],
|
77
|
+
gsm_voice: [:post, 'session/:session_id/appium/device/gsm_voice'.freeze],
|
78
|
+
set_network_speed: [:post, 'session/:session_id/appium/device/network_speed'.freeze],
|
79
|
+
set_power_capacity: [:post, 'session/:session_id/appium/device/power_capacity'.freeze],
|
80
|
+
set_power_ac: [:post, 'session/:session_id/appium/device/power_ac'.freeze]
|
68
81
|
}.freeze
|
69
82
|
|
70
83
|
COMMAND_IOS = {
|
@@ -138,6 +138,33 @@ module Appium
|
|
138
138
|
# @driver.device_time
|
139
139
|
#
|
140
140
|
|
141
|
+
# @!method toggle_location_services
|
142
|
+
# Switch the state of the location service
|
143
|
+
# @return [String]
|
144
|
+
#
|
145
|
+
# @example
|
146
|
+
#
|
147
|
+
# @driver.toggle_location_services
|
148
|
+
#
|
149
|
+
|
150
|
+
# @!method toggle_wifi
|
151
|
+
# Switch the state of the wifi service
|
152
|
+
# @return [String]
|
153
|
+
#
|
154
|
+
# @example
|
155
|
+
#
|
156
|
+
# @driver.toggle_wifi
|
157
|
+
#
|
158
|
+
|
159
|
+
# @!method toggle_data
|
160
|
+
# Switch the state of data service
|
161
|
+
# @return [String]
|
162
|
+
#
|
163
|
+
# @example
|
164
|
+
#
|
165
|
+
# @driver.toggle_data
|
166
|
+
#
|
167
|
+
|
141
168
|
####
|
142
169
|
## With arguments
|
143
170
|
####
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Appium
|
2
2
|
module Core
|
3
|
-
VERSION = '1.3.
|
4
|
-
DATE = '2018-02-
|
3
|
+
VERSION = '1.3.2'.freeze unless defined? ::Appium::Core::VERSION
|
4
|
+
DATE = '2018-02-18'.freeze unless defined? ::Appium::Core::DATE
|
5
5
|
end
|
6
6
|
end
|
data/release_notes.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
#### v1.3.2 2018-02-18
|
2
|
+
|
3
|
+
- [28e04a7](https://github.com/appium/ruby_lib_core/commit/28e04a743905cfee5b3be1487ffe5f852a387ba4) Release 1.3.2
|
4
|
+
- [703ec81](https://github.com/appium/ruby_lib_core/commit/703ec81c3add83f9ab0e2b84648bc0db16829bc2) add toggles (#61)
|
5
|
+
- [1f93d58](https://github.com/appium/ruby_lib_core/commit/1f93d58666caa66f9d13aca9618d6a5d333631e7) Add some emulator commands (#60)
|
6
|
+
|
7
|
+
|
1
8
|
#### v1.3.1 2018-02-14
|
2
9
|
|
3
10
|
- [d107749](https://github.com/appium/ruby_lib_core/commit/d107749782e3eae49aeb9c17411a120eecb5a242) Release 1.3.1
|
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.2
|
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-02-
|
11
|
+
date: 2018-02-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: selenium-webdriver
|
@@ -194,6 +194,7 @@ files:
|
|
194
194
|
- lib/appium_lib_core.rb
|
195
195
|
- lib/appium_lib_core/android.rb
|
196
196
|
- lib/appium_lib_core/android/device.rb
|
197
|
+
- lib/appium_lib_core/android/device/emulator.rb
|
197
198
|
- lib/appium_lib_core/android/espresso/bridge.rb
|
198
199
|
- lib/appium_lib_core/android/search_context.rb
|
199
200
|
- lib/appium_lib_core/android/uiautomator1/bridge.rb
|