docs/android_docs.md in appium_lib-9.6.1 vs docs/android_docs.md in appium_lib-9.7.0

- old
+ new

@@ -1,8 +1,8 @@ -##### [load_settings](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L85) +##### [load_settings](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/appium.rb#L44) -> def self.load_settings(opts = {}) +> def load_settings(opts = {}) Load arbitrary text ([toml format](https://github.com/toml-lang/toml)) The toml is parsed by https://github.com/fbernier/tomlrb . ``` @@ -25,13 +25,13 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[hash] the symbolized hash with updated :app and :require keys -- -##### [load_appium_txt](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L121) +##### [load_appium_txt](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/appium.rb#L77) -> def self.load_settings(opts = {}) +> def load_settings(opts = {}) Load arbitrary text ([toml format](https://github.com/toml-lang/toml)) The toml is parsed by https://github.com/fbernier/tomlrb . ``` @@ -43,11 +43,10 @@ ``` :app is expanded :require is expanded all keys are converted to symbols -rubocop:disable Style/Alias __Parameters:__ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Hash] opts - file: '/path/to/appium.txt', verbose: true @@ -55,13 +54,13 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[hash] the symbolized hash with updated :app and :require keys -- -##### [expand_required_files](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L127) +##### [expand_required_files](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/appium.rb#L82) -> def self.expand_required_files(base_dir, file_paths) +> def expand_required_files(base_dir, file_paths) __Parameters:__ @@ -73,25 +72,14 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array] list of require files as an array, nil if require doesn't exist -- -##### [symbolize_keys](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L159) +##### [promote_singleton_appium_methods](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/appium.rb#L121) -> def self.symbolize_keys(hash) +> def promote_singleton_appium_methods(modules, driver = $driver) -convert all keys (including nested) to symbols - -based on deep_symbolize_keys & deep_transform_keys from rails -https://github.com/rails/docrails/blob/a3b1105ada3da64acfa3843b164b14b734456a50/activesupport/lib/active_support/core_ext/hash/keys.rb#L84 - --- - -##### [promote_singleton_appium_methods](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L180) - -> def self.promote_singleton_appium_methods(modules, driver = $driver) - This method is intended to work with page objects that share a common module. For example, Page::HomePage, Page::SignIn those could be promoted on with Appium.promote_singleton_appium_methods Page If you are promoting on an individual class then you should use @@ -102,13 +90,13 @@ that module are promoted on. otherwise, the array of modules will be used as the promotion target. -- -##### [promote_appium_methods](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L233) +##### [promote_appium_methods](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/appium.rb#L174) -> def self.promote_appium_methods(class_array, driver = $driver) +> def promote_appium_methods(class_array, driver = $driver) Promote appium methods to class instance methods To promote methods to all classes: @@ -132,202 +120,186 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array<Class>] class_array - An array of classes -- -##### [selenium_webdriver_version_more?](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L260) +##### [global_webdriver_http_sleep](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L24) -> def self.selenium_webdriver_version_more?(version) - - - -__Returns:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Boolean] - --- - -##### [global_webdriver_http_sleep](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L272) - > def global_webdriver_http_sleep The amount to sleep in seconds before every webdriver http call. -- -##### [global_webdriver_http_sleep=](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L272) +##### [global_webdriver_http_sleep=](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L24) > def global_webdriver_http_sleep=(value) The amount to sleep in seconds before every webdriver http call. -- -##### [caps](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L274) +##### [sauce](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L27) -> def caps +> def sauce -Selenium webdriver capabilities +SauceLab's settings -- -##### [custom_url](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L276) +##### [sauce_username](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L30) -> def custom_url +> def sauce_username -Custom URL for the selenium server +Username for use on Sauce Labs. Set `false` to disable Sauce, even when SAUCE_USERNAME is in ENV. +same as @sauce.username -- -##### [export_session](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L278) +##### [sauce_access_key](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L33) -> def export_session +> def sauce_access_key -Export session id to textfile in /tmp for 3rd party tools +Access Key for use on Sauce Labs. Set `false` to disable Sauce, even when SAUCE_ACCESS_KEY is in ENV. +same as @sauce.access_key -- -##### [default_wait](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L283) +##### [sauce_endpoint](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L36) -> def default_wait +> def sauce_endpoint -Default wait time for elements to appear -Returns the default client side wait. -This value is independent of what the server is using +Override the Sauce Appium endpoint to allow e.g. TestObject tests +same as @sauce.endpoint -__Returns:__ +-- -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Integer] +##### [caps](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L39) +> def caps + +from Core + -- -##### [sauce_username](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L285) +##### [custom_url](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L40) -> def sauce_username +> def custom_url -Username for use on Sauce Labs. Set `false` to disable Sauce, even when SAUCE_USERNAME is in ENV. +Returns the value of attribute custom_url -- -##### [sauce_access_key](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L287) +##### [export_session](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L41) -> def sauce_access_key +> def export_session -Access Key for use on Sauce Labs. Set `false` to disable Sauce, even when SAUCE_ACCESS_KEY is in ENV. +Returns the value of attribute export_session -- -##### [sauce_endpoint](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L289) +##### [default_wait](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L42) -> def sauce_endpoint +> def default_wait -Override the Sauce Appium endpoint to allow e.g. TestObject tests +Returns the value of attribute default_wait -- -##### [appium_port](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L291) +##### [appium_port](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L43) > def appium_port -Appium's server port +Returns the value of attribute appium_port -- -##### [appium_device](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L293) +##### [appium_device](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L44) > def appium_device -Device type to request from the appium server +Returns the value of attribute appium_device -- -##### [automation_name](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L296) +##### [automation_name](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L45) > def automation_name -Automation name sent to appium server or received from server -If automation_name is nil, it is not set both client side and server side. +Returns the value of attribute automation_name -- -##### [appium_server_status](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L298) +##### [listener](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L46) -> def appium_server_status +> def listener -Appium's server version +Returns the value of attribute listener -- -##### [appium_debug](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L300) +##### [http_client](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L47) -> def appium_debug +> def http_client -Boolean debug mode for the Appium Ruby bindings +Returns the value of attribute http_client -- -##### [listener](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L302) +##### [appium_wait_timeout](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L48) -> def listener +> def appium_wait_timeout -instance of AbstractEventListener for logging support +Returns the value of attribute appium_wait_timeout -- -##### [driver](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L305) +##### [appium_wait_interval](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L49) -> def driver +> def appium_wait_interval -Returns the driver +Returns the value of attribute appium_wait_interval -__Returns:__ +-- -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Driver] the driver +##### [appium_server_status](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L52) --- +> def appium_server_status -##### [http_client](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L308) +Appium's server version -> def http_client +-- -Return http client called in start_driver() +##### [appium_debug](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L54) -__Returns:__ +> def appium_debug -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Selenium::WebDriver::Remote::Http::Default] the http client +Boolean debug mode for the Appium Ruby bindings -- -##### [appium_wait_timeout](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L313) +##### [driver](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L57) -> def appium_wait_timeout +> def driver -Return a time wait timeout -Wait time for ::Appium::Common.wait or ::Appium::Common.wait_true. -Provide Appium::Drive like { appium_lib: { wait_timeout: 20 } } +Returns the driver __Returns:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Integer] +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Driver] the driver -- -##### [appium_wait_interval](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L318) +##### [core](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L59) -> def appium_wait_interval +> def core -Return a time wait timeout -Wait interval time for ::Appium::Common.wait or ::Appium::Common.wait_true. -Provide Appium::Drive like { appium_lib: { wait_interval: 20 } } +Instance of Appium::Core::Driver -__Returns:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Integer] - -- -##### [initialize](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L372) +##### [initialize](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L113) > def initialize(opts = {}, global_driver = nil) Creates a new driver. The driver is defined as global scope by default. We can avoid defining global driver. @@ -342,51 +314,55 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Driver] -- -##### [set_appium_lib_specific_values](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L457) +##### [driver_attributes](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L218) -> def set_appium_lib_specific_values(appium_lib_opts) +> def driver_attributes +Returns a hash of the driver attributes - -- -##### [driver_attributes](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L483) +##### [device_is_android?](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L237) -> def driver_attributes +> def device_is_android? -Returns a hash of the driver attributes + +__Returns:__ + +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Boolean] + -- -##### [device_is_android?](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L502) +##### [device_is_ios?](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L241) -> def device_is_android? +> def device_is_ios? __Returns:__ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Boolean] -- -##### [automation_name_is_xcuitest?](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L508) +##### [device_is_windows?](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L245) -> def automation_name_is_xcuitest? +> def device_is_windows? -Return true if automationName is 'XCUITest' + __Returns:__ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Boolean] -- -##### [automation_name_is_uiautomator2?](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L514) +##### [automation_name_is_uiautomator2?](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L251) > def automation_name_is_uiautomator2? Return true if automationName is 'uiautomator2' @@ -394,11 +370,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Boolean] -- -##### [automation_name_is_espresso?](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L520) +##### [automation_name_is_espresso?](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L257) > def automation_name_is_espresso? Return true if automationName is 'Espresso' @@ -406,12 +382,24 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Boolean] -- -##### [check_server_version_xcuitest](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L527) +##### [automation_name_is_xcuitest?](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L263) +> def automation_name_is_xcuitest? + +Return true if automationName is 'XCUITest' + +__Returns:__ + +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Boolean] + +-- + +##### [check_server_version_xcuitest](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L270) + > def check_server_version_xcuitest Return true if the target Appium server is over REQUIRED_VERSION_XCUITEST. If the Appium server is under REQUIRED_VERSION_XCUITEST, then error is raised. @@ -419,11 +407,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Boolean] -- -##### [appium_server_version](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L554) +##### [appium_server_version](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L292) > def appium_server_version Returns the server's version info @@ -434,23 +422,29 @@ "revision" => "d242ebcfd92046a974347ccc3a28f0e898595198" } } ``` -Returns blank hash for Selenium Grid since `remote_status` gets 500 error +__Returns:__ -```ruby -{} -``` +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Hash] +-- + +##### [platform_version](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L302) + +> def platform_version + +Return the platform version as an array of integers + __Returns:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Hash] +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array<Integer>] -- -##### [appium_client_version](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L575) +##### [appium_client_version](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L321) > def appium_client_version Returns the client's version info @@ -464,11 +458,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Hash] -- -##### [absolute_app_path](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L587) +##### [absolute_app_path](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L333) > def self.absolute_app_path(opts) Converts app_path to an absolute path. @@ -481,11 +475,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] APP_PATH as an absolute path -- -##### [server_url](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L620) +##### [server_url](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L366) > def server_url Get the server url @@ -493,11 +487,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] the server url -- -##### [restart](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L631) +##### [restart](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L374) > def restart Restarts the driver @@ -505,11 +499,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Driver] the driver -- -##### [screenshot](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L642) +##### [screenshot](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L385) > def screenshot(png_save_path) Takes a png screenshot and saves to the target path. @@ -523,11 +517,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[nil] -- -##### [driver_quit](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L649) +##### [driver_quit](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L391) > def driver_quit Quits the driver @@ -535,25 +529,36 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[void] -- -##### [quit_driver](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L657) +##### [quit_driver](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L394) > def driver_quit Quits the driver -Alias for driver_quit __Returns:__ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[void] -- -##### [start_driver](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L685) +##### [window_size](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L403) +> def window_size + +Get the device window's size. + +__Returns:__ + +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Selenium::WebDriver::Dimension] + +-- + +##### [start_driver](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L433) + > def start_driver(http_client_ops = { http_client: nil, open_timeout: 999_999, read_timeout: 999_999 }) Creates a new global driver and quits the old one if it exists. You can customise http_client as the following @@ -565,35 +570,35 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Selenium::WebDriver] the new global driver -- -##### [set_implicit_wait](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L725) +##### [set_implicit_wait](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L456) > def set_implicit_wait(wait) To ignore error for Espresso Driver -- -##### [no_wait](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L735) +##### [no_wait](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L466) > def no_wait Set implicit wait to zero. -- -##### [set_wait](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L749) +##### [set_wait](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L480) > def set_wait(timeout = nil) -Set implicit wait. Default to @default_wait. +Set implicit wait. Default to @core.default_wait. ```ruby set_wait 2 -set_wait # @default_wait +set_wait # @core.default_wait ``` __Parameters:__ @@ -603,13 +608,13 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[void] -- -##### [exists](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L766) +##### [exists](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L497) -> def exists(pre_check = 0, post_check = @default_wait) +> def exists(pre_check = 0, post_check = @core.default_wait) Returns existence of element. Example: @@ -627,11 +632,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Boolean] -- -##### [execute_script](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L790) +##### [execute_script](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L521) > def execute_script(script, *args) The same as @driver.execute_script @@ -645,24 +650,18 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Object] -- -##### [find_elements](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L812) +##### [find_elements](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L545) > def find_elements(*args) Calls @driver.find_elements_with_appium -``` -``` - If you call `Appium.promote_appium_methods`, you can call `find_elements` directly. -``` -``` - If you call `Appium.promote_appium_methods`, you can call `find_elements` directly. __Parameters:__ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[*args] args - The args to use @@ -671,19 +670,16 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array<Element>] Array is empty when no elements are found. -- -##### [find_element](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L827) +##### [find_element](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L561) > def find_element(*args) Calls @driver.find_element -``` -``` - If you call `Appium.promote_appium_methods`, you can call `find_element` directly. __Parameters:__ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[*args] args - The args to use @@ -692,11 +688,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Element] -- -##### [set_location](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L840) +##### [set_location](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L574) > def set_location(opts = {}) Calls @driver.set_location @@ -708,11 +704,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Selenium::WebDriver::Location] the location constructed by the selenium webdriver -- -##### [x](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L850) +##### [x](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/driver.rb#L584) > def x Quit the driver and Pry. quit and exit are reserved by Pry. @@ -721,531 +717,394 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[void] -- -##### [write_session_id](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L857) +##### [username](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/sauce_labs.rb#L4) -> def write_session_id(session_id) +> def username +Username for use on Sauce Labs. Set `false` to disable Sauce, even when SAUCE_USERNAME is in ENV. - -- -##### [set_automation_name_if_nil](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/driver.rb#L866) +##### [access_key](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/sauce_labs.rb#L6) -> def set_automation_name_if_nil +> def access_key -If "automationName" is set only server side, this method set "automationName" attribute into @automation_name. -Since @automation_name is set only client side before start_driver is called. +Access Key for use on Sauce Labs. Set `false` to disable Sauce, even when SAUCE_ACCESS_KEY is in ENV. -- -##### [logger=](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/logger.rb#L18) +##### [endpoint](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/sauce_labs.rb#L8) -> def logger=(value) +> def endpoint -Sets the attribute logger +Override the Sauce Appium endpoint to allow e.g. TestObject tests -__Parameters:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value - the value to set the attribute logger to. - -- -##### [logger](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/logger.rb#L22) +##### [initialize](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/sauce_labs.rb#L10) -> def logger +> def initialize(appium_lib_opts) --- - -##### [init_caps_for_appium](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/capabilities.rb#L8) - -> def self.init_caps_for_appium(opts_caps = {}) - - - -__Parameters:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Hash] opts_caps - Capabilities for Appium server. All capability keys are converted to lowerCamelCase when -this client sends capabilities to Appium server as JSON format. - __Returns:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[::Selenium::WebDriver::Remote::W3C::Capabilities] Return instance of Appium::Driver::Capabilities -inherited ::Selenium::WebDriver::Remote::W3C::Capabilities +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[SauceLabs] a new instance of SauceLabs -- -##### [app_strings](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L7) +##### [sauce_server_url?](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/sauce_labs.rb#L21) -> def app_strings +> def sauce_server_url? -Return the hash of all localization strings. -```ruby -app_strings #=> "TransitionsTitle"=>"Transitions", "WebTitle"=>"Web" -``` --- -##### [background_app](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L13) +__Returns:__ -> def background_app +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Boolean] -Backgrounds the app for a set number of seconds. -This is a blocking application - -- -##### [current_activity](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L24) +##### [server_url](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/sauce_labs.rb#L25) -> def current_activity +> def server_url -Get current activity name -```ruby -current_activity # '.ApiDemos' -``` -__Returns:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] An activity name - -- -##### [current_package](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L32) +##### [get_log](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/log.rb#L10) -> def current_package +> def get_log(type) -Get current package name -```ruby -current_package # 'com.example.android.apis' -``` -__Returns:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] A package name +__Parameters:__ --- +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String|Hash] type - You can get particular type's logs. -##### [get_system_bars](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L40) - -> def get_system_bars - -Get system bar's information -```ruby -get_system_bars -``` - __Returns:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] System bar +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[Selenium::WebDriver::LogEntry]] A list of logs data. -- -##### [get_display_density](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L48) +##### [get_available_log_types](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/log.rb#L20) -> def get_display_density +> def get_available_log_types -Get connected device's density. -```ruby -get_display_density # 320 -``` +Get a list of available log types __Returns:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Integer] The size of density +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[String]] A list of available log types. -- -##### [is_keyboard_shown](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L56) +##### [initialize](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/wait.rb#L6) -> def is_keyboard_shown +> def initialize(opts = {}) -Get whether keyboard is displayed or not. -```ruby -is_keyboard_shown # false -``` + __Returns:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Bool] Return true if keyboard is shown. Return false if keyboard is hidden. +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Wait] a new instance of Wait -- -##### [launch_app](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L64) +##### [wait_true](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/wait.rb#L34) -> def launch_app +> def wait_true(opts = {}) -Start the simulator and application configured with desired capabilities +Check every interval seconds to see if yield returns a truthy value. +Note this isn't a strict boolean true, any truthy value is accepted. +false and nil are considered failures. +Give up after timeout seconds. --- +Wait code from the selenium Ruby gem +https://github.com/SeleniumHQ/selenium/blob/cf501dda3f0ed12233de51ce8170c0e8090f0c20/rb/lib/selenium/webdriver/common/wait.rb -##### [reset](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L67) +If only a number is provided then it's treated as the timeout value. -> def reset +__Parameters:__ -Reset the device, relaunching the application. +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Hash] opts - Options -- -##### [shake](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L70) +##### [wait](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/wait.rb#L57) -> def shake +> def wait(opts = {}) -Cause the device to shake +Check every interval seconds to see if yield doesn't raise an exception. +Give up after timeout seconds. --- +Wait code from the selenium Ruby gem +https://github.com/SeleniumHQ/selenium/blob/cf501dda3f0ed12233de51ce8170c0e8090f0c20/rb/lib/selenium/webdriver/common/wait.rb -##### [toggle_flight_mode](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L73) +If only a number is provided then it's treated as the timeout value. -> def toggle_flight_mode +__Parameters:__ -Toggle flight mode on or off +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Hash] opts - Options -- -##### [device_locked?](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L76) +##### [ignore](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L17) -> def device_locked? +> def ignore +Return yield and ignore any exceptions. - -- -##### [hide_keyboard](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L78) +##### [back](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L24) -> def hide_keyboard +> def back -Hide the onscreen keyboard +Navigate back. -__Parameters:__ +__Returns:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] close_key - The name of the key which closes the keyboard. -Defaults to 'Done' for iOS(except for XCUITest). +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[void] -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Symbol] strategy - The symbol of the strategy which closes the keyboard. -XCUITest ignore this argument. -Default for iOS is `:pressKey`. Default for Android is `:tapOutside`. - -- -##### [press_keycode](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L91) +##### [session_id](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L29) -> def press_keycode +> def session_id -Press keycode on the device. -http://developer.android.com/reference/android/view/KeyEvent.html +For Sauce Labs reporting. Returns the current session id. -__Parameters:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[integer] key - The key to press. - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] metastate - The state the metakeys should be in when pressing the key. - -- -##### [long_press_keycode](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L97) +##### [xpath](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L37) -> def long_press_keycode +> def xpath(xpath_str) -Long press keycode on the device. -http://developer.android.com/reference/android/view/KeyEvent.html +Returns the first element that matches the provided xpath. __Parameters:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[integer] key - The key to long press. +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] xpath_str - the XPath string -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] metastate - The state the metakeys should be in when long pressing the key. +__Returns:__ +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Element] + -- -##### [push_file](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L103) +##### [xpaths](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L45) -> def push_file +> def xpaths(xpath_str) -Place a file in a specific location on the device. +Returns all elements that match the provided xpath. __Parameters:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] path - The absolute path on the device to store data at. +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] xpath_str - the XPath string -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] data - Raw file data to be sent to the device. +__Returns:__ +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array<Element>] + -- -##### [pull_file](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L108) +##### [result](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L56) -> def pull_file +> def result -Retrieve a file from the device. This can retrieve an absolute path or -a path relative to the installed app (iOS only). -```ruby -pull_file '/local/data/some/path' #=> Get the file at that path -pull_file 'Shenanigans.app/some/file' #=> Get 'some/file' from the install location of Shenanigans.app -``` +Returns the value of attribute result -__Parameters:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] path - Either an absolute path OR, for iOS devices, a path relative to the app, as described. - -- -##### [pull_folder](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L118) +##### [initialize](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L58) -> def pull_folder +> def initialize -Retrieve a folder from the device. -```ruby -pull_folder '/data/local/tmp' #=> Get the folder at that path -``` -__Parameters:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] path - absolute path to the folder +__Returns:__ +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[CountElements] a new instance of CountElements + -- -##### [touch_id](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L126) +##### [reset](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L62) -> def touch_id +> def reset -iOS only; Simulate Touch ID with either valid (match == true) or invalid (match == false) fingerprint. -```ruby -touch_id true #=> Simulate valid fingerprint -touch_id false #=> Simulate invalid fingerprint -``` -__Parameters:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Boolean] match - fingerprint validity -Defaults to true. - -- -##### [toggle_touch_id_enrollment](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L135) +##### [start_element](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L67) -> def toggle_touch_id_enrollment +> def start_element(name, attrs = [], driver = $driver) -iOS Simulator only: Toggle touch id enrollment on an iOS Simulator. +http://nokogiri.org/Nokogiri/XML/SAX/Document.html -- -##### [end_coverage](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L138) +##### [formatted_result](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L73) -> def end_coverage +> def formatted_result -Android only; Ends the test coverage and writes the results to the given path on device. -__Parameters:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] path - Path on the device to write too. - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] intent - Intent to broadcast when ending coverage. - -- -##### [get_settings](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L143) +##### [get_page_class](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L84) -> def get_settings +> def get_page_class -Get appium Settings for current test session +Returns a string of class counts of visible elements. -- -##### [update_settings](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L146) +##### [page_class](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L95) -> def update_settings +> def page_class -Update appium Settings for current test session +Count all classes on screen and print to stdout. +Useful for appium_console. -__Parameters:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Hash] settings - Settings to update, keys are settings, values to value to set each setting to - -- -##### [start_activity](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L150) +##### [px_to_window_rel](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L105) -> def start_activity +> def px_to_window_rel(opts = {}, driver = $driver) -Start a new activity within the current app or launch a new app and start the target activity. +Converts pixel values to window relative values -Android only. ```ruby -start_activity app_package: 'io.appium.android.apis', - app_activity: '.accessibility.AccessibilityNodeProviderActivity' +px_to_window_rel x: 50, y: 150 ``` -- -##### [get_network_connection](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L164) +##### [xml_keys](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L124) -> def get_network_connection +> def xml_keys(target) -Get the device network connection current status -See set_network_connection method for return value +Search strings.xml's values for target. --- +__Parameters:__ -##### [set_network_connection](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L168) +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] target - the target to search for in strings.xml values -> def set_network_connection +__Returns:__ -Set the device network connection mode -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 +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array] -__Parameters:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] path - Bit mask that represent the network mode - -- -##### [set_immediate_value](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L181) +##### [xml_values](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L132) -> def set_immediate_value +> def xml_values(target) -Set the value to element directly -for iOS; setValue is called in XCUITest instead because XCUITest doesn't provide set value directly. -https://github.com/appium/appium-xcuitest-driver/blob/793cdc7d5e84bd553e375076e1c6dc7e242c9cde/lib/commands/element.js#L123 +Search strings.xml's keys for target. -```ruby -set_immediate_value element, 'hello' -``` +__Parameters:__ --- +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] target - the target to search for in strings.xml keys -##### [get_performance_data_types](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L190) +__Returns:__ -> def get_performance_data_types +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array] -Get the information type of the system state which is supported to read such as -cpu, memory, network, battery via adb commands. -https://github.com/appium/appium-base-driver/blob/be29aec2318316d12b5c3295e924a5ba8f09b0fb/lib/mjsonwp/routes.js#L300 - -```ruby -get_performance_data_types #=> ["cpuinfo", "batteryinfo", "networkinfo", "memoryinfo"] -``` - -- -##### [extend_search_contexts](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L443) +##### [resolve_id](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L140) -> def extend_search_contexts +> def resolve_id(id) +Resolve id in strings.xml and return the value. +__Parameters:__ --- +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] id - the id to resolve -##### [find_element_with_appium](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L443) +__Returns:__ -> def find_element_with_appium +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] - - -- -##### [find_elements_with_appium](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L443) +##### [filter](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L146) -> def find_elements_with_appium +> def filter -find_element/s_with_appium with their accessibility_id +Returns the value of attribute filter -```ruby - find_elements :accessibility_id, 'Animation' -``` - -- -##### [add_touch_actions](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L474) +##### [filter=](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L149) -> def add_touch_actions +> def filter=(value) +convert to string to support symbols - -- -##### [add_ime_actions](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L497) +##### [initialize](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L155) -> def add_ime_actions +> def initialize --- +__Returns:__ -##### [set_context](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L572) +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[HTMLElements] a new instance of HTMLElements -> def set_context +-- -Change the context to the given context. -```ruby -set_context "NATIVE_APP" -``` +##### [reset](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L160) -__Parameters:__ +> def reset -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] The - context to change to + -- -##### [current_context](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L580) +##### [result](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L166) -> def current_context +> def result -__Returns:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] The context currently being used. - -- -##### [available_contexts](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L583) +##### [start_element](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L182) -> def available_contexts +> def start_element(name, attrs = []) -__Returns:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array<String>] All usable contexts, as an array of strings. - -- -##### [within_context](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L594) +##### [end_element](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L191) -> def within_context(context) +> def end_element(name) -Perform a block within the given context, then switch back to the starting context. -```ruby -result = within_context('NATIVE_APP') do - find_element :tag, "button" -end # The result of `find_element :tag, "button"` -``` -__Parameters:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] context - The context to switch to for the duration of the block. - -- -##### [switch_to_default_context](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/device.rb#L607) +##### [characters](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/helper.rb#L197) -> def switch_to_default_context +> def characters(chars) -Change to the default context. This is equivalent to `set_context nil`. + -- -##### [pinch](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/multi_touch.rb#L53) +##### [pinch](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/multi_touch.rb#L53) > def pinch(percentage = 25, auto_perform = true, driver = $driver) Convenience method for pinching the screen. Places two fingers at the edges of the screen and brings them together. @@ -1275,11 +1134,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Driver] driver - Set a driver to conduct the action. DEfault is global driver($driver) -- -##### [zoom](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/multi_touch.rb#L96) +##### [zoom](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/multi_touch.rb#L80) > def zoom(percentage = 200, auto_perform = true, driver = $driver) Convenience method for zooming the screen. Places two fingers at the edges of the screen and brings them together. @@ -1309,709 +1168,181 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Driver] driver - Set a driver to conduct the action. DEfault is global driver($driver) -- -##### [pinch_for_xcuitest](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/multi_touch.rb#L118) +##### [initialize](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/multi_touch.rb#L85) -> def pinch_for_xcuitest(rate, driver) +> def initialize(driver = $driver) - - --- - -##### [pinch_android](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/multi_touch.rb#L133) - -> def pinch_android(rate) - - - --- - -##### [pinch_ios](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/multi_touch.rb#L147) - -> def pinch_ios(rate) - - - --- - -##### [zoom_for_xcuitest](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/multi_touch.rb#L161) - -> def zoom_for_xcuitest(rate, driver) - - - --- - -##### [zoom_android](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/multi_touch.rb#L176) - -> def zoom_android(rate) - - - --- - -##### [zoom_ios](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/multi_touch.rb#L190) - -> def zoom_ios(rate) - - - --- - -##### [actions](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/multi_touch.rb#L205) - -> def actions - self --- - -##### [driver](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/multi_touch.rb#L205) - -> def driver - -self - --- - -##### [initialize](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/multi_touch.rb#L208) - -> def initialize(driver = $driver) - -Create a new multi-action with Driver - __Returns:__ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[MultiTouch] a new instance of MultiTouch -- -##### [add](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/multi_touch.rb#L215) +##### [COMPLEX_ACTIONS](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/touch_actions.rb#L30) -> def add(chain) +> COMPLEX_ACTIONS = ::Appium::Core::TouchAction::COMPLEX_ACTIONS -Add a touch_action to be performed -__Parameters:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[TouchAction] chain - The action to add to the chain - -- -##### [perform](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/multi_touch.rb#L220) +##### [initialize](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/common/touch_actions.rb#L44) -> def perform +> def initialize(driver = $driver) -Ask Appium to perform the actions --- -##### [ACTIONS](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/touch_actions.rb#L30) - -> ACTIONS = [:move_to, :long_press, :double_tap, :two_finger_tap, :press, :release, :tap, :wait, :perform].freeze - - - --- - -##### [COMPLEX_ACTIONS](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/touch_actions.rb#L31) - -> COMPLEX_ACTIONS = [:swipe].freeze - - - --- - -##### [actions](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/touch_actions.rb#L45) - -> def actions - -Returns the value of attribute actions - --- - -##### [initialize](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/touch_actions.rb#L47) - -> def initialize - - - __Returns:__ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[TouchAction] a new instance of TouchAction -- -##### [move_to](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/touch_actions.rb#L58) +##### [for](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/android.rb#L15) android -> def move_to(opts) +> def self.for(target) -Move to the given co-ordinates. -`move_to`'s `x` and `y` have two case. One is working as coordinate, the other is working as offset. -__Parameters:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Hash] opts - a customizable set of options - -- -##### [long_press](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/touch_actions.rb#L72) +##### [TextView](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/text.rb#L4) android -> def long_press(opts) +> TextView = 'android.widget.TextView'.freeze -Press down for a specific duration. -Alternatively, you can use `press(...).wait(...).release()` instead of `long_press` if duration doesn't work well. -https://github.com/appium/ruby_lib/issues/231#issuecomment-269895512 -e.g. Appium::TouchAction.new.press(x: 280, y: 530).wait(2000).release.perform -__Parameters:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Hash] element - a customizable set of options - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Hash] x - a customizable set of options - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Hash] y - a customizable set of options - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Hash] duration - a customizable set of options - -- -##### [press](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/touch_actions.rb#L84) +##### [text](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/text.rb#L10) android -> def press(opts) +> def text(value) -Press a finger onto the screen. Finger will stay down until you call -`release`. +Find the first TextView that contains value or by index. +If int then the TextView at that index is returned. __Parameters:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Hash] opts - a customizable set of options +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String, Integer] value - the value to find. --- - -##### [release](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/touch_actions.rb#L95) - -> def release(opts = nil) - -Remove a finger from the screen. - -__Parameters:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Hash] opts - a customizable set of options - --- - -##### [tap](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/touch_actions.rb#L107) - -> def tap(opts) - -Touch a point on the screen. -Alternatively, you can use `press(...).release.perform` instead of `tap(...).perform`. - -__Parameters:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Hash] opts - a customizable set of options - --- - -##### [double_tap](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/touch_actions.rb#L120) - -> def double_tap(opts) - -Double tap an element on the screen - -__Parameters:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Hash] opts - a customizable set of options - --- - -##### [two_finger_tap](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/touch_actions.rb#L131) - -> def two_finger_tap(opts) - -Two finger tap an element on the screen - -__Parameters:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Hash] opts - a customizable set of options - --- - -##### [wait](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/touch_actions.rb#L139) - -> def wait(milliseconds) - -Pause for a number of milliseconds before the next action - -__Parameters:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[integer] milliseconds - Number of milliseconds to pause for - --- - -##### [swipe](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/touch_actions.rb#L162) - -> def swipe(opts, ele = nil) - -Convenience method to peform a swipe. - -Note that iOS 7 simulators have broken swipe. - -For iOS: Use `offset_x` and `offset_y` to define the end point. - -For Android: Use `end_x` and `end_y` to define the end point. - -If you'd like more details, please read tests and its log samples in -`ios_tests/lib/ios/specs/device/touch_actions.rb` and `ios_tests/lib/ios/specs/device/touch_actions.rb` - -__Parameters:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Hash] opts - a customizable set of options - --- - -##### [perform](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/touch_actions.rb#L187) - -> def perform(driver = $driver) - -Ask the driver to perform all actions in this action chain. - --- - -##### [cancel](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/touch_actions.rb#L194) - -> def cancel(driver = $driver) - -Does nothing, currently. - --- - -##### [swipe_coordinates](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/touch_actions.rb#L201) - -> def swipe_coordinates(end_x: nil, end_y: nil, offset_x: nil, offset_y: nil, driver: $driver) - -Visible for testing - --- - -##### [chain_method](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/touch_actions.rb#L219) - -> def chain_method(method, args = nil) - - - --- - -##### [args_with_ele_ref](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/device/touch_actions.rb#L225) - -> def args_with_ele_ref(args) - - - --- - -##### [initialize](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/wait.rb#L4) - -> def initialize(opts = {}) - - - __Returns:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Wait] a new instance of Wait +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[TextView] -- -##### [until](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/wait.rb#L23) +##### [texts](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/text.rb#L19) android -> def until +> def texts(value = false) -Wait code from the selenium Ruby gem -https://github.com/SeleniumHQ/selenium/blob/cf501dda3f0ed12233de51ce8170c0e8090f0c20/rb/lib/selenium/webdriver/common/wait.rb +Find all TextViews containing value. +If value is omitted, all texts are returned. --- - -##### [wait_true](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/wait.rb#L73) - -> def wait_true(opts = {}) - -Check every interval seconds to see if yield returns a truthy value. -Note this isn't a strict boolean true, any truthy value is accepted. -false and nil are considered failures. -Give up after timeout seconds. - -Wait code from the selenium Ruby gem -https://github.com/SeleniumHQ/selenium/blob/cf501dda3f0ed12233de51ce8170c0e8090f0c20/rb/lib/selenium/webdriver/common/wait.rb - -If only a number is provided then it's treated as the timeout value. - __Parameters:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Hash] opts - Options +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] value - the value to search for --- - -##### [wait](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/wait.rb#L96) - -> def wait(opts = {}) - -Check every interval seconds to see if yield doesn't raise an exception. -Give up after timeout seconds. - -Wait code from the selenium Ruby gem -https://github.com/SeleniumHQ/selenium/blob/cf501dda3f0ed12233de51ce8170c0e8090f0c20/rb/lib/selenium/webdriver/common/wait.rb - -If only a number is provided then it's treated as the timeout value. - -__Parameters:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Hash] opts - Options - --- - -##### [ignore](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L24) - -> def ignore - -Return yield and ignore any exceptions. - --- - -##### [back](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L31) - -> def back - -Navigate back. - __Returns:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[void] +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array<TextView>] -- -##### [session_id](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L36) +##### [first_text](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/text.rb#L26) android -> def session_id +> def first_text -For Sauce Labs reporting. Returns the current session id. +Find the first TextView. --- - -##### [xpath](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L44) - -> def xpath(xpath_str) - -Returns the first element that matches the provided xpath. - -__Parameters:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] xpath_str - the XPath string - __Returns:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Element] +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[TextView] -- -##### [xpaths](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L52) +##### [last_text](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/text.rb#L32) android -> def xpaths(xpath_str) +> def last_text -Returns all elements that match the provided xpath. +Find the last TextView. -__Parameters:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] xpath_str - the XPath string - __Returns:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array<Element>] +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[TextView] -- -##### [_print_source](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L56) +##### [text_exact](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/text.rb#L39) android -> def _print_source(source) +> def text_exact(value) +Find the first TextView that exactly matches value. - --- - -##### [result](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L69) - -> def result - -Returns the value of attribute result - --- - -##### [initialize](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L71) - -> def initialize - - - -__Returns:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[CountElements] a new instance of CountElements - --- - -##### [reset](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L75) - -> def reset - - - --- - -##### [start_element](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L80) - -> def start_element(name, attrs = [], driver = $driver) - -http://nokogiri.org/Nokogiri/XML/SAX/Document.html - --- - -##### [formatted_result](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L86) - -> def formatted_result - - - --- - -##### [get_page_class](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L97) - -> def get_page_class - -Returns a string of class counts of visible elements. - --- - -##### [page_class](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L108) - -> def page_class - -Count all classes on screen and print to stdout. -Useful for appium_console. - --- - -##### [px_to_window_rel](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L118) - -> def px_to_window_rel(opts = {}, driver = $driver) - -Converts pixel values to window relative values - -```ruby -px_to_window_rel x: 50, y: 150 -``` - --- - -##### [xml_keys](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L137) - -> def xml_keys(target) - -Search strings.xml's values for target. - __Parameters:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] target - the target to search for in strings.xml values +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] value - the value to match exactly __Returns:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array] +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[TextView] -- -##### [xml_values](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L145) +##### [texts_exact](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/text.rb#L46) android -> def xml_values(target) +> def texts_exact(value) -Search strings.xml's keys for target. +Find all TextViews that exactly match value. __Parameters:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] target - the target to search for in strings.xml keys +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] value - the value to match exactly __Returns:__ -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array] +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array<TextView>] -- -##### [resolve_id](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L153) +##### [result](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L6) android -> def resolve_id(id) - -Resolve id in strings.xml and return the value. - -__Parameters:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] id - the id to resolve - -__Returns:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] - --- - -##### [filter](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L159) - -> def filter - -Returns the value of attribute filter - --- - -##### [filter=](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L162) - -> def filter=(value) - -convert to string to support symbols - --- - -##### [initialize](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L168) - -> def initialize - - - -__Returns:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[HTMLElements] a new instance of HTMLElements - --- - -##### [reset](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L173) - -> def reset - - - --- - -##### [result](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L179) - > def result - - --- - -##### [start_element](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L195) - -> def start_element(name, attrs = []) - - - --- - -##### [end_element](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L204) - -> def end_element(name) - - - --- - -##### [characters](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/helper.rb#L210) - -> def characters(chars) - - - --- - -##### [COMMAND_NO_ARG](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/command.rb#L4) - -> COMMAND_NO_ARG = { - - - --- - -##### [COMMAND](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/command.rb#L28) - -> COMMAND = { - - - --- - -##### [COMMANDS_EXTEND_OSS](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/command.rb#L66) - -> COMMANDS_EXTEND_OSS = COMMAND.merge(::Selenium::WebDriver::Remote::OSS::Bridge::COMMANDS).freeze - - - --- - -##### [COMMANDS_EXTEND_W3C](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/command.rb#L67) - -> COMMANDS_EXTEND_W3C = COMMAND.merge(::Selenium::WebDriver::Remote::W3C::Bridge::COMMANDS).freeze - - - --- - -##### [window_size](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/element/window.rb#L5) - -> def window_size - -Get the window's size - --- - -##### [FINDERS](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/search_context.rb#L5) - -> FINDERS = { - -rubocop:disable Style/MutableConstant - --- - -##### [result](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L6) android - -> def result - Returns the value of attribute result -- -##### [keys](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L6) android +##### [keys](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L6) android > def keys Returns the value of attribute keys -- -##### [filter](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L6) android +##### [filter](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L6) android > def filter Returns the value of attribute filter -- -##### [filter=](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L9) android +##### [filter=](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L9) android > def filter=(value) convert to string to support symbols -- -##### [initialize](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L15) android +##### [initialize](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L15) android > def initialize @@ -2019,27 +1350,27 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[AndroidElements] a new instance of AndroidElements -- -##### [reset](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L20) android +##### [reset](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L20) android > def reset -- -##### [start_element](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L26) android +##### [start_element](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L26) android > def start_element(name, attrs = [], driver = $driver) http://nokogiri.org/Nokogiri/XML/SAX/Document.html -- -##### [source](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L76) android +##### [source](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L76) android > def source Prints xml of the current page @@ -2047,11 +1378,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[void] -- -##### [get_android_inspect](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L86) android +##### [get_android_inspect](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L86) android > def get_android_inspect(class_name = false) Android only. Returns a string containing interesting elements. @@ -2066,11 +1397,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] -- -##### [page](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L112) android +##### [page](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L112) android > def page(opts = {}) Intended for use with console. Inspects and prints the current page. @@ -2085,21 +1416,21 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[void] -- -##### [current_app](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L124) android +##### [current_app](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L124) android > def current_app example line: "mFocusedApp=AppWindowToken{b1420058 token=Token{b128add0 ActivityRecord{b1264d10 u0 com.example.android.apis/.ApiDemos t23}}}" -- -##### [id](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L148) android +##### [id](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L148) android > def id(id) Find the first matching element by id @@ -2111,11 +1442,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Element] -- -##### [ids](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L156) android +##### [ids](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L156) android > def ids(id) Find all matching elements by id @@ -2127,11 +1458,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Element] -- -##### [ele_index](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L165) android +##### [ele_index](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L165) android > def ele_index(class_name, index) Find the element of type class_name at matching index. @@ -2145,11 +1476,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Element] the found element of type class_name -- -##### [first_ele](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L183) android +##### [first_ele](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L183) android > def first_ele(class_name) Find the first element that matches class_name @@ -2161,11 +1492,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Element] -- -##### [last_ele](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L190) android +##### [last_ele](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L190) android > def last_ele(class_name) Find the last element that matches class_name @@ -2177,11 +1508,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Element] -- -##### [tag](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L198) android +##### [tag](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L198) android > def tag(class_name) Find the first element of type class_name @@ -2193,11 +1524,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Element] -- -##### [tags](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L206) android +##### [tags](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L206) android > def tags(class_name) Find all elements of type class_name @@ -2209,11 +1540,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Element] -- -##### [string_visible_contains_xpath](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L249) android +##### [string_visible_contains_xpath](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L249) android > def string_visible_contains_xpath(class_name, value) Returns a string that matches the first element that contains value For automationName is uiautomator2 @@ -2230,11 +1561,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] -- -##### [string_visible_contains](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L269) android +##### [string_visible_contains](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L269) android > def string_visible_contains(class_name, value) Returns a string that matches the first element that contains value For automationName is Appium @@ -2251,11 +1582,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] -- -##### [complex_find_contains](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L287) android +##### [complex_find_contains](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L287) android > def complex_find_contains(class_name, value) Find the first element that contains value @@ -2269,11 +1600,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Element] -- -##### [complex_finds_contains](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L295) android +##### [complex_finds_contains](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L295) android > def complex_finds_contains(class_name, value) Find all elements containing value @@ -2287,11 +1618,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array<Element>] -- -##### [complex_find_exact](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L339) android +##### [complex_find_exact](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L339) android > def complex_find_exact(class_name, value) Find the first element exactly matching value @@ -2305,11 +1636,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Element] -- -##### [complex_finds_exact](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L347) android +##### [complex_finds_exact](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L347) android > def complex_finds_exact(class_name, value) Find all elements exactly matching value @@ -2323,11 +1654,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Element] -- -##### [get_source](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/helper.rb#L353) android +##### [get_source](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/common/helper.rb#L353) android > def get_source Returns XML string for the current page via `page_source` @@ -2335,142 +1666,12 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] -- -##### [_nodeset_to_uiselector](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/client_xpath.rb#L5) android +##### [alert_click](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/alert.rb#L6) android -> def _nodeset_to_uiselector(opts = {}) - - - --- - -##### [_client_xpath](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/client_xpath.rb#L20) android - -> def _client_xpath(opts = {}) - - - --- - -##### [client_xpath](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/client_xpath.rb#L37) android - -> def client_xpath(xpath) - - - --- - -##### [client_xpaths](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/client_xpath.rb#L43) android - -> def client_xpaths(xpath) - - - --- - -##### [TextView](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/text.rb#L4) android - -> TextView = 'android.widget.TextView'.freeze - - - --- - -##### [text](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/text.rb#L10) android - -> def text(value) - -Find the first TextView that contains value or by index. -If int then the TextView at that index is returned. - -__Parameters:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String, Integer] value - the value to find. - -__Returns:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[TextView] - --- - -##### [texts](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/text.rb#L19) android - -> def texts(value = false) - -Find all TextViews containing value. -If value is omitted, all texts are returned. - -__Parameters:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] value - the value to search for - -__Returns:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array<TextView>] - --- - -##### [first_text](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/text.rb#L26) android - -> def first_text - -Find the first TextView. - -__Returns:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[TextView] - --- - -##### [last_text](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/text.rb#L32) android - -> def last_text - -Find the last TextView. - -__Returns:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[TextView] - --- - -##### [text_exact](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/text.rb#L39) android - -> def text_exact(value) - -Find the first TextView that exactly matches value. - -__Parameters:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] value - the value to match exactly - -__Returns:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[TextView] - --- - -##### [texts_exact](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/text.rb#L46) android - -> def texts_exact(value) - -Find all TextViews that exactly match value. - -__Parameters:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] value - the value to match exactly - -__Returns:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array<TextView>] - --- - -##### [alert_click](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/alert.rb#L6) android - > def alert_click(value) Click the first alert button that contains value or by index. __Parameters:__ @@ -2481,11 +1682,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[void] -- -##### [alert_accept](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/alert.rb#L13) android +##### [alert_accept](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/alert.rb#L13) android > def alert_accept Accept the alert. The last button is considered "accept." @@ -2494,11 +1695,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[void] -- -##### [alert_accept_text](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/alert.rb#L20) android +##### [alert_accept_text](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/alert.rb#L20) android > def alert_accept_text Get the text of the alert's accept button. The last button is considered "accept." @@ -2507,11 +1708,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] -- -##### [alert_dismiss](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/alert.rb#L27) android +##### [alert_dismiss](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/alert.rb#L27) android > def alert_dismiss Dismiss the alert. The first button is considered "dismiss." @@ -2520,11 +1721,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[void] -- -##### [alert_dismiss_text](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/alert.rb#L34) android +##### [alert_dismiss_text](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/alert.rb#L34) android > def alert_dismiss_text Get the text of the alert's dismiss button. The first button is considered "dismiss." @@ -2533,27 +1734,27 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] -- -##### [Button](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/button.rb#L3) android +##### [Button](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/button.rb#L3) android > Button = 'android.widget.Button'.freeze -- -##### [ImageButton](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/button.rb#L4) android +##### [ImageButton](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/button.rb#L4) android > ImageButton = 'android.widget.ImageButton'.freeze -- -##### [button](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/button.rb#L10) android +##### [button](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/button.rb#L10) android > def button(value) Find the first button that contains value or by index. If int then the button at that index is returned. @@ -2566,11 +1767,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Button] -- -##### [buttons](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/button.rb#L27) android +##### [buttons](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/button.rb#L27) android > def buttons(value = false) Find all buttons containing value. If value is omitted, all buttons are returned. @@ -2583,11 +1784,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array<Button>] -- -##### [first_button](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/button.rb#L34) android +##### [first_button](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/button.rb#L34) android > def first_button Find the first button. @@ -2595,11 +1796,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Button] -- -##### [last_button](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/button.rb#L40) android +##### [last_button](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/button.rb#L40) android > def last_button Find the last button. @@ -2607,11 +1808,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Button] -- -##### [button_exact](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/button.rb#L56) android +##### [button_exact](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/button.rb#L56) android > def button_exact(value) Find the first button that exactly matches value. @@ -2623,11 +1824,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Button] -- -##### [buttons_exact](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/button.rb#L63) android +##### [buttons_exact](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/button.rb#L63) android > def buttons_exact(value) Find all buttons that exactly match value. @@ -2639,24 +1840,12 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array<Button>] -- -##### [uiautomator_find](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/mobile_methods.rb#L10) android +##### [find](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/generic.rb#L6) android -> def uiautomator_find - -find_element/s can be used with a [UISelector](http://developer.android.com/tools/help/uiautomator/UiSelector.html). - -```ruby - find_elements :uiautomator, 'new UiSelector().clickable(true)' -``` - --- - -##### [find](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/generic.rb#L6) android - > def find(value) Find the first element containing value __Parameters:__ @@ -2667,11 +1856,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Element] -- -##### [finds](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/generic.rb#L13) android +##### [finds](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/generic.rb#L13) android > def finds(value) Find all elements containing value @@ -2683,11 +1872,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array<Element>] -- -##### [find_exact](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/generic.rb#L20) android +##### [find_exact](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/generic.rb#L20) android > def find_exact(value) Find the first element exactly matching value @@ -2699,11 +1888,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Element] -- -##### [finds_exact](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/generic.rb#L27) android +##### [finds_exact](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/generic.rb#L27) android > def finds_exact(value) Find all elements exactly matching value @@ -2715,11 +1904,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array<Element>] -- -##### [scroll_to](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/generic.rb#L40) android +##### [scroll_to](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/generic.rb#L40) android > def scroll_to(text, scrollable_index = 0) Scroll to the first element containing target text or description. @@ -2733,11 +1922,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Element] the element scrolled to -- -##### [scroll_to_exact](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/generic.rb#L58) android +##### [scroll_to_exact](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/generic.rb#L58) android > def scroll_to_exact(text, scrollable_index = 0) Scroll to the first element with the exact target text or description. @@ -2751,19 +1940,19 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Element] the element scrolled to -- -##### [EditText](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/textfield.rb#L3) android +##### [EditText](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/textfield.rb#L3) android > EditText = 'android.widget.EditText'.freeze -- -##### [textfield](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/textfield.rb#L9) android +##### [textfield](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/textfield.rb#L9) android > def textfield(value) Find the first EditText that contains value or by index. If int then the EditText at that index is returned. @@ -2776,11 +1965,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[EditText] -- -##### [textfields](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/textfield.rb#L18) android +##### [textfields](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/textfield.rb#L18) android > def textfields(value = false) Find all EditTexts containing value. If value is omitted, all EditTexts are returned. @@ -2793,11 +1982,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array<EditText>] -- -##### [first_textfield](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/textfield.rb#L25) android +##### [first_textfield](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/textfield.rb#L25) android > def first_textfield Find the first EditText. @@ -2805,11 +1994,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[EditText] -- -##### [last_textfield](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/textfield.rb#L31) android +##### [last_textfield](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/textfield.rb#L31) android > def last_textfield Find the last EditText. @@ -2817,11 +2006,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[EditText] -- -##### [textfield_exact](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/textfield.rb#L38) android +##### [textfield_exact](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/textfield.rb#L38) android > def textfield_exact(value) Find the first EditText that exactly matches value. @@ -2833,11 +2022,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[EditText] -- -##### [textfields_exact](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/element/textfield.rb#L45) android +##### [textfields_exact](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/element/textfield.rb#L45) android > def textfields_exact(value) Find all EditTexts that exactly match value. @@ -2849,12 +2038,20 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array<EditText>] -- -##### [string_visible_contains](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/uiautomator2/helper.rb#L13) android +##### [for](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/uiautomator2/bridge.rb#L7) android +> def self.for(target) + + + +-- + +##### [string_visible_contains](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/uiautomator2/helper.rb#L13) android + > def string_visible_contains(class_name, value) Returns a string that matches the first element that contains value For automationName is Appium example: string_visible_contains 'UIATextField', 'sign in' @@ -2870,11 +2067,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] -- -##### [complex_find_contains](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/uiautomator2/helper.rb#L31) android +##### [complex_find_contains](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/uiautomator2/helper.rb#L31) android > def complex_find_contains(class_name, value) Find the first element that contains value @@ -2888,11 +2085,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Element] -- -##### [complex_finds_contains](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/uiautomator2/helper.rb#L41) android +##### [complex_finds_contains](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/uiautomator2/helper.rb#L41) android > def complex_finds_contains(class_name, value) Find all elements containing value @@ -2906,11 +2103,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array<Element>] -- -##### [complex_find_exact](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/uiautomator2/helper.rb#L69) android +##### [complex_find_exact](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/uiautomator2/helper.rb#L69) android > def complex_find_exact(class_name, value) Find the first element exactly matching value @@ -2924,11 +2121,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Element] -- -##### [complex_finds_exact](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/uiautomator2/helper.rb#L79) android +##### [complex_finds_exact](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/uiautomator2/helper.rb#L79) android > def complex_finds_exact(class_name, value) Find all elements exactly matching value @@ -2942,11 +2139,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Element] -- -##### [button](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/uiautomator2/element/button.rb#L9) android +##### [button](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/uiautomator2/element/button.rb#L9) android > def button(value) Find the first button that contains value or by index. If int then the button at that index is returned. @@ -2959,11 +2156,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Button] -- -##### [buttons](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/uiautomator2/element/button.rb#L29) android +##### [buttons](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/uiautomator2/element/button.rb#L29) android > def buttons(value = false) Find all buttons containing value. If value is omitted, all buttons are returned. @@ -2976,11 +2173,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array<Button>] -- -##### [first_button](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/uiautomator2/element/button.rb#L36) android +##### [first_button](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/uiautomator2/element/button.rb#L36) android > def first_button Find the first button. @@ -2988,11 +2185,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Button] -- -##### [last_button](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/uiautomator2/element/button.rb#L43) android +##### [last_button](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/uiautomator2/element/button.rb#L43) android > def last_button Find the last button. @@ -3000,11 +2197,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Button] -- -##### [button_exact](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/uiautomator2/element/button.rb#L60) android +##### [button_exact](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/uiautomator2/element/button.rb#L60) android > def button_exact(value) Find the first button that exactly matches value. @@ -3016,11 +2213,11 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Button] -- -##### [buttons_exact](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/android/uiautomator2/element/button.rb#L68) android +##### [buttons_exact](https://github.com/appium/ruby_lib/blob/01c8b6f15e8d01eb6b4e995eb265d1d1e8cf2332/lib/appium_lib/android/uiautomator2/element/button.rb#L68) android > def buttons_exact(value) Find all buttons that exactly match value. @@ -3029,60 +2226,8 @@ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] value - the value to match exactly __Returns:__ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array<Button>] - --- - -##### [value](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/patch.rb#L12) - -> def value - -Returns the value attribute - -Fixes NoMethodError: undefined method `value' for Selenium::WebDriver::Element - --- - -##### [name](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/patch.rb#L19) - -> def name - -Returns the name attribute - -Fixes NoMethodError: undefined method `name' for Selenium::WebDriver::Element - --- - -##### [location_rel](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/patch.rb#L30) - -> def location_rel(driver = $driver) - -For use with mobile tap. - -```ruby -execute_script 'mobile: tap', :x => 0.0, :y => 0.98 -``` - -__Returns:__ - -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[OpenStruct] the relative x, y in a struct. ex: { x: 0.50, y: 0.20 } - --- - -##### [DEFAULT_HEADERS](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/patch.rb#L170) - -> DEFAULT_HEADERS = { 'Accept' => CONTENT_TYPE, 'User-Agent' => "appium/ruby_lib/#{::Appium::VERSION}" }.freeze - - - --- - -##### [patch_remote_driver_commands](https://github.com/appium/ruby_lib/blob/95118d4e0a6ec285e55862ea6b6fed528711ad84/lib/appium_lib/common/patch.rb#L173) - -> def patch_remote_driver_commands - - --