appium_lib 3.0.3 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/android_tests/Rakefile +0 -3
  3. data/android_tests/appium.txt +1 -0
  4. data/android_tests/lib/android/specs/android/element/alert.rb +9 -2
  5. data/android_tests/lib/android/specs/android/element/textfield.rb +5 -0
  6. data/android_tests/lib/android/specs/android/helper.rb +6 -15
  7. data/android_tests/lib/android/specs/android/patch.rb +16 -3
  8. data/android_tests/lib/android/specs/common/device.rb +41 -41
  9. data/android_tests/lib/android/specs/common/patch.rb +1 -1
  10. data/android_tests/lib/android/specs/common/web_context.rb +55 -7
  11. data/android_tests/lib/android/specs/driver.rb +4 -3
  12. data/android_tests/lib/android/specs/install.rb +25 -0
  13. data/android_tests/lib/run.rb +4 -3
  14. data/docs/android_docs.md +357 -187
  15. data/docs/docs.md +8 -28
  16. data/docs/ios_docs.md +341 -179
  17. data/docs/migration.md +6 -0
  18. data/ios_tests/Rakefile +0 -3
  19. data/ios_tests/appium.txt +1 -0
  20. data/ios_tests/lib/common.rb +30 -0
  21. data/ios_tests/lib/ios/specs/device/device.rb +6 -1
  22. data/ios_tests/lib/ios/specs/driver.rb +3 -3
  23. data/ios_tests/lib/ios/specs/ios/element/alert.rb +0 -5
  24. data/ios_tests/lib/ios/specs/ios/element/textfield.rb +10 -0
  25. data/ios_tests/lib/run.rb +4 -106
  26. data/lib/appium_lib.rb +2 -2
  27. data/lib/appium_lib/android/element/button.rb +16 -26
  28. data/lib/appium_lib/android/element/generic.rb +15 -12
  29. data/lib/appium_lib/android/helper.rb +39 -53
  30. data/lib/appium_lib/common/patch.rb +10 -39
  31. data/lib/appium_lib/common/version.rb +2 -2
  32. data/lib/appium_lib/device/device.rb +54 -70
  33. data/lib/appium_lib/driver.rb +29 -19
  34. data/lib/appium_lib/ios/helper.rb +50 -1
  35. data/lib/appium_lib/ios/patch.rb +1 -23
  36. data/release_notes.md +38 -0
  37. metadata +4 -4
  38. data/android_tests/lib/android/specs/android/dynamic.rb +0 -5
  39. data/lib/appium_lib/android/dynamic.rb +0 -47
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d9cfda7084add307a35909e8bab3b512f2bcbdcc
4
- data.tar.gz: 5479d7bf85230fccfa76656937c6194377250819
3
+ metadata.gz: bf83da6e0ff3aae97cfd62b06e93a1563a17086d
4
+ data.tar.gz: 4b228688d9c788f516da39df7b3986929a5e8808
5
5
  SHA512:
6
- metadata.gz: 0b041a94a0c30660e2e76fbb0ca7b95a8ce39846a724079194b502fa699f14437fd585521085000f45137ca223ea32256dc7e4c1e66de829bd42eddcf7d79abe
7
- data.tar.gz: 4d1361618e6a5fd631c94ba78df39effea4f73393d83812acd831f6a27e10f6ea2cc566bf3bfbf30150aacf83a2bd71e83ee7e7e280e343592f30d7db04e6fd0
6
+ metadata.gz: 77d460068caeb5ed32be0aaa7594fa07eb0d44845a9ce04414793899714ac8ff2da2907f441a00f8472a7a177022e6edf10681237dd79c8f9d7bdb4dde0a7c05
7
+ data.tar.gz: ecaa1fb77e88e95dc4f17ebc49226c10189e68a30f550510c81f237b00821566d9b1065ae2db47594bce83ad195cb15c44772cc0e69beaecfc88887e89ed1e79
@@ -35,9 +35,6 @@ end
35
35
  # rake android
36
36
  def run_android test_file=nil
37
37
  wait_for_valid_device
38
- path = File.expand_path('appium.txt', Rake.application.original_dir)
39
- ENV['APPIUM_TXT'] = path
40
- puts "Rake appium.txt path is: #{path}"
41
38
  cmd = 'bundle exec ruby ./lib/run.rb android'
42
39
  cmd += %Q( "#{test_file}") if test_file
43
40
  bash cmd
@@ -1,5 +1,6 @@
1
1
  [caps]
2
2
  platformName = "android"
3
+ deviceName = "Nexus 7"
3
4
  app = "./api.apk"
4
5
  appPackage = "io.appium.android.apis"
5
6
  appActivity = ".ApiDemos"
@@ -1,7 +1,8 @@
1
+ # rake android[android/element/alert]
1
2
  describe 'android/element/alert' do
2
3
  def open_alert
3
4
  # trigger the alert
4
- wait { button('OK Cancel dialog with a long message').click }
5
+ wait { button('OK Cancel dialog with a message').click }
5
6
  end
6
7
 
7
8
  t 'alert_click' do
@@ -11,7 +12,7 @@ describe 'android/element/alert' do
11
12
 
12
13
  # test
13
14
  wait { open_alert }
14
- wait { alert_click('Something') }
15
+ wait { alert_click('OK') }
15
16
  end
16
17
 
17
18
  t 'alert_accept' do
@@ -32,6 +33,12 @@ describe 'android/element/alert' do
32
33
 
33
34
  t 'alert_dismiss_text' do
34
35
  wait { open_alert }
36
+
37
+ # alert dialog button placement changed:
38
+ # 'OK Cancel dialog with a long message'
39
+ # Android L: 'Something, Cancel, Ok'
40
+ # Android 19: 'Cancel, Something, Ok'
41
+
35
42
  wait { alert_dismiss_text.must_equal 'Cancel' }
36
43
  wait { alert_dismiss }
37
44
 
@@ -53,5 +53,10 @@ describe 'android/element/textfield' do
53
53
  wait { textfields_exact(left).first.text.must_equal left }
54
54
  end
55
55
 
56
+ t 'hide_keyboard' do
57
+ first_textfield.click
58
+ hide_keyboard
59
+ end
60
+
56
61
  t { after_last }
57
62
  end
@@ -4,25 +4,16 @@ describe 'android/helper' do
4
4
  wait { tags('android.widget.TextView').length.must_equal 12 }
5
5
  end
6
6
 
7
- def page_class_data
8
- (<<-TXT).strip
9
- 14x android.widget.TextView
10
- 1x android.view.View
11
- 1x android.widget.ListView
12
- 1x android.widget.FrameLayout
13
- 1x hierarchy
14
- TXT
15
- end
16
-
17
7
  # t 'get_selendroid_inspect' # only works on selendroid
18
8
  t 'get_page_class' do
19
9
  # digit values change based on screen size
20
10
  # larger screens have more elements
21
- wait do
22
- exp = page_class_data.gsub(/\d+/, '')
23
- act = get_page_class.gsub(/\d+/, '')
24
- act.must_equal exp
25
- end
11
+
12
+ act = get_page_class
13
+ act.must_include 'android.widget.TextView'
14
+ act.must_include 'android.widget.ListView'
15
+ act.must_include 'android.widget.FrameLayout'
16
+ act.must_include 'hierarchy'
26
17
  end
27
18
 
28
19
  # t 'page_class' do # tested by get_page_class
@@ -1,14 +1,27 @@
1
+ # rake android[android/patch]
1
2
  describe 'android/patch.rb' do
2
3
  t 'type' do
3
4
  # nav to textfield
4
5
  wait { find('app').click }
5
- wait { find('search').click }
6
- wait { find('invoke').click }
6
+ wait { find('Search').click }
7
+ wait { find('Invoke Search').click }
7
8
 
8
9
  wait { first_textfield.type 'ok' }
9
10
  wait { first_textfield.text.must_equal 'ok' }
10
11
 
12
+ # todo: how to invoke random am start commands?
11
13
  # nav to start activity
12
- 3.times { back }
14
+ # io.appium.android.apis/.ApiDemos
15
+
16
+ # keyboard may exist, if it doesn't then an error will raise
17
+ ignore { hide_keyboard }
18
+
19
+ # return to app start
20
+ back
21
+ wait { find('Invoke Search') }
22
+ back
23
+ wait { find_exact('Search') }
24
+ back
25
+ wait { find('app') }
13
26
  end
14
27
  end
@@ -1,3 +1,4 @@
1
+ # rake android[common/device]
1
2
  describe 'common/device' do
2
3
  # Not yet implemented
3
4
  t 'shake' do
@@ -32,39 +33,6 @@ describe 'common/device' do
32
33
  wait { current_activity.must_equal '.ApiDemos' }
33
34
  end
34
35
 
