Class: Appium::Core::Base::Driver
- Inherits:
-
Selenium::WebDriver::Driver
- Object
- Selenium::WebDriver::Driver
- Appium::Core::Base::Driver
- Includes:
- SearchContext, TakeScreenshot, Selenium::WebDriver::DriverExtensions::HasRemoteStatus, Selenium::WebDriver::DriverExtensions::HasSessionId, Selenium::WebDriver::DriverExtensions::HasWebStorage, Selenium::WebDriver::DriverExtensions::Rotatable, Selenium::WebDriver::DriverExtensions::UploadsFiles
- Defined in:
- lib/appium_lib_core/common/base/driver.rb
Constant Summary
Constants included from SearchContext
Instance Method Summary collapse
-
#activate_app(app_id) ⇒ Hash
Activate(Launch) the specified app.
-
#app_installed?(app_id) ⇒ Boolean
Check whether the specified app is installed on the device.
-
#app_state(app_id) ⇒ AppState::STATUS
(also: #query_app_state)
Get the status of an existing application on the device.
-
#app_strings(language = nil) ⇒ Hash
Return the hash of all localization strings.
-
#available_contexts ⇒ Array<String>
All usable contexts, as an array of strings.
-
#back ⇒ String
Get the device window’s size.
-
#background_app(duration = 0) ⇒ String
Backgrounds the app for a set number of seconds.
-
#close_app ⇒ Object
Close an app on device.
- #compare_images(mode: :matchFeatures, first_image:, second_image:, options: nil) ⇒ Object
-
#context=(context = null) ⇒ Object
(also: #set_context)
Change the context to the given context.
-
#current_context ⇒ String
The context currently being used.
-
#device_time(format = nil) ⇒ String
Get the time on the device.
-
#dialect ⇒ :oss|:w3c
Get the dialect value.
-
#find_element_by_image(img_path) ⇒ ::Selenium::WebDriver::Element
Return an element if current view has a partial image.
-
#find_elements_by_image(img_path) ⇒ ::Selenium::WebDriver::Element
Return elements if current view has a partial image.
- #find_image_occurrence(full_image:, partial_image:, visualize: false, threshold: nil) ⇒ Object
- #get_images_similarity(first_image:, second_image:, visualize: false) ⇒ Object
-
#get_settings ⇒ Object
Get appium Settings for current test session.
-
#get_timeouts ⇒ Hash
For W3C.
-
#hide_keyboard(close_key = nil, strategy = nil) ⇒ Object
Hide the onscreen keyboard.
-
#ime ⇒ Object
Returns an instance of DeviceIME.
-
#ime_activate(ime_name) ⇒ Object
Android only.
- #ime_activated ⇒ Object
-
#ime_active_engine ⇒ Object
Android only.
-
#ime_available_engines ⇒ Object
Android only.
-
#ime_deactivate ⇒ Object
Android only.
-
#initialize(opts = {}) ⇒ Driver
constructor
A new instance of Driver.
-
#install_app(path, replace: nil, timeout: nil, allow_test_packages: nil, use_sdcard: nil, grant_permissions: nil) ⇒ Object
Install the given app onto the device.
-
#keyboard_shown? ⇒ Boolean
(also: #is_keyboard_shown)
Get whether keyboard is displayed or not.
-
#keyevent(key, metastate = nil) ⇒ Object
Send keyevent on the device.(Only for Selendroid) developer.android.com/reference/android/view/KeyEvent.html.
-
#launch_app ⇒ Object
Start the simulator and application configured with desired capabilities.
-
#lock(duration = nil) ⇒ String
Lock the device.
-
#locked? ⇒ Boolean
(also: #device_locked?)
Check current device status is weather locked or not.
-
#logs ⇒ String
Get the device window’s logs.
-
#long_press_keycode(key, metastate: [], flags: []) ⇒ Object
Long press keycode on the device.
-
#match_images_features(first_image:, second_image:, detector_name: 'ORB', match_func: 'BruteForce', good_matches_factor: nil, visualize: false) ⇒ Object
Image Comparison.
- #multi_touch(actions) ⇒ Object
-
#perform_actions(data) ⇒ Object
Send multiple W3C action chains to server.
-
#press_keycode(key, metastate: [], flags: []) ⇒ Object
Press keycode on the device.
-
#pull_file(path) ⇒ Base64-decoded
Pull a file from the simulator/device.
-
#pull_folder(path) ⇒ Base64-decoded
Pull a folder content from the simulator/device.
-
#push_file(path, filedata) ⇒ Object
Place a file in a specific location on the device.
- #remove_app(app_id, keep_data: nil, timeout: nil) ⇒ Object
-
#replace_value(element, *value) ⇒ Object
Replace the value to element directly.
-
#reset ⇒ Object
Reset the device, relaunching the application.
-
#send_keys(*key) ⇒ Object
(also: #type)
- DEPRECATION
-
Send keys for a current active element.
-
#session_capabilities ⇒ Selenium::WebDriver::Remote::Capabilities
Retrieve the capabilities of the specified session.
-
#set_immediate_value(element, *value) ⇒ Object
Set the value to element directly.
-
#settings ⇒ Object
Returns an instance of DriverSettings to call get/update.
-
#settings=(value) ⇒ Object
(also: #update_settings)
Update Appium Settings for current test session Alias of @driver.settings#update.
-
#shake ⇒ Object
Cause the device to shake.
- #stop_and_save_recording_screen(file_path) ⇒ Object
- #stop_recording_screen(remote_path: nil, user: nil, pass: nil, method: 'PUT') ⇒ Object
-
#switch_to_default_context ⇒ Object
Change to the default context.
-
#terminate_app(app_id, timeout: nil) ⇒ Boolean
Terminate the specified app.
-
#touch_actions(actions) ⇒ Object
touch actions.
-
#unlock ⇒ Object
Unlock the device.
-
#update_sending_request_to(protocol:, host:, port:, path:) ⇒ Object
Update ‘server_url` and HTTP clients following this arguments, protocol, host, port and path.
-
#window_rect ⇒ Selenium::WebDriver::Rectangle
Get the device window’s rect.
-
#window_size ⇒ Selenium::WebDriver::Dimension
Get the device window’s size.
-
#within_context(context) ⇒ Object
Perform a block within the given context, then switch back to the starting context.
Methods included from TakeScreenshot
#element_screenshot_as, #save_element_screenshot, #save_screenshot, #save_viewport_screenshot, #screenshot_as
Methods included from SearchContext
Constructor Details
#initialize(opts = {}) ⇒ Driver
Returns a new instance of Driver.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 18 def initialize(opts = {}) listener = opts.delete(:listener) @bridge = ::Appium::Core::Base::Bridge.handshake(opts) if @bridge.dialect == :oss # MJSONWP extend ::Selenium::WebDriver::DriverExtensions::HasTouchScreen extend ::Selenium::WebDriver::DriverExtensions::HasLocation extend ::Selenium::WebDriver::DriverExtensions::HasNetworkConnection elsif @bridge.dialect == :w3c # TODO: Only for Appium. Ideally, we'd like to remove the below like selenium-webdriver extend ::Selenium::WebDriver::DriverExtensions::HasTouchScreen extend ::Selenium::WebDriver::DriverExtensions::HasLocation extend ::Selenium::WebDriver::DriverExtensions::HasNetworkConnection end super(@bridge, listener: listener) end |
Instance Method Details
#activate_app(app_id) ⇒ Hash
Activate(Launch) the specified app.
629 630 631 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 629 def activate_app(app_id) @bridge.activate_app(app_id) end |
#app_installed?(app_id) ⇒ Boolean
Check whether the specified app is installed on the device
618 619 620 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 618 def app_installed?(app_id) @bridge.app_installed?(app_id) end |
#app_state(app_id) ⇒ AppState::STATUS Also known as: query_app_state
Get the status of an existing application on the device. State:
:not_installed : The current application state cannot be determined/is unknown
:not_running : The application is not running
:running_in_background_suspended : The application is running in the background and is suspended
:running_in_background : The application is running in the background and is not suspended
:running_in_foreground : The application is running in the foreground
For more details: developer.apple.com/documentation/xctest/xcuiapplicationstate
668 669 670 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 668 def app_state(app_id) @bridge.app_state(app_id) end |
#app_strings(language = nil) ⇒ Hash
Return the hash of all localization strings.
544 545 546 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 544 def app_strings(language = nil) @bridge.app_strings(language) end |
#available_contexts ⇒ Array<String>
Returns All usable contexts, as an array of strings.
331 332 333 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 331 def available_contexts @bridge.available_contexts end |
#back ⇒ String
Get the device window’s size.
809 810 811 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 809 def back navigate.back end |
#background_app(duration = 0) ⇒ String
Backgrounds the app for a set number of seconds. This is a blocking application
559 560 561 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 559 def background_app(duration = 0) @bridge.background_app(duration) end |
#close_app ⇒ Object
Close an app on device
523 524 525 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 523 def close_app @bridge.close_app end |
#compare_images(mode: :matchFeatures, first_image:, second_image:, options: nil) ⇒ Object
952 953 954 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 952 def compare_images(mode: :matchFeatures, first_image:, second_image:, options: nil) @bridge.compare_images(mode: mode, first_image: first_image, second_image: second_image, options: ) end |
#context=(context = null) ⇒ Object Also known as: set_context
Change the context to the given context.
343 344 345 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 343 def context=(context = null) @bridge.set_context(context) end |
#current_context ⇒ String
Returns The context currently being used.
321 322 323 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 321 def current_context @bridge.current_context end |
#device_time(format = nil) ⇒ String
Get the time on the device
730 731 732 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 730 def device_time(format = nil) @bridge.device_time(format) end |
#dialect ⇒ :oss|:w3c
Get the dialect value
36 37 38 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 36 def dialect @bridge.dialect end |
#find_element_by_image(img_path) ⇒ ::Selenium::WebDriver::Element
Return an element if current view has a partial image. The logic depends on template matching by OpenCV. image-comparison
You can handle settings for the comparision following below. device-settings
973 974 975 976 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 973 def find_element_by_image(img_path) template = Base64.strict_encode64 File.read img_path find_element :image, template end |
#find_elements_by_image(img_path) ⇒ ::Selenium::WebDriver::Element
Return elements if current view has a partial image. The logic depends on template matching by OpenCV. image-comparison
You can handle settings for the comparision following below. device-settings
996 997 998 999 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 996 def find_elements_by_image(img_path) template = Base64.strict_encode64 File.read img_path find_elements :image, template end |
#find_image_occurrence(full_image:, partial_image:, visualize: false, threshold: nil) ⇒ Object
941 942 943 944 945 946 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 941 def find_image_occurrence(full_image:, partial_image:, visualize: false, threshold: nil) @bridge.find_image_occurrence(full_image: full_image, partial_image: partial_image, visualize: visualize, threshold: threshold) end |
#get_images_similarity(first_image:, second_image:, visualize: false) ⇒ Object
948 949 950 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 948 def get_images_similarity(first_image:, second_image:, visualize: false) @bridge.get_images_similarity(first_image: first_image, second_image: second_image, visualize: visualize) end |
#get_settings ⇒ Object
Get appium Settings for current test session. Alias of @driver.settings.get
172 173 174 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 172 def get_settings settings.get end |
#get_timeouts ⇒ Hash
For W3C. Get the timeout related settings on the server side.
833 834 835 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 833 def get_timeouts @bridge.get_timeouts end |
#hide_keyboard(close_key = nil, strategy = nil) ⇒ Object
Hide the onscreen keyboard
107 108 109 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 107 def hide_keyboard(close_key = nil, strategy = nil) @bridge.hide_keyboard close_key, strategy end |
#ime ⇒ Object
Returns an instance of DeviceIME
230 231 232 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 230 def ime @device_ime ||= DeviceIME.new(@bridge) end |
#ime_activate(ime_name) ⇒ Object
Android only. Make an engine that is available active.
243 244 245 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 243 def ime_activate(ime_name) ime.activate(ime_name) end |
#ime_activated ⇒ Object
277 278 279 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 277 def ime_activated ime.activated? end |
#ime_active_engine ⇒ Object
Android only. Get the name of the active IME engine.
265 266 267 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 265 def ime_active_engine ime.active_engine end |
#ime_available_engines ⇒ Object
Android only. List all available input engines on the machine.
254 255 256 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 254 def ime_available_engines ime.available_engines end |
#ime_deactivate ⇒ Object
Android only. De-activates the currently-active IME engine.
288 289 290 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 288 def ime_deactivate ime.deactivate end |
#install_app(path, replace: nil, timeout: nil, allow_test_packages: nil, use_sdcard: nil, grant_permissions: nil) ⇒ Object
Install the given app onto the device
583 584 585 586 587 588 589 590 591 592 593 594 595 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 583 def install_app(path, replace: nil, timeout: nil, allow_test_packages: nil, use_sdcard: nil, grant_permissions: nil) @bridge.install_app(path, replace: replace, timeout: timeout, allow_test_packages: allow_test_packages, use_sdcard: use_sdcard, grant_permissions: ) end |
#keyboard_shown? ⇒ Boolean Also known as: is_keyboard_shown
Get whether keyboard is displayed or not.
118 119 120 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 118 def keyboard_shown? @bridge.is_keyboard_shown end |
#keyevent(key, metastate = nil) ⇒ Object
Send keyevent on the device.(Only for Selendroid) developer.android.com/reference/android/view/KeyEvent.html
459 460 461 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 459 def keyevent(key, = nil) @bridge.keyevent(key, ) end |
#launch_app ⇒ Object
Start the simulator and application configured with desired capabilities
513 514 515 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 513 def launch_app @bridge.launch_app end |
#lock(duration = nil) ⇒ String
Lock the device
68 69 70 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 68 def lock(duration = nil) @bridge.lock(duration) end |
#locked? ⇒ Boolean Also known as: device_locked?
Check current device status is weather locked or not
79 80 81 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 79 def locked? @bridge.device_locked? end |
#logs ⇒ String
Get the device window’s logs.
821 822 823 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 821 def logs @logs ||= Logs.new(@bridge) end |
#long_press_keycode(key, metastate: [], flags: []) ⇒ Object
Long press keycode on the device. developer.android.com/reference/android/view/KeyEvent.html
503 504 505 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 503 def long_press_keycode(key, metastate: [], flags: []) @bridge.long_press_keycode(key, metastate: , flags: flags) end |
#match_images_features(first_image:, second_image:, detector_name: 'ORB', match_func: 'BruteForce', good_matches_factor: nil, visualize: false) ⇒ Object
Image Comparison
927 928 929 930 931 932 933 934 935 936 937 938 939 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 927 def match_images_features(first_image:, second_image:, detector_name: 'ORB', match_func: 'BruteForce', good_matches_factor: nil, visualize: false) @bridge.match_images_features(first_image: first_image, second_image: second_image, detector_name: detector_name, match_func: match_func, good_matches_factor: good_matches_factor, visualize: visualize) end |
#multi_touch(actions) ⇒ Object
739 740 741 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 739 def multi_touch(actions) @bridge.multi_touch(actions) end |
#perform_actions(data) ⇒ Object
Send multiple W3C action chains to server. Use ‘@driver.action` for single action chain.
@example: Zoom
f1 = @driver.action.add_pointer_input(:touch, 'finger1')
f1.create_pointer_move(duration: 1, x: 200, y: 500,
origin: ::Selenium::WebDriver::Interactions::PointerMove::VIEWPORT)
f1.create_pointer_down(:left)
f1.create_pointer_move(duration: 1, x: 200, y: 200,
origin: ::Selenium::WebDriver::Interactions::PointerMove::VIEWPORT)
f1.create_pointer_up(:left)
f2 = @driver.action.add_pointer_input(:touch, 'finger2')
f2.create_pointer_move(duration: 1, x: 200, y: 500,
origin: ::Selenium::WebDriver::Interactions::PointerMove::VIEWPORT)
f2.create_pointer_down(:left)
f2.create_pointer_move(duration: 1, x: 200, y: 800,
origin: ::Selenium::WebDriver::Interactions::PointerMove::VIEWPORT)
f2.create_pointer_up(:left)
@driver.perform_actions [f1, f2] #=> `nil` if the action succeed
769 770 771 772 773 774 775 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 769 def perform_actions(data) raise ArgumentError, "'#{data}' must be Array" unless data.is_a? Array @bridge.send_actions data.map(&:encode).compact data.each(&:clear_actions) nil end |
#press_keycode(key, metastate: [], flags: []) ⇒ Object
Press keycode on the device. developer.android.com/reference/android/view/KeyEvent.html
481 482 483 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 481 def press_keycode(key, metastate: [], flags: []) @bridge.press_keycode(key, metastate: , flags: flags) end |
#pull_file(path) ⇒ Base64-decoded
Pull a file from the simulator/device. On iOS the server should have ifuse libraries installed and configured properly for this feature to work on real devices. On Android the application under test should be built with debuggable flag enabled in order to get access to its container on the internal file system.
420 421 422 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 420 def pull_file(path) @bridge.pull_file(path) end |
#pull_folder(path) ⇒ Base64-decoded
Pull a folder content from the simulator/device. On iOS the server should have ifuse libraries installed and configured properly for this feature to work on real devices. On Android the application under test should be built with debuggable flag enabled in order to get access to its container on the internal file system.
iFuse GitHub page6 osxFuse FAQ / ‘Debug Your App’ developer article
446 447 448 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 446 def pull_folder(path) @bridge.pull_folder(path) end |
#push_file(path, filedata) ⇒ Object
Place a file in a specific location on the device. On iOS, the server should have ifuse libraries installed and configured properly for this feature to work on real devices. On Android, the application under test should be built with debuggable flag enabled in order to get access to its container on the internal file system.
392 393 394 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 392 def push_file(path, filedata) @bridge.push_file(path, filedata) end |
#remove_app(app_id, keep_data: nil, timeout: nil) ⇒ Object
607 608 609 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 607 def remove_app(app_id, keep_data: nil, timeout: nil) @bridge.remove_app(app_id, keep_data: keep_data, timeout: timeout) end |
#replace_value(element, *value) ⇒ Object
Replace the value to element directly
364 365 366 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 364 def replace_value(element, *value) @bridge.replace_value(element, *value) end |
#reset ⇒ Object
Reset the device, relaunching the application.
533 534 535 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 533 def reset @bridge.reset end |
#send_keys(*key) ⇒ Object Also known as: type
- DEPRECATION
-
Send keys for a current active element
131 132 133 134 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 131 def send_keys(*key) warn '[DEPRECATION] Driver#send_keys is deprecated in W3C spec. Use driver.action.<command>.perform instead' @bridge.send_keys_to_active_element(key) end |
#session_capabilities ⇒ Selenium::WebDriver::Remote::Capabilities
Retrieve the capabilities of the specified session. It’s almost same as ‘@driver.capabilities` but you can get more details.
922 923 924 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 922 def session_capabilities @bridge.session_capabilities end |
#set_immediate_value(element, *value) ⇒ Object
Set the value to element directly
354 355 356 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 354 def set_immediate_value(element, *value) @bridge.set_immediate_value(element, *value) end |
#settings ⇒ Object
Returns an instance of DriverSettings to call get/update.
160 161 162 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 160 def settings @driver_settings ||= DriverSettings.new(@bridge) end |
#settings=(value) ⇒ Object Also known as: update_settings
Update Appium Settings for current test session Alias of @driver.settings#update
187 188 189 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 187 def settings=(value) settings.update(value) end |
#shake ⇒ Object
Cause the device to shake
714 715 716 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 714 def shake @bridge.shake end |
#stop_and_save_recording_screen(file_path) ⇒ Object
704 705 706 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 704 def stop_and_save_recording_screen(file_path) @bridge.stop_and_save_recording_screen(file_path) end |
#stop_recording_screen(remote_path: nil, user: nil, pass: nil, method: 'PUT') ⇒ Object
688 689 690 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 688 def stop_recording_screen(remote_path: nil, user: nil, pass: nil, method: 'PUT') @bridge.stop_recording_screen(remote_path: remote_path, user: user, pass: pass, method: method) end |
#switch_to_default_context ⇒ Object
Change to the default context. This is equivalent to ‘set_context nil`.
311 312 313 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 311 def switch_to_default_context @bridge.switch_to_default_context end |
#terminate_app(app_id, timeout: nil) ⇒ Boolean
Terminate the specified app.
645 646 647 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 645 def terminate_app(app_id, timeout: nil) @bridge.terminate_app(app_id, timeout: timeout) end |
#touch_actions(actions) ⇒ Object
touch actions
735 736 737 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 735 def touch_actions(actions) @bridge.touch_actions(actions) end |
#unlock ⇒ Object
Unlock the device
90 91 92 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 90 def unlock @bridge.unlock end |
#update_sending_request_to(protocol:, host:, port:, path:) ⇒ Object
Update ‘server_url` and HTTP clients following this arguments, protocol, host, port and path. After this method, `@bridge.http` will be a new instance following them instead of `server_url` which is set before creating session.
50 51 52 53 54 55 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 50 def update_sending_request_to(protocol:, host:, port:, path:) @bridge.http.update_sending_request_to(scheme: protocol, host: host, port: port, path: path) end |
#window_rect ⇒ Selenium::WebDriver::Rectangle
Get the device window’s rect.
799 800 801 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 799 def window_rect manage.window.rect end |
#window_size ⇒ Selenium::WebDriver::Dimension
Get the device window’s size.
785 786 787 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 785 def window_size manage.window.size end |
#within_context(context) ⇒ Object
Perform a block within the given context, then switch back to the starting context.
301 302 303 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 301 def within_context(context) block_given? ? @bridge.within_context(context, &Proc.new) : @bridge.within_context(context) end |