Module: Appium::Core::Android::Device
- Extended by:
- Forwardable
- Defined in:
- lib/appium_lib_core/android/device.rb,
lib/appium_lib_core/android/device/screen.rb,
lib/appium_lib_core/android/device/network.rb,
lib/appium_lib_core/android/device/emulator.rb,
lib/appium_lib_core/android/device/clipboard.rb,
lib/appium_lib_core/android/device/performance.rb,
lib/appium_lib_core/android/device/auth_finger_print.rb
Defined Under Namespace
Modules: Authentication, Clipboard, Emulator, Network, Performance, Screen
Class Method Summary collapse
Instance Method Summary collapse
-
#current_activity ⇒ String
Get current activity name.
-
#current_package ⇒ String
Get current package name.
-
#end_coverage(path, intent) ⇒ Object
Android only; Ends the test coverage and writes the results to the given path on device.
-
#execute_cdp(cmd, **params) ⇒ Object
Execute Chrome Devtools protocol commands chromedevtools.github.io/devtools-protocol.
-
#finger_print(finger_id) ⇒ Object
Authenticate users by using their finger print scans on supported emulators.
-
#get_clipboard(content_type: :plaintext) ⇒ Object
Set the content of device’s clipboard.
-
#get_display_density ⇒ Integer
Get connected device’s density.
-
#get_network_connection ⇒ Object
Get the device network connection current status See set_network_connection method for return value Same as #network_connection_type in selenium-webdriver.
-
#get_performance_data(package_name: , data_type: , data_read_timeout: 1000) ⇒ Object
Get the resource usage information of the application.
-
#get_performance_data_types ⇒ Object
Get the information type of the system state which is supported to read such as cpu, memory, network, battery via adb commands.
-
#get_system_bars ⇒ String
Get system bar’s information.
-
#hide_keyboard(close_key = nil, strategy = nil) ⇒ Object
Hide the onscreen keyboard.
-
#open_notifications ⇒ Object
Open Android notifications.
-
#set_clipboard(content: , content_type: :plaintext, label: nil) ⇒ Object
Set the content of device’s clipboard.
-
#set_network_connection(mode) ⇒ Object
Set the device network connection mode Same as
#network_connection_type
in selenium-webdriver. -
#start_activity(opts) ⇒ Object
Android only.
-
#start_recording_screen(remote_path: nil, user: nil, pass: nil, method: 'PUT', file_field_name: nil, form_fields: nil, headers: nil, force_restart: nil, video_size: nil, time_limit: '180', bit_rate: '4000000', bug_report: nil) ⇒ String
Base64 encoded content of the recorded media file or an empty string if the file has been successfully uploaded to a remote location (depends on the actual options).
-
#toggle_airplane_mode ⇒ Object
Toggle flight mode on or off.
-
#toggle_data ⇒ Object
Switch the state of data service only for Android, and the device should be rooted.
-
#toggle_location_services ⇒ Object
Switch the state of the location service.
-
#toggle_wifi ⇒ Object
Switch the state of the wifi service only for Android.
Class Method Details
.extended(_mod) ⇒ Object
313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 |
# File 'lib/appium_lib_core/android/device.rb', line 313 def extended(_mod) ::Appium::Core::Device.extend_webdriver_with_forwardable ::Appium::Core::Device.add_endpoint_method(:open_notifications) do def open_notifications execute :open_notifications end end ::Appium::Core::Device.add_endpoint_method(:current_activity) do def current_activity execute :current_activity end end ::Appium::Core::Device.add_endpoint_method(:current_package) do def current_package execute :current_package end end ::Appium::Core::Device.add_endpoint_method(:get_system_bars) do def execute :get_system_bars end end # as alias to get_system_bars ::Appium::Core::Device.add_endpoint_method(:system_bars) do def execute :get_system_bars end end ::Appium::Core::Device.add_endpoint_method(:toggle_location_services) do def toggle_location_services execute :toggle_location_services end end ::Appium::Core::Device.add_endpoint_method(:start_activity) do def start_activity(opts) raise 'opts must be a hash' unless opts.is_a? Hash option = {} app_package = opts[:app_package] raise 'app_package is required' unless app_package app_activity = opts[:app_activity] raise 'app_activity is required' unless app_activity option[:appPackage] = app_package option[:appActivity] = app_activity app_wait_package = opts.fetch(:app_wait_package, nil) app_wait_activity = opts.fetch(:app_wait_activity, nil) option[:appWaitPackage] = app_wait_package if app_wait_package option[:appWaitActivity] = app_wait_activity if app_wait_activity intent_action = opts.fetch(:intent_action, nil) intent_category = opts.fetch(:intent_category, nil) intent_flags = opts.fetch(:intent_flags, nil) optional_intent_arguments = opts.fetch(:optional_intent_arguments, nil) dont_stop_app_on_reset = opts.fetch(:dont_stop_app_on_reset, nil) option[:intentAction] = intent_action if intent_action option[:intentCategory] = intent_category if intent_category option[:intentFlags] = intent_flags if intent_flags option[:optionalIntentArguments] = optional_intent_arguments if optional_intent_arguments option[:dontStopAppOnReset] = dont_stop_app_on_reset if dont_stop_app_on_reset execute :start_activity, {}, option end end # Android, Override included method in bridge ::Appium::Core::Device.add_endpoint_method(:hide_keyboard) do def hide_keyboard(close_key = nil, strategy = nil) option = {} option[:key] = close_key if close_key option[:strategy] = strategy if strategy execute :hide_keyboard, {}, option end end # Android, Override included method in bridge ::Appium::Core::Device.add_endpoint_method(:background_app) do def background_app(duration = 0) execute :background_app, {}, seconds: duration end end # TODO: TEST ME ::Appium::Core::Device.add_endpoint_method(:end_coverage) do def end_coverage(path, intent) execute :end_coverage, {}, path: path, intent: intent end end ::Appium::Core::Device.add_endpoint_method(:execute_cdp) do # SeleniumWebdriver could already define this method return if method_defined? :execute_cdp def execute_cdp(cmd, **params) execute :chrome_send_command, {}, { cmd: cmd, params: params } end end Screen.add_methods Performance.add_methods Network.add_methods Clipboard.add_methods Emulator.add_methods Authentication.add_methods end |
Instance Method Details
#current_activity ⇒ String
Get current activity name
|
# File 'lib/appium_lib_core/android/device.rb', line 38
|
#current_package ⇒ String
Get current package name
|
# File 'lib/appium_lib_core/android/device.rb', line 47
|
#end_coverage(path, intent) ⇒ Object
Android only; Ends the test coverage and writes the results to the given path on device.
|
# File 'lib/appium_lib_core/android/device.rb', line 142
|
#execute_cdp(cmd, **params) ⇒ Object
Execute Chrome Devtools protocol commands chromedevtools.github.io/devtools-protocol
|
# File 'lib/appium_lib_core/android/device.rb', line 293
|
#finger_print(finger_id) ⇒ Object
Authenticate users by using their finger print scans on supported emulators.
|
# File 'lib/appium_lib_core/android/device.rb', line 283
|
#get_clipboard(content_type: :plaintext) ⇒ Object
Set the content of device’s clipboard.
|
# File 'lib/appium_lib_core/android/device.rb', line 262
|
#get_display_density ⇒ Integer
Get connected device’s density.
|
# File 'lib/appium_lib_core/android/device.rb', line 66
|
#get_network_connection ⇒ Object
Get the device network connection current status See set_network_connection method for return value Same as #network_connection_type in selenium-webdriver.
Returns a key of {:airplane_mode: 1, wifi: 2, data: 4, all: 6, none: 0}
in #network_connection_type Returns a number of the mode in #get_network_connection
|
# File 'lib/appium_lib_core/android/device.rb', line 75
|
#get_performance_data(package_name: , data_type: , data_read_timeout: 1000) ⇒ Object
Get the resource usage information of the application. github.com/appium/appium-base-driver/blob/be29aec2318316d12b5c3295e924a5ba8f09b0fb/lib/mjsonwp/routes.js#L303
|
# File 'lib/appium_lib_core/android/device.rb', line 204
|
#get_performance_data_types ⇒ Object
Get the information type of the system state which is supported to read such as cpu, memory, network, battery via adb commands. github.com/appium/appium-base-driver/blob/be29aec2318316d12b5c3295e924a5ba8f09b0fb/lib/mjsonwp/routes.js#L300
|
# File 'lib/appium_lib_core/android/device.rb', line 194
|
#get_system_bars ⇒ String
Get system bar’s information
|
# File 'lib/appium_lib_core/android/device.rb', line 56
|
#hide_keyboard(close_key = nil, strategy = nil) ⇒ Object
Hide the onscreen keyboard
|
# File 'lib/appium_lib_core/android/device.rb', line 127
|
#open_notifications ⇒ Object
Open Android notifications
|
# File 'lib/appium_lib_core/android/device.rb', line 30
|
#set_clipboard(content: , content_type: :plaintext, label: nil) ⇒ Object
Set the content of device’s clipboard.
|
# File 'lib/appium_lib_core/android/device.rb', line 272
|
#set_network_connection(mode) ⇒ Object
Set the device network connection mode Same as #network_connection_type
in selenium-webdriver.
Or the key matched with {:airplane_mode: 1, wifi: 2, data: 4, all: 6, none: 0}
Value (Alias) | Data | Wifi | Airplane Mode
-------------------------------------------------
1 (Airplane Mode) | 0 | 0 | 1
6 (All network on) | 1 | 1 | 0
4 (Data only) | 1 | 0 | 0
2 (Wifi only) | 0 | 1 | 0
0 (None) | 0 | 0 | 0
|
# File 'lib/appium_lib_core/android/device.rb', line 172
|
#start_activity(opts) ⇒ Object
Android only. Start a new activity within the current app or launch a new app and start the target activity.
Read developer.android.com/studio/command-line/adb#IntentSpec for each flags.
|
# File 'lib/appium_lib_core/android/device.rb', line 148
|
#start_recording_screen(remote_path: nil, user: nil, pass: nil, method: 'PUT', file_field_name: nil, form_fields: nil, headers: nil, force_restart: nil, video_size: nil, time_limit: '180', bit_rate: '4000000', bug_report: nil) ⇒ String
Returns Base64 encoded content of the recorded media file or an empty string if the file has been successfully uploaded to a remote location (depends on the actual options).
|
# File 'lib/appium_lib_core/android/device.rb', line 216
|
#toggle_airplane_mode ⇒ Object
Toggle flight mode on or off
|
# File 'lib/appium_lib_core/android/device.rb', line 119
|
#toggle_data ⇒ Object
Switch the state of data service only for Android, and the device should be rooted
|
# File 'lib/appium_lib_core/android/device.rb', line 99
|
#toggle_location_services ⇒ Object
Switch the state of the location service
|
# File 'lib/appium_lib_core/android/device.rb', line 109
|
#toggle_wifi ⇒ Object
Switch the state of the wifi service only for Android
|
# File 'lib/appium_lib_core/android/device.rb', line 89
|