35
- t 'available_contexts' do
36
- wait { available_contexts.must_equal ['NATIVE_APP'] }
37
- end
38
-
39
- t 'current_context' do
40
- wait { current_context.must_equal 'NATIVE_APP' }
41
- end
42
-
43
- t 'set_context' do
44
- wait { scroll_to('Views').click }
45
- wait { scroll_to('WebView').click }
46
- wait { set_context 'WEBVIEW' }
47
- wait { current_context.must_equal 'WEBVIEW_1' }
48
-
49
- wait { set_context 'NATIVE_APP' }
50
- wait { current_context.must_equal 'NATIVE_APP' }
51
-
52
- 2.times { back; sleep 1 }
53
- end
54
-
55
- t 'within_context' do
56
- $driver.within_context 'NATIVE_APP' do
57
- wait { current_context.must_equal 'NATIVE_APP' }
58
- end
59
- end
60
-
61
- t 'switch_to_default_context' do
62
- wait do
63
- switch_to_default_context
64
- current_context.must_equal 'NATIVE_APP'
65
- end
66
- end
67
-
68
36
  t 'app_strings' do
69
37
  wait_true { app_strings.has_key? 'activity_save_restore' }
70
38
  end
@@ -73,16 +41,43 @@ describe 'common/device' do
73
41
  element.class.must_equal Selenium::WebDriver::Element
74
42
  end
75
43
 
76
- t 'complex_find' do
77
- wait { find('Views').click }
78
- wait { must_return_element complex_find(mode: 'scroll', selectors: [[[3, 'tabs']]]) }
79
- wait { must_return_element complex_find(mode: 'all', selectors: [[[3, 'i']]]).first }
80
- wait { must_return_element complex_find(selectors: [[[3, 'tabs']]]) }
81
- back
44
+ t 'press_keycode' do
45
+ # http://developer.android.com/reference/android/view/KeyEvent.html
46
+ press_keycode 176
82
47
  end
83
48
 
84
- t 'key_event' do
85
- key_event 176
49
+ t 'long_press_keycode' do
50
+ # http://developer.android.com/reference/android/view/KeyEvent.html
51
+ long_press_keycode 176
52
+ end
53
+
54
+ t 'open_notifications' do
55
+ # test & comments from https://github.com/appium/appium/blob/master/test/functional/android/apidemos/notifications-specs.js#L19
56
+ # get to the notification page
57
+ wait { scroll_to('App').click }
58
+ wait { scroll_to('Notification').click }
59
+ wait { scroll_to('Status Bar').click }
60
+ # create a notification
61
+ wait { button(':-|').click }
62
+ open_notifications
63
+ # shouldn't see the elements behind shade
64
+ wait_true { !exists { find(':-|') } }
65
+ # should see the notification
66
+ wait_true { text_exact 'Mood ring' }
67
+ # return to app
68
+ back
69
+ # should be able to see elements from app
70
+ wait_true { button(':-|') }
71
+
72
+ # go back, waiting for each page to load.
73
+ # if we go back using 3.times { back }
74
+ # then android will flake out and discard some back events
75
+ back
76
+ wait { text('Status Bar') }
77
+ back
78
+ wait { text('Notification') }
79
+ back
80
+ wait { text('App') }
86
81
  end
87
82
 
88
83
  t 'action_chain' do
@@ -121,4 +116,9 @@ describe 'common/device' do
121
116
  read_file.must_equal file
122
117
  end
123
118
  end
119
+
120
+ t 'pull_folder' do
121
+ data = pull_folder '/data/local/tmp'
122
+ data.length.must_be :>, 100
123
+ end
124
124
  end
@@ -41,7 +41,7 @@ describe 'common/patch' do
41
41
  set_wait 30
42
42
  end
43
43
  value = value.split("\n").first.strip
44
- exp = "Could not find an element using supplied strategy. ID `ok` doesn't exist as text or content desc."
44
+ exp = 'No element found'
45
45
  value.must_equal exp
46
46
  end
47
47
 
@@ -1,13 +1,61 @@
1
1
  # Tests specifically for areas where the web_context differs in behaviour
2
+ # rake android[common/web_context]
2
3
  describe 'the web context' do
3
4
 
4
- t 'get_android_inspect' do
5
- scroll_to "Views"
6
- last_text.click
7
- scroll_to 'WebView'
8
- last_text.click
9
- set_context 'WEBVIEW'
10
- current_context.must_equal 'WEBVIEW_1'
5
+ # appium's context support is broken on android
6
+
7
+ t 'available_contexts' do
8
+ wait_true { available_contexts.include? 'NATIVE_APP' }
9
+ end
10
+
11
+ t 'current_context' do
12
+ wait { current_context.must_equal 'NATIVE_APP' }
13
+ end
14
+
15
+ t 'set_context' do
16
+ wait { scroll_to('Views').click }
17
+ wait { scroll_to('WebView').click }
18
+
19
+ def undo_setcontext_nav
20
+ back
21
+ wait { find('WebView') }
22
+ back
23
+ wait { find 'Views' }
24
+ end
25
+
26
+ contexts = available_contexts
27
+ webview_context = contexts.detect { |e| e.start_with?('WEBVIEW') }
28
+
29
+ if webview_context.nil?
30
+ undo_setcontext_nav
31
+ raise "No webview context found. contexts are: #{contexts}"
32
+ end
33
+
34
+ wait { set_context webview_context }
35
+ wait { current_context.must_equal webview_context }
36
+
37
+ # verify inspect within webview works
11
38
  get_android_inspect.split("\n").length.must_be :>=, 3
39
+
40
+ wait { set_context 'NATIVE_APP' }
41
+ wait { current_context.must_equal 'NATIVE_APP' }
42
+
43
+ undo_setcontext_nav
44
+ end
45
+
46
+ t 'within_context' do
47
+ $driver.within_context 'NATIVE_APP' do
48
+ wait { current_context.must_equal 'NATIVE_APP' }
49
+ end
50
+ end
51
+
52
+ t 'switch_to_default_context' do
53
+ wait do
54
+ switch_to_default_context
55
+ current_context.must_equal 'NATIVE_APP'
56
+ end
57
+
58
+ wait { set_context 'NATIVE_APP' }
59
+ wait { current_context.must_equal 'NATIVE_APP' }
12
60
  end
13
61
  end
@@ -5,8 +5,8 @@ describe 'driver' do
5
5
  end
6
6
 
7
7
  t 'load_appium_txt' do
8
- # __FILE__ is '(eval)' so use env var set by the Rakefile
9
- parsed = Appium.load_appium_txt file: ENV['APPIUM_TXT'], verbose: true
8
+ appium_txt = File.expand_path(File.join(Dir.pwd, 'lib'))
9
+ parsed = Appium.load_appium_txt file: appium_txt, verbose: true
10
10
  apk_name = File.basename parsed[:caps][:app]
11
11
  assert_equal apk_name, 'api.apk'
12
12
  end
@@ -34,7 +34,8 @@ describe 'driver' do
34
34
  expected = { caps: { platformName: 'android',
35
35
  app: 'api.apk',
36
36
  appPackage: 'io.appium.android.apis',
37
- appActivity: '.ApiDemos', },
37
+ appActivity: '.ApiDemos',
38
+ deviceName: 'Nexus 7', },
38
39
  custom_url: false,
39
40
  export_session: false,
40
41
  default_wait: 1,
@@ -0,0 +1,25 @@
1
+ describe 'install' do
2
+ # To Do: Blocked on https://github.com/appium/appium/issues/3032
3
+ def pkg
4
+ 'io.appium.android.apis'
5
+ end
6
+
7
+ def installed
8
+ is_installed?(pkg).must_equal true
9
+ end
10
+
11
+ def not_installed
12
+ is_installed?(pkg).must_equal false
13
+ end
14
+
15
+ t 'install/uninstall/launch' do
16
+ skip # no way to launch apk after it's uninstalled/installed
17
+ # blocked on: https://github.com/appium/appium/issues/2969
18
+ installed
19
+ remove 'io.appium.android.apis'
20
+ not_installed
21
+ install caps[:app]
22
+ installed
23
+ launch
24
+ end
25
+ end
@@ -9,14 +9,15 @@ Run all Android tests:
9
9
  ruby run.rb android
10
10
 
11
11
  Run only the view album test:
12
- ruby run.rb android view_album
12
+ ruby run.rb ios view_album
13
13
  =end
14
14
 
15
15
  # Sanity check
16
16
  a = OpenStruct.new x: 'ok'
17
17
  raise 'x issue' unless a.x == 'ok'
18
18
 
19
- dir = File.expand_path '..', __FILE__
19
+ appium_txt = File.expand_path(File.join(Dir.pwd, 'lib'))
20
+ dir = appium_txt
20
21
  device = ARGV[0].downcase.strip
21
22
  devices = %w[ android selendroid ios ]
22
23
  raise 'Expected android, selendroid or ios as first argument' unless devices.include? device
@@ -24,7 +25,7 @@ raise 'Expected android, selendroid or ios as first argument' unless devices.inc
24
25
  one_test = ARGV[1]
25
26
  test_dir = "/#{device}/"
26
27
 
