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.
-
#sessions ⇒ [Hash]
Returns available sessions on the Appium server.
-
#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_urland 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.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 32 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.
662 663 664 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 662 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
651 652 653 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 651 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
701 702 703 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 701 def app_state(app_id) @bridge.app_state(app_id) end |
#app_strings(language = nil) ⇒ Hash
Return the hash of all localization strings.
577 578 579 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 577 def app_strings(language = nil) @bridge.app_strings(language) end |
#available_contexts ⇒ Array<String>
Returns All usable contexts, as an array of strings.
347 348 349 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 347 def available_contexts @bridge.available_contexts end |
#back ⇒ String
Get the device window’s size.
842 843 844 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 842 def back navigate.back end |
#background_app(duration = 0) ⇒ String
Backgrounds the app for a set number of seconds. This is a blocking application
592 593 594 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 592 def background_app(duration = 0) @bridge.background_app(duration) end |
#close_app ⇒ Object
Close an app on device
556 557 558 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 556 def close_app @bridge.close_app end |
#compare_images(mode: :matchFeatures, first_image:, second_image:, options: nil) ⇒ Object
997 998 999 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 997 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.
359 360 361 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 359 def context=(context = null) @bridge.set_context(context) end |
#current_context ⇒ String
Returns The context currently being used.
337 338 339 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 337 def current_context @bridge.current_context end |
#device_time(format = nil) ⇒ String
Get the time on the device
763 764 765 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 763 def device_time(format = nil) @bridge.device_time(format) end |
#dialect ⇒ :oss|:w3c
Get the dialect value
50 51 52 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 50 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
1018 1019 1020 1021 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 1018 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
1041 1042 1043 1044 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 1041 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
986 987 988 989 990 991 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 986 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
993 994 995 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 993 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
188 189 190 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 188 def get_settings settings.get end |
#get_timeouts ⇒ Hash
For W3C. Get the timeout related settings on the server side.
866 867 868 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 866 def get_timeouts @bridge.get_timeouts end |
#hide_keyboard(close_key = nil, strategy = nil) ⇒ Object
Hide the onscreen keyboard
121 122 123 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 121 def hide_keyboard(close_key = nil, strategy = nil) @bridge.hide_keyboard close_key, strategy end |
#ime ⇒ Object
Returns an instance of DeviceIME
246 247 248 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 246 def ime @device_ime ||= DeviceIME.new(@bridge) # rubocop:disable Naming/MemoizedInstanceVariableName end |
#ime_activate(ime_name) ⇒ Object
Android only. Make an engine that is available active.
259 260 261 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 259 def ime_activate(ime_name) ime.activate(ime_name) end |
#ime_activated ⇒ Object
293 294 295 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 293 def ime_activated ime.activated? end |
#ime_active_engine ⇒ Object
Android only. Get the name of the active IME engine.
281 282 283 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 281 def ime_active_engine ime.active_engine end |
#ime_available_engines ⇒ Object
Android only. List all available input engines on the machine.
270 271 272 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 270 def ime_available_engines ime.available_engines end |
#ime_deactivate ⇒ Object
Android only. De-activates the currently-active IME engine.
304 305 306 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 304 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
616 617 618 619 620 621 622 623 624 625 626 627 628 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 616 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.
132 133 134 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 132 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
492 493 494 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 492 def keyevent(key, = nil) @bridge.keyevent(key, ) end |
#launch_app ⇒ Object
Start the simulator and application configured with desired capabilities
546 547 548 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 546 def launch_app @bridge.launch_app end |
#lock(duration = nil) ⇒ String
Lock the device
82 83 84 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 82 def lock(duration = nil) @bridge.lock(duration) end |
#locked? ⇒ Boolean Also known as: device_locked?
Check current device status is weather locked or not
93 94 95 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 93 def locked? @bridge.device_locked? end |
#logs ⇒ String
Get the device window’s logs.
854 855 856 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 854 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
536 537 538 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 536 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
972 973 974 975 976 977 978 979 980 981 982 983 984 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 972 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
772 773 774 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 772 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
802 803 804 805 806 807 808 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 802 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
514 515 516 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 514 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.
445 446 447 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 445 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.
479 480 481 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 479 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.
408 409 410 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 408 def push_file(path, filedata) @bridge.push_file(path, filedata) end |
#remove_app(app_id, keep_data: nil, timeout: nil) ⇒ Object
640 641 642 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 640 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
380 381 382 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 380 def replace_value(element, *value) @bridge.replace_value(element, *value) end |
#reset ⇒ Object
Reset the device, relaunching the application.
566 567 568 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 566 def reset @bridge.reset end |
#send_keys(*key) ⇒ Object Also known as: type
- DEPRECATION
-
Send keys for a current active element
145 146 147 148 149 150 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 145 def send_keys(*key) ::Appium::Logger.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.
955 956 957 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 955 def session_capabilities @bridge.session_capabilities end |
#sessions ⇒ [Hash]
Returns available sessions on the Appium server
967 968 969 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 967 def sessions @bridge.sessions end |
#set_immediate_value(element, *value) ⇒ Object
Set the value to element directly
370 371 372 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 370 def set_immediate_value(element, *value) @bridge.set_immediate_value(element, *value) end |
#settings ⇒ Object
Returns an instance of DriverSettings to call get/update.
176 177 178 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 176 def settings @driver_settings ||= DriverSettings.new(@bridge) # rubocop:disable Naming/MemoizedInstanceVariableName end |
#settings=(value) ⇒ Object Also known as: update_settings
Update Appium Settings for current test session Alias of @driver.settings#update
203 204 205 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 203 def settings=(value) settings.update(value) end |
#shake ⇒ Object
Cause the device to shake
747 748 749 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 747 def shake @bridge.shake end |
#stop_and_save_recording_screen(file_path) ⇒ Object
737 738 739 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 737 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
721 722 723 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 721 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`.
327 328 329 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 327 def switch_to_default_context @bridge.switch_to_default_context end |
#terminate_app(app_id, timeout: nil) ⇒ Boolean
Terminate the specified app.
678 679 680 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 678 def terminate_app(app_id, timeout: nil) @bridge.terminate_app(app_id, timeout: timeout) end |
#touch_actions(actions) ⇒ Object
touch actions
768 769 770 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 768 def touch_actions(actions) @bridge.touch_actions(actions) end |
#unlock ⇒ Object
Unlock the device
104 105 106 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 104 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.
64 65 66 67 68 69 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 64 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.
832 833 834 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 832 def window_rect manage.window.rect end |
#window_size ⇒ Selenium::WebDriver::Dimension
Get the device window’s size.
818 819 820 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 818 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.
317 318 319 |
# File 'lib/appium_lib_core/common/base/driver.rb', line 317 def within_context(context) block_given? ? @bridge.within_context(context, &Proc.new) : @bridge.within_context(context) end |