27
- caps = Appium.load_appium_txt file: ENV['APPIUM_TXT'], verbose: true
28
+ caps = Appium.load_appium_txt file: appium_txt, verbose: true
28
29
  caps = caps.merge({ appium_lib: { debug: true, wait: 1 } })
29
30
  caps[:app] = ENV['SAUCE_PATH'] if ENV['SAUCE_USERNAME'] && ENV['SAUCE_ACCESS_KEY']
30
31
 
@@ -1,4 +1,4 @@
1
- ##### [load_appium_txt](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L71)
1
+ ##### [load_appium_txt](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L70)
2
2
 
3
3
  > def self.load_appium_txt opts={}
4
4
 
@@ -27,7 +27,7 @@ __Returns:__
27
27
 
28
28
  --
29
29
 
30
- ##### [symbolize_keys](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L141)
30
+ ##### [symbolize_keys](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L140)
31
31
 
32
32
  > def self.symbolize_keys hash
33
33
 
@@ -38,7 +38,7 @@ https://github.com/rails/docrails/blob/a3b1105ada3da64acfa3843b164b14b734456a50/
38
38
 
39
39
  --
40
40
 
41
- ##### [promote_singleton_appium_methods](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L151)
41
+ ##### [promote_singleton_appium_methods](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L150)
42
42
 
43
43
  > def self.promote_singleton_appium_methods main_module
44
44
 
@@ -46,7 +46,7 @@ https://github.com/rails/docrails/blob/a3b1105ada3da64acfa3843b164b14b734456a50/
46
46
 
47
47
  --
48
48
 
49
- ##### [promote_appium_methods](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L180)
49
+ ##### [promote_appium_methods](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L179)
50
50
 
51
51
  > def self.promote_appium_methods class_array
52
52
 
@@ -64,7 +64,7 @@ __Parameters:__
64
64
 
65
65
  --
66
66
 
67
- ##### [global_webdriver_http_sleep](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L213)
67
+ ##### [global_webdriver_http_sleep](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
68
68
 
69
69
  > def global_webdriver_http_sleep
70
70
 
@@ -72,7 +72,7 @@ The amount to sleep in seconds before every webdriver http call.
72
72
 
73
73
  --
74
74
 
75
- ##### [global_webdriver_http_sleep=](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L213)
75
+ ##### [global_webdriver_http_sleep=](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
76
76
 
77
77
  > def global_webdriver_http_sleep=(value)
78
78
 
@@ -80,7 +80,172 @@ The amount to sleep in seconds before every webdriver http call.
80
80
 
81
81
  --
82
82
 
83
- ##### [initialize](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L234)
83
+ ##### [caps](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
84
+
85
+ > def caps
86
+
87
+ The amount to sleep in seconds before every webdriver http call.
88
+
89
+ --
90
+
91
+ ##### [caps=](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
92
+
93
+ > def caps=(value)
94
+
95
+ The amount to sleep in seconds before every webdriver http call.
96
+
97
+ --
98
+
99
+ ##### [custom_url](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
100
+
101
+ > def custom_url
102
+
103
+ The amount to sleep in seconds before every webdriver http call.
104
+
105
+ --
106
+
107
+ ##### [custom_url=](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
108
+
109
+ > def custom_url=(value)
110
+
111
+ The amount to sleep in seconds before every webdriver http call.
112
+
113
+ --
114
+
115
+ ##### [export_session](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
116
+
117
+ > def export_session
118
+
119
+ The amount to sleep in seconds before every webdriver http call.
120
+
121
+ --
122
+
123
+ ##### [export_session=](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
124
+
125
+ > def export_session=(value)
126
+
127
+ The amount to sleep in seconds before every webdriver http call.
128
+
129
+ --
130
+
131
+ ##### [default_wait](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
132
+
133
+ > def default_wait
134
+
135
+ Returns the default client side wait.
136
+ This value is independent of what the server is using
137
+
138
+ __Returns:__
139
+
140
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Integer]
141
+
142
+ --
143
+
144
+ ##### [default_wait=](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
145
+
146
+ > def default_wait=(value)
147
+
148
+ The amount to sleep in seconds before every webdriver http call.
149
+
150
+ --
151
+
152
+ ##### [last_waits](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
153
+
154
+ > def last_waits
155
+
156
+ The amount to sleep in seconds before every webdriver http call.
157
+
158
+ --
159
+
160
+ ##### [last_waits=](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
161
+
162
+ > def last_waits=(value)
163
+
164
+ The amount to sleep in seconds before every webdriver http call.
165
+
166
+ --
167
+
168
+ ##### [sauce_username](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
169
+
170
+ > def sauce_username
171
+
172
+ The amount to sleep in seconds before every webdriver http call.
173
+
174
+ --
175
+
176
+ ##### [sauce_username=](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
177
+
178
+ > def sauce_username=(value)
179
+
180
+ The amount to sleep in seconds before every webdriver http call.
181
+
182
+ --
183
+
184
+ ##### [sauce_access_key](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
185
+
186
+ > def sauce_access_key
187
+
188
+ The amount to sleep in seconds before every webdriver http call.
189
+
190
+ --
191
+
192
+ ##### [sauce_access_key=](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
193
+
194
+ > def sauce_access_key=(value)
195
+
196
+ The amount to sleep in seconds before every webdriver http call.
197
+
198
+ --
199
+
200
+ ##### [appium_port](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
201
+
202
+ > def appium_port
203
+
204
+ The amount to sleep in seconds before every webdriver http call.
205
+
206
+ --
207
+
208
+ ##### [appium_port=](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
209
+
210
+ > def appium_port=(value)
211
+
212
+ The amount to sleep in seconds before every webdriver http call.
213
+
214
+ --
215
+
216
+ ##### [appium_device](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
217
+
218
+ > def appium_device
219
+
220
+ The amount to sleep in seconds before every webdriver http call.
221
+
222
+ --
223
+
224
+ ##### [appium_device=](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
225
+
226
+ > def appium_device=(value)
227
+
228
+ The amount to sleep in seconds before every webdriver http call.
229
+
230
+ --
231
+
232
+ ##### [appium_debug](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
233
+
234
+ > def appium_debug
235
+
236
+ The amount to sleep in seconds before every webdriver http call.
237
+
238
+ --
239
+
240
+ ##### [appium_debug=](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L212)
241
+
242
+ > def appium_debug=(value)
243
+
244
+ The amount to sleep in seconds before every webdriver http call.
245
+
246
+ --
247
+
248
+ ##### [initialize](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L243)
84
249
 
85
250
  > def initialize opts={}
86
251
 
@@ -111,7 +276,7 @@ __Returns:__
111
276
 
112
277
  --
113
278
 
114
- ##### [driver_attributes](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L311)
279
+ ##### [driver_attributes](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L318)
115
280
 
116
281
  > def driver_attributes
117
282
 
@@ -119,7 +284,7 @@ Returns a hash of the driver attributes
119
284
 
120
285
  --
121
286
 
122
- ##### [device_is_android?](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L331)
287
+ ##### [device_is_android?](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L338)
123
288
 
124
289
  > def device_is_android?
125
290
 
@@ -131,7 +296,7 @@ __Returns:__
131
296
 
132
297
  --
133
298
 
134
- ##### [appium_server_version](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L347)
299
+ ##### [appium_server_version](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L354)
135
300
 
136
301
  > def appium_server_version
137
302
 
@@ -152,7 +317,7 @@ __Returns:__
152
317
 
153
318
  --
154
319
 
155
- ##### [absolute_app_path](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L353)
320
+ ##### [absolute_app_path](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L360)
156
321
 
157
322
  > def self.absolute_app_path app_path
158
323
 
@@ -164,7 +329,7 @@ __Returns:__
164
329
 
165
330
  --
166
331
 
167
- ##### [server_url](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L377)
332
+ ##### [server_url](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L387)
168
333
 
169
334
  > def server_url
170
335
 
@@ -176,7 +341,7 @@ __Returns:__
176
341
 
177
342
  --
178
343
 
179
- ##### [restart](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L388)
344
+ ##### [restart](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L398)
180
345
 
181
346
  > def restart
182
347
 
@@ -188,7 +353,7 @@ __Returns:__
188
353
 
189
354
  --
190
355
 
191
- ##### [driver](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L395)
356
+ ##### [driver](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L405)
192
357
 
193
358
  > def driver
194
359
 
@@ -200,7 +365,7 @@ __Returns:__
200
365
 
201
366
  --
202
367
 
203
- ##### [screenshot](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L405)
368
+ ##### [screenshot](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L415)
204
369
 
205
370
  > def screenshot png_save_path
206
371
 
@@ -218,7 +383,7 @@ __Returns:__
218
383
 
219
384
  --
220
385
 
221
- ##### [driver_quit](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L412)
386
+ ##### [driver_quit](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L422)
222
387
 
223
388
  > def driver_quit
224
389
 
@@ -230,7 +395,7 @@ __Returns:__
230
395
 
231
396
  --
232
397
 
233
- ##### [start_driver](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L420)
398
+ ##### [start_driver](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L430)
234
399
 
235
400
  > def start_driver
236
401
 
@@ -242,7 +407,7 @@ __Returns:__
242
407
 
243
408
  --
244
409
 
245
- ##### [no_wait](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L447)
410
+ ##### [no_wait](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L457)
246
411
 
247
412
  > def no_wait
248
413
 
@@ -250,7 +415,7 @@ Set implicit wait and default_wait to zero.
250
415
 
251
416
  --
252
417
 
253
- ##### [set_wait](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L466)
418
+ ##### [set_wait](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L476)
254
419
 
255
420
  > def set_wait timeout=nil
256
421
 
@@ -275,20 +440,7 @@ __Returns:__
275
440
 
276
441
  --
277
442
 
278
- ##### [default_wait](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L484)
279
-
280
- > def default_wait
281
-
282
- Returns the default client side wait.
283
- This value is independent of what the server is using
284
-
285
- __Returns:__
286
-
287
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Integer]
288
-
289
- --
290
-
291
- ##### [exists](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L500)
443
+ ##### [exists](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L510)
292
444
 
293
445
  > def exists pre_check=0, post_check=@default_wait, &search_block
294
446
 
@@ -314,7 +466,7 @@ __Returns:__
314
466
 
315
467
  --
316
468
 
317
- ##### [execute_script](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L524)
469
+ ##### [execute_script](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L534)
318
470
 
319
471
  > def execute_script script, *args
320
472
 
@@ -332,7 +484,7 @@ __Returns:__
332
484
 
333
485
  --
334
486
 
335
- ##### [find_elements](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L532)
487
+ ##### [find_elements](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L542)
336
488
 
337
489
  > def find_elements *args
338
490
 
@@ -348,7 +500,7 @@ __Returns:__
348
500
 
349
501
  --
350
502
 
351
- ##### [find_element](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L540)
503
+ ##### [find_element](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L550)
352
504
 
353
505
  > def find_element *args
354
506
 
@@ -364,7 +516,7 @@ __Returns:__
364
516
 
365
517
  --
366
518
 
367
- ##### [x](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/driver.rb#L547)
519
+ ##### [x](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/driver.rb#L557)
368
520
 
369
521
  > def x
370
522
 
@@ -377,7 +529,7 @@ __Returns:__
377
529
 
378
530
  --
379
531
 
380
- ##### [NoArgMethods](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/device.rb#L7)
532
+ ##### [NoArgMethods](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L7)
381
533
 
382
534
  > NoArgMethods = {
383
535
 
@@ -385,7 +537,7 @@ __Returns:__
385
537
 
386
538
  --
387
539
 
388
- ##### [app_strings](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/device.rb#L22)
540
+ ##### [app_strings](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L22)
389
541
 
390
542
  > def app_strings
391
543
 
@@ -396,7 +548,7 @@ app_strings #=> "TransitionsTitle"=>"Transitions", "WebTitle"=>"Web"
396
548
 
397
549
  --
398
550
 
399
- ##### [background_app](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/device.rb#L28)
551
+ ##### [background_app](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L28)
400
552
 
401
553
  > def background_app
402
554
 
@@ -405,7 +557,7 @@ This is a blocking application
405
557
 
406
558
  --
407
559
 
408
- ##### [current_activity](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/device.rb#L33)
560
+ ##### [current_activity](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L33)
409
561
 
410
562
  > def current_activity
411
563
 
@@ -413,7 +565,7 @@ This is a blocking application
413
565
 
414
566
  --
415
567
 
416
- ##### [launch](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/device.rb#L35)
568
+ ##### [launch](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L35)
417
569
 
418
570
  > def launch
419
571
 
@@ -421,7 +573,7 @@ Start the simulator and applicaton configured with desired capabilities
421
573
 
422
574
  --
423
575
 
424
- ##### [reset](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/device.rb#L38)
576
+ ##### [reset](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L38)
425
577
 
426
578
  > def reset
427
579
 
@@ -429,7 +581,7 @@ Reset the device, relaunching the application.
429
581
 
430
582
  --
431
583
 
432
- ##### [shake](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/device.rb#L41)
584
+ ##### [shake](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L41)
433
585
 
434
586
  > def shake
435
587
 
@@ -437,7 +589,7 @@ Cause the device to shake
437
589
 
438
590
  --
439
591
 
440
- ##### [toggle_flight_mode](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/device.rb#L44)
592
+ ##### [toggle_flight_mode](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L44)
441
593
 
442
594
  > def toggle_flight_mode
443
595
 
@@ -445,55 +597,50 @@ toggle flight mode on or off
445
597
 
446
598
  --
447
599
 
448
- ##### [complex_find](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/device.rb#L47)
449
-
450
- > def complex_find
600
+ ##### [hide_keyboard](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L47)
451
601
 
452
- Find an element by a complex array of criteria. Available criteria
453
- are listed in [link here]. Criteria are formed by creating an array
454
- of arrays, each containing a selector and that selector's value.
602
+ > def hide_keyboard
455
603
 
456
- ```ruby
457
- complex_find [[[2, 'Sau'], [14, true]]] # => Find a clickable element
458
- # whose names starts with 'Sau'
459
- ```
604
+ Hide the onscreen keyboard
460
605
 
461
606
  __Parameters:__
462
607
 
463
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Symbol] mod - If present, will be the 0th element in the selector array.
464
-
465
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Array<Object>] selectors - The selectors to find elements with.
608
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] close_key - the name of the key which closes the keyboard.
609
+ Defaults to 'Done'.
466
610
 
467
611
  --
468
612
 
469
- ##### [hide_keyboard](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/device.rb#L59)
613
+ ##### [press_keycode](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L56)
470
614
 
471
- > def hide_keyboard
615
+ > def press_keycode
472
616
 
473
- Hide the onscreen keyboard
617
+ Press keycode on the device.
618
+ http://developer.android.com/reference/android/view/KeyEvent.html
474
619
 
475
620
  __Parameters:__
476
621
 
477
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] close_key - the name of the key which closes the keyboard.
478
- Defaults to 'Done'.
622
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[integer] key - The key to press.
623
+
624
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] metastate - The state the metakeys should be in when pressing the key.
479
625
 
480
626
  --
481
627
 
482
- ##### [key_event](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/device.rb#L68)
628
+ ##### [long_press_keycode](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L62)
483
629
 
484
- > def key_event
630
+ > def long_press_keycode
485
631
 
486
- Send a key event to the device.
632
+ Long press keycode on the device.
633
+ http://developer.android.com/reference/android/view/KeyEvent.html
487
634
 
488
635
  __Parameters:__
489
636
 
490
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[integer] key - The key to send.
637
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[integer] key - The key to long press.
491
638
 
492
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] metastate - The state the metakeys should be in when sending the key.
639
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] metastate - The state the metakeys should be in when long pressing the key.
493
640
 
494
641
  --
495
642
 
496
- ##### [push_file](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/device.rb#L73)
643
+ ##### [push_file](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L68)
497
644
 
498
645
  > def push_file
499
646
 
@@ -507,7 +654,7 @@ __Parameters:__
507
654
 
508
655
  --
509
656
 
510
- ##### [pull_file](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/device.rb#L78)
657
+ ##### [pull_file](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L73)
511
658
 
512
659
  > def pull_file
513
660
 
@@ -524,7 +671,22 @@ __Parameters:__
524
671
 
525
672
  --
526
673
 
527
- ##### [extend_search_contexts](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/device.rb#L290)
674
+ ##### [pull_folder](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L83)
675
+
676
+ > def pull_folder
677
+
678
+ Retrieve a folder from the device.
679
+ ```ruby
680
+ pull_folder '/data/local/tmp' #=> Get the folder at that path
681
+ ```
682
+
683
+ __Parameters:__
684
+
685
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[String] path - absolute path to the folder
686
+
687
+ --
688
+
689
+ ##### [extend_search_contexts](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L274)
528
690
 
529
691
  > def extend_search_contexts
530
692
 
@@ -532,7 +694,7 @@ __Parameters:__
532
694
 
533
695
  --
534
696
 
535
- ##### [accessiblity_id_find](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/device.rb#L290)
697
+ ##### [accessiblity_id_find](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L274)
536
698
 
537
699
  > def accessiblity_id_find
538
700
 
@@ -544,7 +706,7 @@ find_element/s with their accessibility_id
544
706
 
545
707
  --
546
708
 
547
- ##### [add_touch_actions](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/device.rb#L296)
709
+ ##### [add_touch_actions](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L280)
548
710
 
549
711
  > def add_touch_actions
550
712
 
@@ -552,7 +714,7 @@ find_element/s with their accessibility_id
552
714
 
553
715
  --
554
716
 
555
- ##### [set_context](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/device.rb#L320)
717
+ ##### [set_context](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L304)
556
718
 
557
719
  > def set_context
558
720
 
@@ -567,7 +729,7 @@ __Parameters:__
567
729
 
568
730
  --
569
731
 
570
- ##### [current_context](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/device.rb#L328)
732
+ ##### [current_context](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L312)
571
733
 
572
734
  > def current_context
573
735
 
@@ -579,7 +741,7 @@ __Returns:__
579
741
 
580
742
  --
581
743
 
582
- ##### [available_contexts](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/device.rb#L331)
744
+ ##### [available_contexts](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L315)
583
745
 
584
746
  > def available_contexts
585
747
 
@@ -591,7 +753,7 @@ __Returns:__
591
753
 
592
754
  --
593
755
 
594
- ##### [within_context](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/device.rb#L341)
756
+ ##### [within_context](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L325)
595
757
 
596
758
  > def within_context(context)
597
759
 
@@ -607,7 +769,7 @@ __Parameters:__
607
769
 
608
770
  --
609
771
 
610
- ##### [switch_to_default_context](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/device.rb#L349)
772
+ ##### [switch_to_default_context](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/device.rb#L333)
611
773
 
612
774
  > def switch_to_default_context
613
775
 
@@ -615,7 +777,7 @@ Change to the default context. This is equivalent to `set_context nil`.
615
777
 
616
778
  --
617
779
 
618
- ##### [pinch](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/multi_touch.rb#L30)
780
+ ##### [pinch](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/multi_touch.rb#L30)
619
781
 
620
782
  > def pinch(percentage=25, auto_perform=true)
621
783
 
@@ -634,7 +796,7 @@ __Parameters:__
634
796
 
635
797
  --
636
798
 
637
- ##### [zoom](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/multi_touch.rb#L58)
799
+ ##### [zoom](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/multi_touch.rb#L58)
638
800
 
639
801
  > def zoom(percentage=200, auto_perform=true)
640
802
 
@@ -653,7 +815,7 @@ __Parameters:__
653
815
 
654
816
  --
655
817
 
656
- ##### [initialize](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/multi_touch.rb#L79)
818
+ ##### [initialize](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/multi_touch.rb#L79)
657
819
 
658
820
  > def initialize
659
821
 
@@ -665,7 +827,7 @@ __Returns:__
665
827
 
666
828
  --
667
829
 
668
- ##### [add](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/multi_touch.rb#L85)
830
+ ##### [add](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/multi_touch.rb#L85)
669
831
 
670
832
  > def add(chain)
671
833
 
@@ -677,7 +839,7 @@ __Parameters:__
677
839
 
678
840
  --
679
841
 
680
- ##### [perform](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/multi_touch.rb#L90)
842
+ ##### [perform](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/multi_touch.rb#L90)
681
843
 
682
844
  > def perform
683
845
 
@@ -685,7 +847,7 @@ Ask Appium to perform the actions
685
847
 
686
848
  --
687
849
 
688
- ##### [ACTIONS](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/touch_actions.rb#L12)
850
+ ##### [ACTIONS](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/touch_actions.rb#L12)
689
851
 
690
852
  > ACTIONS = [:move_to, :long_press, :press, :release, :tap, :wait, :perform]
691
853
 
@@ -693,7 +855,7 @@ Ask Appium to perform the actions
693
855
 
694
856
  --
695
857
 
696
- ##### [COMPLEX_ACTIONS](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/touch_actions.rb#L13)
858
+ ##### [COMPLEX_ACTIONS](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/touch_actions.rb#L13)
697
859
 
698
860
  > COMPLEX_ACTIONS = [:swipe]
699
861
 
@@ -701,7 +863,7 @@ Ask Appium to perform the actions
701
863
 
702
864
  --
703
865
 
704
- ##### [actions](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/touch_actions.rb#L27)
866
+ ##### [actions](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/touch_actions.rb#L27)
705
867
 
706
868
  > def actions
707
869
 
@@ -709,7 +871,7 @@ Returns the value of attribute actions
709
871
 
710
872
  --
711
873
 
712
- ##### [initialize](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/touch_actions.rb#L29)
874
+ ##### [initialize](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/touch_actions.rb#L29)
713
875
 
714
876
  > def initialize
715
877
 
@@ -721,7 +883,7 @@ __Returns:__
721
883
 
722
884
  --
723
885
 
724
- ##### [move_to](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/touch_actions.rb#L37)
886
+ ##### [move_to](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/touch_actions.rb#L37)
725
887
 
726
888
  > def move_to(opts)
727
889
 
@@ -733,7 +895,7 @@ __Parameters:__
733
895
 
734
896
  --
735
897
 
736
- ##### [long_press](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/touch_actions.rb#L47)
898
+ ##### [long_press](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/touch_actions.rb#L47)
737
899
 
738
900
  > def long_press(opts)
739
901
 
@@ -751,7 +913,7 @@ __Parameters:__
751
913
 
752
914
  --
753
915
 
754
- ##### [press](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/touch_actions.rb#L59)
916
+ ##### [press](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/touch_actions.rb#L59)
755
917
 
756
918
  > def press(opts)
757
919
 
@@ -764,7 +926,7 @@ __Parameters:__
764
926
 
765
927
  --
766
928
 
767
- ##### [release](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/touch_actions.rb#L70)
929
+ ##### [release](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/touch_actions.rb#L70)
768
930
 
769
931
  > def release(opts=nil)
770
932
 
@@ -776,7 +938,7 @@ __Parameters:__
776
938
 
777
939
  --
778
940
 
779
- ##### [tap](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/touch_actions.rb#L81)
941
+ ##### [tap](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/touch_actions.rb#L81)
780
942
 
781
943
  > def tap(opts)
782
944
 
@@ -788,7 +950,7 @@ __Parameters:__
788
950
 
789
951
  --
790
952
 
791
- ##### [wait](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/touch_actions.rb#L90)
953
+ ##### [wait](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/touch_actions.rb#L90)
792
954
 
793
955
  > def wait(milliseconds)
794
956
 
@@ -800,7 +962,7 @@ __Parameters:__
800
962
 
801
963
  --
802
964
 
803
- ##### [swipe](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/touch_actions.rb#L101)
965
+ ##### [swipe](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/touch_actions.rb#L101)
804
966
 
805
967
  > def swipe(opts)
806
968
 
@@ -812,7 +974,7 @@ __Parameters:__
812
974
 
813
975
  --
814
976
 
815
- ##### [perform](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/touch_actions.rb#L116)
977
+ ##### [perform](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/touch_actions.rb#L116)
816
978
 
817
979
  > def perform
818
980
 
@@ -820,7 +982,7 @@ Ask the driver to perform all actions in this action chain.
820
982
 
821
983
  --
822
984
 
823
- ##### [cancel](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/touch_actions.rb#L122)
985
+ ##### [cancel](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/touch_actions.rb#L122)
824
986
 
825
987
  > def cancel
826
988
 
@@ -828,7 +990,7 @@ Does nothing, currently.
828
990
 
829
991
  --
830
992
 
831
- ##### [chain_method](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/touch_actions.rb#L130)
993
+ ##### [chain_method](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/touch_actions.rb#L130)
832
994
 
833
995
  > def chain_method(method, args=nil)
834
996
 
@@ -836,7 +998,7 @@ Does nothing, currently.
836
998
 
837
999
  --
838
1000
 
839
- ##### [args_with_ele_ref](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/device/touch_actions.rb#L139)
1001
+ ##### [args_with_ele_ref](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/device/touch_actions.rb#L139)
840
1002
 
841
1003
  > def args_with_ele_ref(args)
842
1004
 
@@ -844,7 +1006,7 @@ Does nothing, currently.
844
1006
 
845
1007
  --
846
1008
 
847
- ##### [wait](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L33)
1009
+ ##### [wait](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L33)
848
1010
 
849
1011
  > def wait max_wait=30, interval=0.5, &block
850
1012
 
@@ -871,7 +1033,7 @@ __Returns:__
871
1033
 
872
1034
  --
873
1035
 
874
- ##### [ignore](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L54)
1036
+ ##### [ignore](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L54)
875
1037
 
876
1038
  > def ignore &block
877
1039
 
@@ -879,7 +1041,7 @@ Return block.call and ignore any exceptions.
879
1041
 
880
1042
  --
881
1043
 
882
- ##### [wait_true](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L69)
1044
+ ##### [wait_true](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L69)
883
1045
 
884
1046
  > def wait_true max_wait=30, interval=0.5, &block
885
1047
 
@@ -902,7 +1064,7 @@ __Returns:__
902
1064
 
903
1065
  --
904
1066
 
905
- ##### [back](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L89)
1067
+ ##### [back](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L89)
906
1068
 
907
1069
  > def back
908
1070
 
@@ -914,7 +1076,7 @@ __Returns:__
914
1076
 
915
1077
  --
916
1078
 
917
- ##### [session_id](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L94)
1079
+ ##### [session_id](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L94)
918
1080
 
919
1081
  > def session_id
920
1082
 
@@ -922,7 +1084,7 @@ For Sauce Labs reporting. Returns the current session id.
922
1084
 
923
1085
  --
924
1086
 
925
- ##### [xpath](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L102)
1087
+ ##### [xpath](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L102)
926
1088
 
927
1089
  > def xpath xpath_str
928
1090
 
@@ -938,7 +1100,7 @@ __Returns:__
938
1100
 
939
1101
  --
940
1102
 
941
- ##### [xpaths](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L110)
1103
+ ##### [xpaths](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L110)
942
1104
 
943
1105
  > def xpaths xpath_str
944
1106
 
@@ -954,7 +1116,7 @@ __Returns:__
954
1116
 
955
1117
  --
956
1118
 
957
- ##### [source](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L116)
1119
+ ##### [source](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L116)
958
1120
 
959
1121
  > def source
960
1122
 
@@ -966,7 +1128,7 @@ __Returns:__
966
1128
 
967
1129
  --
968
1130
 
969
- ##### [get_source](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L134)
1131
+ ##### [get_source](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L134)
970
1132
 
971
1133
  > def get_source
972
1134
 
@@ -979,7 +1141,7 @@ __Returns:__
979
1141
 
980
1142
  --
981
1143
 
982
- ##### [result](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L141)
1144
+ ##### [result](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L141)
983
1145
 
984
1146
  > def result
985
1147
 
@@ -987,7 +1149,7 @@ Returns the value of attribute result
987
1149
 
988
1150
  --
989
1151
 
990
- ##### [initialize](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L143)
1152
+ ##### [initialize](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L143)
991
1153
 
992
1154
  > def initialize
993
1155
 
@@ -999,7 +1161,7 @@ __Returns:__
999
1161
 
1000
1162
  --
1001
1163
 
1002
- ##### [reset](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L147)
1164
+ ##### [reset](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L147)
1003
1165
 
1004
1166
  > def reset
1005
1167
 
@@ -1007,7 +1169,7 @@ __Returns:__
1007
1169
 
1008
1170
  --
1009
1171
 
1010
- ##### [start_element](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L152)
1172
+ ##### [start_element](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L152)
1011
1173
 
1012
1174
  > def start_element name, attrs = []
1013
1175
 
@@ -1015,7 +1177,7 @@ http://nokogiri.org/Nokogiri/XML/SAX/Document.html
1015
1177
 
1016
1178
  --
1017
1179
 
1018
- ##### [formatted_result](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L158)
1180
+ ##### [formatted_result](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L158)
1019
1181
 
1020
1182
  > def formatted_result
1021
1183
 
@@ -1023,7 +1185,7 @@ http://nokogiri.org/Nokogiri/XML/SAX/Document.html
1023
1185
 
1024
1186
  --
1025
1187
 
1026
- ##### [get_page_class](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L169)
1188
+ ##### [get_page_class](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L169)
1027
1189
 
1028
1190
  > def get_page_class
1029
1191
 
@@ -1031,7 +1193,7 @@ Returns a string of class counts of visible elements.
1031
1193
 
1032
1194
  --
1033
1195
 
1034
- ##### [page_class](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L180)
1196
+ ##### [page_class](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L180)
1035
1197
 
1036
1198
  > def page_class
1037
1199
 
@@ -1040,7 +1202,7 @@ Useful for appium_console.
1040
1202
 
1041
1203
  --
1042
1204
 
1043
- ##### [px_to_window_rel](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L190)
1205
+ ##### [px_to_window_rel](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L190)
1044
1206
 
1045
1207
  > def px_to_window_rel opts={}
1046
1208
 
@@ -1052,7 +1214,7 @@ px_to_window_rel x: 50, y: 150
1052
1214
 
1053
1215
  --
1054
1216
 
1055
- ##### [xml_keys](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L207)
1217
+ ##### [xml_keys](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L207)
1056
1218
 
1057
1219
  > def xml_keys target
1058
1220
 
@@ -1068,7 +1230,7 @@ __Returns:__
1068
1230
 
1069
1231
  --
1070
1232
 
1071
- ##### [xml_values](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L215)
1233
+ ##### [xml_values](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L215)
1072
1234
 
1073
1235
  > def xml_values target
1074
1236
 
@@ -1084,7 +1246,7 @@ __Returns:__
1084
1246
 
1085
1247
  --
1086
1248
 
1087
- ##### [resolve_id](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L223)
1249
+ ##### [resolve_id](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L223)
1088
1250
 
1089
1251
  > def resolve_id id
1090
1252
 
@@ -1100,7 +1262,7 @@ __Returns:__
1100
1262
 
1101
1263
  --
1102
1264
 
1103
- ##### [filter](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L229)
1265
+ ##### [filter](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L229)
1104
1266
 
1105
1267
  > def filter
1106
1268
 
@@ -1108,7 +1270,7 @@ __Returns:__
1108
1270
 
1109
1271
  --
1110
1272
 
1111
- ##### [filter=](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L234)
1273
+ ##### [filter=](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L234)
1112
1274
 
1113
1275
  > def filter= value
1114
1276
 
@@ -1116,7 +1278,7 @@ convert to string to support symbols
1116
1278
 
1117
1279
  --
1118
1280
 
1119
- ##### [initialize](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L240)
1281
+ ##### [initialize](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L240)
1120
1282
 
1121
1283
  > def initialize
1122
1284
 
@@ -1128,7 +1290,7 @@ __Returns:__
1128
1290
 
1129
1291
  --
1130
1292
 
1131
- ##### [reset](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L245)
1293
+ ##### [reset](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L245)
1132
1294
 
1133
1295
  > def reset
1134
1296
 
@@ -1136,7 +1298,7 @@ __Returns:__
1136
1298
 
1137
1299
  --
1138
1300
 
1139
- ##### [result](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L251)
1301
+ ##### [result](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L251)
1140
1302
 
1141
1303
  > def result
1142
1304
 
@@ -1144,7 +1306,7 @@ __Returns:__
1144
1306
 
1145
1307
  --
1146
1308
 
1147
- ##### [start_element](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L265)
1309
+ ##### [start_element](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L265)
1148
1310
 
1149
1311
  > def start_element name, attrs = []
1150
1312
 
@@ -1152,7 +1314,7 @@ __Returns:__
1152
1314
 
1153
1315
  --
1154
1316
 
1155
- ##### [end_element](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L275)
1317
+ ##### [end_element](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L275)
1156
1318
 
1157
1319
  > def end_element name
1158
1320
 
@@ -1160,7 +1322,7 @@ __Returns:__
1160
1322
 
1161
1323
  --
1162
1324
 
1163
- ##### [characters](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/helper.rb#L281)
1325
+ ##### [characters](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/helper.rb#L281)
1164
1326
 
1165
1327
  > def characters(chars)
1166
1328
 
@@ -1168,7 +1330,7 @@ __Returns:__
1168
1330
 
1169
1331
  --
1170
1332
 
1171
- ##### [window_size](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/element/window.rb#L5)
1333
+ ##### [window_size](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/element/window.rb#L5)
1172
1334
 
1173
1335
  > def window_size
1174
1336
 
@@ -1176,23 +1338,31 @@ Get the window's size
1176
1338
 
1177
1339
  --
1178
1340
 
1179
- ##### [result](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/helper.rb#L7) android
1341
+ ##### [result](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L6) android
1180
1342
 
1181
1343
  > def result
1182
1344
 
1183
- TODO: Support strings.xml ids
1345
+ Returns the value of attribute result
1184
1346
 
1185
1347
  --
1186
1348
 
1187
- ##### [keys](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/helper.rb#L7) android
1349
+ ##### [keys](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L6) android
1188
1350
 
1189
1351
  > def keys
1190
1352
 
1191
- TODO: Support strings.xml ids
1353
+ Returns the value of attribute keys
1354
+
1355
+ --
1356
+
1357
+ ##### [instance](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L6) android
1358
+
1359
+ > def instance
1360
+
1361
+ Returns the value of attribute instance
1192
1362
 
1193
1363
  --
1194
1364
 
1195
- ##### [filter](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/helper.rb#L9) android
1365
+ ##### [filter](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L8) android
1196
1366
 
1197
1367
  > def filter
1198
1368
 
@@ -1200,7 +1370,7 @@ TODO: Support strings.xml ids
1200
1370
 
1201
1371
  --
1202
1372
 
1203
- ##### [filter=](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/helper.rb#L14) android
1373
+ ##### [filter=](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L13) android
1204
1374
 
1205
1375
  > def filter= value
1206
1376
 
@@ -1208,7 +1378,7 @@ convert to string to support symbols
1208
1378
 
1209
1379
  --
1210
1380
 
1211
- ##### [initialize](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/helper.rb#L20) android
1381
+ ##### [initialize](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L19) android
1212
1382
 
1213
1383
  > def initialize
1214
1384
 
@@ -1220,7 +1390,7 @@ __Returns:__
1220
1390
 
1221
1391
  --
1222
1392
 
1223
- ##### [reset](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/helper.rb#L25) android
1393
+ ##### [reset](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L25) android
1224
1394
 
1225
1395
  > def reset
1226
1396
 
@@ -1228,7 +1398,7 @@ __Returns:__
1228
1398
 
1229
1399
  --
1230
1400
 
1231
- ##### [start_element](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/helper.rb#L31) android
1401
+ ##### [start_element](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L32) android
1232
1402
 
1233
1403
  > def start_element name, attrs = []
1234
1404
 
@@ -1236,7 +1406,7 @@ http://nokogiri.org/Nokogiri/XML/SAX/Document.html
1236
1406
 
1237
1407
  --
1238
1408
 
1239
- ##### [get_android_inspect](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/helper.rb#L88) android
1409
+ ##### [get_android_inspect](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L92) android
1240
1410
 
1241
1411
  > def get_android_inspect class_name=false
1242
1412
 
@@ -1255,7 +1425,7 @@ __Returns:__
1255
1425
 
1256
1426
  --
1257
1427
 
1258
- ##### [page](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/helper.rb#L107) android
1428
+ ##### [page](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L113) android
1259
1429
 
1260
1430
  > def page opts={}
1261
1431
 
@@ -1274,7 +1444,7 @@ __Returns:__
1274
1444
 
1275
1445
  --
1276
1446
 
1277
- ##### [current_app](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/helper.rb#L118) android
1447
+ ##### [current_app](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L124) android
1278
1448
 
1279
1449
  > def current_app
1280
1450
 
@@ -1283,7 +1453,7 @@ example line:
1283
1453
 
1284
1454
  --
1285
1455
 
1286
- ##### [id](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/helper.rb#L142) android
1456
+ ##### [id](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L148) android
1287
1457
 
1288
1458
  > def id id
1289
1459
 
@@ -1299,7 +1469,7 @@ __Returns:__
1299
1469
 
1300
1470
  --
1301
1471
 
1302
- ##### [ids](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/helper.rb#L150) android
1472
+ ##### [ids](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L156) android
1303
1473
 
1304
1474
  > def ids id
1305
1475
 
@@ -1315,7 +1485,7 @@ __Returns:__
1315
1485
 
1316
1486
  --
1317
1487
 
1318
- ##### [ele_index](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/helper.rb#L159) android
1488
+ ##### [ele_index](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L165) android
1319
1489
 
1320
1490
  > def ele_index class_name, index
1321
1491
 
@@ -1333,7 +1503,7 @@ __Returns:__
1333
1503
 
1334
1504
  --
1335
1505
 
1336
- ##### [first_ele](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/helper.rb#L173) android
1506
+ ##### [first_ele](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L183) android
1337
1507
 
1338
1508
  > def first_ele class_name
1339
1509
 
@@ -1349,7 +1519,7 @@ __Returns:__
1349
1519
 
1350
1520
  --
1351
1521
 
1352
- ##### [last_ele](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/helper.rb#L180) android
1522
+ ##### [last_ele](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L190) android
1353
1523
 
1354
1524
  > def last_ele class_name
1355
1525
 
@@ -1365,7 +1535,7 @@ __Returns:__
1365
1535
 
1366
1536
  --
1367
1537
 
1368
- ##### [tag](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/helper.rb#L188) android
1538
+ ##### [tag](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L198) android
1369
1539
 
1370
1540
  > def tag class_name
1371
1541
 
@@ -1381,7 +1551,7 @@ __Returns:__
1381
1551
 
1382
1552
  --
1383
1553
 
1384
- ##### [tags](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/helper.rb#L196) android
1554
+ ##### [tags](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L206) android
1385
1555
 
1386
1556
  > def tags class_name
1387
1557
 
@@ -1397,7 +1567,7 @@ __Returns:__
1397
1567
 
1398
1568
  --
1399
1569
 
1400
- ##### [complex_find_contains](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/helper.rb#L241) android
1570
+ ##### [complex_find_contains](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L238) android
1401
1571
 
1402
1572
  > def complex_find_contains element, value
1403
1573
 
@@ -1415,7 +1585,7 @@ __Returns:__
1415
1585
 
1416
1586
  --
1417
1587
 
1418
- ##### [complex_finds_contains](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/helper.rb#L249) android
1588
+ ##### [complex_finds_contains](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L246) android
1419
1589
 
1420
1590
  > def complex_finds_contains element, value
1421
1591
 
@@ -1433,7 +1603,7 @@ __Returns:__
1433
1603
 
1434
1604
  --
1435
1605
 
1436
- ##### [complex_find_exact](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/helper.rb#L289) android
1606
+ ##### [complex_find_exact](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L275) android
1437
1607
 
1438
1608
  > def complex_find_exact class_name, value
1439
1609
 
@@ -1451,7 +1621,7 @@ __Returns:__
1451
1621
 
1452
1622
  --
1453
1623
 
1454
- ##### [complex_finds_exact](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/helper.rb#L297) android
1624
+ ##### [complex_finds_exact](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/helper.rb#L283) android
1455
1625
 
1456
1626
  > def complex_finds_exact class_name, value
1457
1627
 
@@ -1469,7 +1639,7 @@ __Returns:__
1469
1639
 
1470
1640
  --
1471
1641
 
1472
- ##### [TextView](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/text.rb#L4) android
1642
+ ##### [TextView](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/text.rb#L4) android
1473
1643
 
1474
1644
  > TextView = 'android.widget.TextView'
1475
1645
 
@@ -1477,7 +1647,7 @@ __Returns:__
1477
1647
 
1478
1648
  --
1479
1649
 
1480
- ##### [text](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/text.rb#L10) android
1650
+ ##### [text](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/text.rb#L10) android
1481
1651
 
1482
1652
  > def text value
1483
1653
 
@@ -1494,7 +1664,7 @@ __Returns:__
1494
1664
 
1495
1665
  --
1496
1666
 
1497
- ##### [texts](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/text.rb#L19) android
1667
+ ##### [texts](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/text.rb#L19) android
1498
1668
 
1499
1669
  > def texts value=false
1500
1670
 
@@ -1511,7 +1681,7 @@ __Returns:__
1511
1681
 
1512
1682
  --
1513
1683
 
1514
- ##### [first_text](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/text.rb#L26) android
1684
+ ##### [first_text](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/text.rb#L26) android
1515
1685
 
1516
1686
  > def first_text
1517
1687
 
@@ -1523,7 +1693,7 @@ __Returns:__
1523
1693
 
1524
1694
  --
1525
1695
 
1526
- ##### [last_text](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/text.rb#L32) android
1696
+ ##### [last_text](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/text.rb#L32) android
1527
1697
 
1528
1698
  > def last_text
1529
1699
 
@@ -1535,7 +1705,7 @@ __Returns:__
1535
1705
 
1536
1706
  --
1537
1707
 
1538
- ##### [text_exact](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/text.rb#L39) android
1708
+ ##### [text_exact](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/text.rb#L39) android
1539
1709
 
1540
1710
  > def text_exact value
1541
1711
 
@@ -1551,7 +1721,7 @@ __Returns:__
1551
1721
 
1552
1722
  --
1553
1723
 
1554
- ##### [texts_exact](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/text.rb#L46) android
1724
+ ##### [texts_exact](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/text.rb#L46) android
1555
1725
 
1556
1726
  > def texts_exact value
1557
1727
 
@@ -1567,7 +1737,7 @@ __Returns:__
1567
1737
 
1568
1738
  --
1569
1739
 
1570
- ##### [alert_click](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/alert.rb#L6) android
1740
+ ##### [alert_click](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/alert.rb#L6) android
1571
1741
 
1572
1742
  > def alert_click value
1573
1743
 
@@ -1583,7 +1753,7 @@ __Returns:__
1583
1753
 
1584
1754
  --
1585
1755
 
1586
- ##### [alert_accept](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/alert.rb#L13) android
1756
+ ##### [alert_accept](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/alert.rb#L13) android
1587
1757
 
1588
1758
  > def alert_accept
1589
1759
 
@@ -1596,7 +1766,7 @@ __Returns:__
1596
1766
 
1597
1767
  --
1598
1768
 
1599
- ##### [alert_accept_text](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/alert.rb#L20) android
1769
+ ##### [alert_accept_text](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/alert.rb#L20) android
1600
1770
 
1601
1771
  > def alert_accept_text
1602
1772
 
@@ -1609,7 +1779,7 @@ __Returns:__
1609
1779
 
1610
1780
  --
1611
1781
 
1612
- ##### [alert_dismiss](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/alert.rb#L27) android
1782
+ ##### [alert_dismiss](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/alert.rb#L27) android
1613
1783
 
1614
1784
  > def alert_dismiss
1615
1785
 
@@ -1622,7 +1792,7 @@ __Returns:__
1622
1792
 
1623
1793
  --
1624
1794
 
1625
- ##### [alert_dismiss_text](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/alert.rb#L34) android
1795
+ ##### [alert_dismiss_text](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/alert.rb#L34) android
1626
1796
 
1627
1797
  > def alert_dismiss_text
1628
1798
 
@@ -1635,7 +1805,7 @@ __Returns:__
1635
1805
 
1636
1806
  --
1637
1807
 
1638
- ##### [uiautomator_find](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/mobile_methods.rb#L10) android
1808
+ ##### [uiautomator_find](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/mobile_methods.rb#L10) android
1639
1809
 
1640
1810
  > def uiautomator_find
1641
1811
 
@@ -1647,7 +1817,7 @@ find_element/s can be used with a [UISelector](http://developer.android.com/tool
1647
1817
 
1648
1818
  --
1649
1819
 
1650
- ##### [Button](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/button.rb#L4) android
1820
+ ##### [Button](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/button.rb#L4) android
1651
1821
 
1652
1822
  > Button = 'android.widget.Button'
1653
1823
 
@@ -1655,7 +1825,7 @@ find_element/s can be used with a [UISelector](http://developer.android.com/tool
1655
1825
 
1656
1826
  --
1657
1827
 
1658
- ##### [ImageButton](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/button.rb#L5) android
1828
+ ##### [ImageButton](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/button.rb#L5) android
1659
1829
 
1660
1830
  > ImageButton = 'android.widget.ImageButton'
1661
1831
 
@@ -1663,7 +1833,7 @@ find_element/s can be used with a [UISelector](http://developer.android.com/tool
1663
1833
 
1664
1834
  --
1665
1835
 
1666
- ##### [button](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/button.rb#L55) android
1836
+ ##### [button](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/button.rb#L43) android
1667
1837
 
1668
1838
  > def button value
1669
1839
 
@@ -1680,7 +1850,7 @@ __Returns:__
1680
1850
 
1681
1851
  --
1682
1852
 
1683
- ##### [buttons](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/button.rb#L72) android
1853
+ ##### [buttons](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/button.rb#L60) android
1684
1854
 
1685
1855
  > def buttons value=false
1686
1856
 
@@ -1697,7 +1867,7 @@ __Returns:__
1697
1867
 
1698
1868
  --
1699
1869
 
1700
- ##### [first_button](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/button.rb#L79) android
1870
+ ##### [first_button](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/button.rb#L67) android
1701
1871
 
1702
1872
  > def first_button
1703
1873
 
@@ -1709,7 +1879,7 @@ __Returns:__
1709
1879
 
1710
1880
  --
1711
1881
 
1712
- ##### [last_button](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/button.rb#L85) android
1882
+ ##### [last_button](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/button.rb#L73) android
1713
1883
 
1714
1884
  > def last_button
1715
1885
 
@@ -1721,7 +1891,7 @@ __Returns:__
1721
1891
 
1722
1892
  --
1723
1893
 
1724
- ##### [button_exact](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/button.rb#L99) android
1894
+ ##### [button_exact](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/button.rb#L89) android
1725
1895
 
1726
1896
  > def button_exact value
1727
1897
 
@@ -1737,7 +1907,7 @@ __Returns:__
1737
1907
 
1738
1908
  --
1739
1909
 
1740
- ##### [buttons_exact](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/button.rb#L106) android
1910
+ ##### [buttons_exact](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/button.rb#L96) android
1741
1911
 
1742
1912
  > def buttons_exact value
1743
1913
 
@@ -1753,7 +1923,7 @@ __Returns:__
1753
1923
 
1754
1924
  --
1755
1925
 
1756
- ##### [find](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/generic.rb#L7) android
1926
+ ##### [find](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/generic.rb#L7) android
1757
1927
 
1758
1928
  > def find value
1759
1929
 
@@ -1769,7 +1939,7 @@ __Returns:__
1769
1939
 
1770
1940
  --
1771
1941
 
1772
- ##### [finds](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/generic.rb#L14) android
1942
+ ##### [finds](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/generic.rb#L14) android
1773
1943
 
1774
1944
  > def finds value
1775
1945
 
@@ -1785,7 +1955,7 @@ __Returns:__
1785
1955
 
1786
1956
  --
1787
1957
 
1788
- ##### [find_exact](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/generic.rb#L21) android
1958
+ ##### [find_exact](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/generic.rb#L21) android
1789
1959
 
1790
1960
  > def find_exact value
1791
1961
 
@@ -1801,7 +1971,7 @@ __Returns:__
1801
1971
 
1802
1972
  --
1803
1973
 
1804
- ##### [finds_exact](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/generic.rb#L28) android
1974
+ ##### [finds_exact](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/generic.rb#L28) android
1805
1975
 
1806
1976
  > def finds_exact value
1807
1977
 
@@ -1817,7 +1987,7 @@ __Returns:__
1817
1987
 
1818
1988
  --
1819
1989
 
1820
- ##### [scroll_to](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/generic.rb#L35) android
1990
+ ##### [scroll_to](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/generic.rb#L40) android
1821
1991
 
1822
1992
  > def scroll_to text
1823
1993
 
@@ -1833,7 +2003,7 @@ __Returns:__
1833
2003
 
1834
2004
  --
1835
2005
 
1836
- ##### [scroll_to_exact](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/generic.rb#L48) android
2006
+ ##### [scroll_to_exact](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/generic.rb#L52) android
1837
2007
 
1838
2008
  > def scroll_to_exact text
1839
2009
 
@@ -1849,7 +2019,7 @@ __Returns:__
1849
2019
 
1850
2020
  --
1851
2021
 
1852
- ##### [EditText](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/textfield.rb#L3) android
2022
+ ##### [EditText](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/textfield.rb#L3) android
1853
2023
 
1854
2024
  > EditText = 'android.widget.EditText'
1855
2025
 
@@ -1857,7 +2027,7 @@ __Returns:__
1857
2027
 
1858
2028
  --
1859
2029
 
1860
- ##### [textfield](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/textfield.rb#L9) android
2030
+ ##### [textfield](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/textfield.rb#L9) android
1861
2031
 
1862
2032
  > def textfield value
1863
2033
 
@@ -1874,7 +2044,7 @@ __Returns:__
1874
2044
 
1875
2045
  --
1876
2046
 
1877
- ##### [textfields](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/textfield.rb#L18) android
2047
+ ##### [textfields](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/textfield.rb#L18) android
1878
2048
 
1879
2049
  > def textfields value=false
1880
2050
 
@@ -1891,7 +2061,7 @@ __Returns:__
1891
2061
 
1892
2062
  --
1893
2063
 
1894
- ##### [first_textfield](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/textfield.rb#L25) android
2064
+ ##### [first_textfield](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/textfield.rb#L25) android
1895
2065
 
1896
2066
  > def first_textfield
1897
2067
 
@@ -1903,7 +2073,7 @@ __Returns:__
1903
2073
 
1904
2074
  --
1905
2075
 
1906
- ##### [last_textfield](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/textfield.rb#L31) android
2076
+ ##### [last_textfield](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/textfield.rb#L31) android
1907
2077
 
1908
2078
  > def last_textfield
1909
2079
 
@@ -1915,7 +2085,7 @@ __Returns:__
1915
2085
 
1916
2086
  --
1917
2087
 
1918
- ##### [textfield_exact](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/textfield.rb#L38) android
2088
+ ##### [textfield_exact](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/textfield.rb#L38) android
1919
2089
 
1920
2090
  > def textfield_exact value
1921
2091
 
@@ -1931,7 +2101,7 @@ __Returns:__
1931
2101
 
1932
2102
  --
1933
2103
 
1934
- ##### [textfields_exact](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/android/element/textfield.rb#L45) android
2104
+ ##### [textfields_exact](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/android/element/textfield.rb#L45) android
1935
2105
 
1936
2106
  > def textfields_exact value
1937
2107
 
@@ -1947,7 +2117,7 @@ __Returns:__
1947
2117
 
1948
2118
  --
1949
2119
 
1950
- ##### [value](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/patch.rb#L10)
2120
+ ##### [value](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/patch.rb#L10)
1951
2121
 
1952
2122
  > def value
1953
2123
 
@@ -1957,7 +2127,7 @@ Fixes NoMethodError: undefined method `value' for Selenium::WebDriver::Element
1957
2127
 
1958
2128
  --
1959
2129
 
1960
- ##### [name](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/patch.rb#L17)
2130
+ ##### [name](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/patch.rb#L17)
1961
2131
 
1962
2132
  > def name
1963
2133
 
@@ -1967,7 +2137,7 @@ Fixes NoMethodError: undefined method `name' for Selenium::WebDriver::Element
1967
2137
 
1968
2138
  --
1969
2139
 
1970
- ##### [location_rel](https://github.com/appium/ruby_lib/blob/3ed875cc01ba7f670e9b1b8ccfd7b7adb0af82c1/lib/appium_lib/common/patch.rb#L29)
2140
+ ##### [location_rel](https://github.com/appium/ruby_lib/blob/8cc004ad04ec087a8a11c06ca0749a5e2c6586a7/lib/appium_lib/common/patch.rb#L29)
1971
2141
 
1972
2142
  > def location_rel
1973
2143