selenium-cucumber 2.1.4 → 3.1.4

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 (88) hide show
  1. checksums.yaml +4 -4
  2. data/bin/generate.rb +19 -20
  3. data/bin/helper.rb +50 -50
  4. data/bin/selenium-cucumber +29 -30
  5. data/doc/canned_steps.md +656 -656
  6. data/doc/installation.md +16 -16
  7. data/doc/selenium-cucumber-API.md +120 -120
  8. data/doc/selenium-cucumber-help.md +18 -18
  9. data/features-skeleton/my_first.feature +5 -5
  10. data/features-skeleton/step_definitions/custom_steps.rb +4 -4
  11. data/features-skeleton/support/env.rb +51 -51
  12. data/features-skeleton/support/hooks.rb +47 -38
  13. data/lib/selenium-cucumber.rb +1 -1
  14. data/lib/selenium-cucumber/assertion_steps.rb +89 -89
  15. data/lib/selenium-cucumber/click_elements_steps.rb +36 -36
  16. data/lib/selenium-cucumber/configuration_steps.rb +6 -6
  17. data/lib/selenium-cucumber/input_steps.rb +69 -69
  18. data/lib/selenium-cucumber/javascript_handling_steps.rb +9 -9
  19. data/lib/selenium-cucumber/methods/assertion_methods.rb +295 -344
  20. data/lib/selenium-cucumber/methods/click_elements_methods.rb +23 -23
  21. data/lib/selenium-cucumber/methods/configuration_methods.rb +35 -35
  22. data/lib/selenium-cucumber/methods/error_handling_methods.rb +86 -86
  23. data/lib/selenium-cucumber/methods/input_methods.rb +67 -67
  24. data/lib/selenium-cucumber/methods/javascript_handling_methods.rb +9 -9
  25. data/lib/selenium-cucumber/methods/misc_methods.rb +34 -34
  26. data/lib/selenium-cucumber/methods/mobile_methods.rb +241 -241
  27. data/lib/selenium-cucumber/methods/navigate_methods.rb +165 -165
  28. data/lib/selenium-cucumber/methods/progress_methods.rb +15 -15
  29. data/lib/selenium-cucumber/methods/required_files.rb +10 -10
  30. data/lib/selenium-cucumber/methods/screenshot_methods.rb +6 -6
  31. data/lib/selenium-cucumber/mobile_steps.rb +99 -99
  32. data/lib/selenium-cucumber/navigation_steps.rb +105 -105
  33. data/lib/selenium-cucumber/progress_steps.rb +18 -18
  34. data/lib/selenium-cucumber/screenshot_steps.rb +5 -5
  35. data/lib/selenium-cucumber/version.rb +5 -5
  36. metadata +69 -91
  37. data/example/android/android_app/HinduCalendar.zip +0 -0
  38. data/example/android/android_app/HinduCalendar/HinduCalendar.apk +0 -0
  39. data/example/android/android_app/HinduCalendar/README.md +0 -19
  40. data/example/android/android_app/HinduCalendar/Results.html +0 -472
  41. data/example/android/android_app/HinduCalendar/features/01_HC_homepage_menu_validation.feature +0 -36
  42. data/example/android/android_app/HinduCalendar/features/02_HC_homepage_menu_navigation.feature +0 -71
  43. data/example/android/android_app/HinduCalendar/features/03_HC_Create_Save_View_Delete_Kundali.feature +0 -63
  44. data/example/android/android_app/HinduCalendar/features/actual_images/test.png +0 -0
  45. data/example/android/android_app/HinduCalendar/features/expected_images/test.png +0 -0
  46. data/example/android/android_app/HinduCalendar/features/image_difference/test.png +0 -0
  47. data/example/android/android_app/HinduCalendar/features/my_first.feature +0 -1
  48. data/example/android/android_app/HinduCalendar/features/screenshots/test.png +0 -0
  49. data/example/android/android_app/HinduCalendar/features/step_definitions/01_HC_homepage_menu_validation.rb +0 -81
  50. data/example/android/android_app/HinduCalendar/features/step_definitions/02_HC_homepage_menu_navigation.rb +0 -132
  51. data/example/android/android_app/HinduCalendar/features/step_definitions/03_HC_Create_Save_View_Delete_Kundali.rb +0 -413
  52. data/example/android/android_app/HinduCalendar/features/step_definitions/custom_steps.rb +0 -5
  53. data/example/android/android_app/HinduCalendar/features/support/env.rb +0 -51
  54. data/example/android/android_app/HinduCalendar/features/support/hooks.rb +0 -38
  55. data/example/android/android_app/android_app_calculator.zip +0 -0
  56. data/example/android/android_app/android_app_calculator/AndroidCalculator.apk +0 -0
  57. data/example/android/android_app/android_app_calculator/features/actual_images/test.png +0 -0
  58. data/example/android/android_app/android_app_calculator/features/calculator.feature +0 -36
  59. data/example/android/android_app/android_app_calculator/features/expected_images/test.png +0 -0
  60. data/example/android/android_app/android_app_calculator/features/image_difference/test.png +0 -0
  61. data/example/android/android_app/android_app_calculator/features/my_first.feature +0 -13
  62. data/example/android/android_app/android_app_calculator/features/screenshots/test.png +0 -0
  63. data/example/android/android_app/android_app_calculator/features/step_definitions/custom_steps.rb +0 -5
  64. data/example/android/android_app/android_app_calculator/features/support/env.rb +0 -51
  65. data/example/android/android_app/android_app_calculator/features/support/hooks.rb +0 -38
  66. data/example/android/android_web/android_web_gmail_login.zip +0 -0
  67. data/example/android/android_web/android_web_gmail_login/features/actual_images/test.png +0 -0
  68. data/example/android/android_web/android_web_gmail_login/features/expected_images/test.png +0 -0
  69. data/example/android/android_web/android_web_gmail_login/features/gmail_login.feature +0 -12
  70. data/example/android/android_web/android_web_gmail_login/features/image_difference/test.png +0 -0
  71. data/example/android/android_web/android_web_gmail_login/features/my_first.feature +0 -1
  72. data/example/android/android_web/android_web_gmail_login/features/screenshots/test.png +0 -0
  73. data/example/android/android_web/android_web_gmail_login/features/step_definitions/custom_steps.rb +0 -5
  74. data/example/android/android_web/android_web_gmail_login/features/support/env.rb +0 -51
  75. data/example/android/android_web/android_web_gmail_login/features/support/hooks.rb +0 -38
  76. data/example/desktop web/desktop_web_gmail_login.zip +0 -0
  77. data/example/desktop web/desktop_web_gmail_login/features/actual_images/test.png +0 -0
  78. data/example/desktop web/desktop_web_gmail_login/features/expected_images/test.png +0 -0
  79. data/example/desktop web/desktop_web_gmail_login/features/gmail_login.feature +0 -10
  80. data/example/desktop web/desktop_web_gmail_login/features/gmail_multi_login.feature +0 -22
  81. data/example/desktop web/desktop_web_gmail_login/features/image_difference/test.png +0 -0
  82. data/example/desktop web/desktop_web_gmail_login/features/my_first.feature +0 -1
  83. data/example/desktop web/desktop_web_gmail_login/features/result.html b/data/example/desktop → web/desktop_web_gmail_login/features/result.html +0 -0
  84. data/example/desktop web/desktop_web_gmail_login/features/screenshots/test.png +0 -0
  85. data/example/desktop web/desktop_web_gmail_login/features/step_definitions/custom_steps.rb +0 -5
  86. data/example/desktop web/desktop_web_gmail_login/features/support/env.rb +0 -51
  87. data/example/desktop web/desktop_web_gmail_login/features/support/hooks.rb +0 -38
  88. data/example/desktop web/desktop_web_gmail_login/result.html +0 -478
@@ -1,166 +1,166 @@
1
- require_relative 'required_files'
2
-
3
- # method to open link
4
- def navigate_to(link)
5
- $driver.get link
6
- end
7
-
8
- # method to navigate back & forword
9
- def navigate(direction)
10
- if direction == 'back'
11
- $driver.navigate.back
12
- else
13
- $driver.navigate.forward
14
- end
15
- end
16
-
17
- # method to quite webdriver instance
18
- def close_driver
19
- $driver.quit
20
- end
21
-
22
- # method to return key (control/command) by os wise
23
- def get_key
24
- os = Selenium::WebDriver::Platform.os
25
- if os.to_s == 'windows'
26
- return 'control'
27
- elsif os.to_s == 'macosx'
28
- return 'command'
29
- else
30
- raise 'Invalid OS'
31
- end
32
- end
33
-
34
- # Method to zoom in/out/reset page
35
- def zoom_in_out(operation)
36
- if $driver.capabilities.browser_name == 'chrome'
37
- actual_zoom = $driver.execute_script "return document.body.style.zoom"
38
- puts "actual_zoom:#{actual_zoom}"
39
- if actual_zoom == '' or actual_zoom == nil
40
- actual_zoom = 100
41
- else
42
- actual_zoom = actual_zoom.delete '%'
43
- actual_zoom = actual_zoom.to_i
44
- end
45
-
46
- if operation == 'add'
47
- actual_zoom += 15 unless actual_zoom >= 500
48
- elsif operation == 'subtract'
49
- actual_zoom -= 15 unless actual_zoom <= 25
50
- else
51
- actual_zoom = 100
52
- end
53
- puts "actual_zoom:#{actual_zoom}"
54
- $driver.execute_script "document.body.style.zoom='#{actual_zoom}%'"
55
- else
56
- html = $driver.find_element(:tag_name => "body")
57
- $driver.action.send_keys(html, :"#{get_key}", :"#{operation}" ).perform
58
- end
59
- end
60
-
61
- # Method to zoom in/out web page until web element displyas
62
- def zoom_in_out_till_element_display(access_type, operation, access_name)
63
- while true
64
- if WAIT.until { $driver.find_element(:"#{access_type}" => "#{access_name}") }.displayed?
65
- break
66
- else
67
- zoom_in_out(operation)
68
- end
69
- end
70
- end
71
-
72
- # Method to resize browser
73
- def resize_browser(width, heigth)
74
- $driver.manage.window.resize_to(width, heigth)
75
- end
76
-
77
- # Method to maximize browser
78
- def maximize_browser
79
- $driver.manage.window.maximize
80
- end
81
-
82
- # Method to hover on element
83
- def hover_over_element(access_type, access_name)
84
- element = WAIT.until {$driver.find_element(:"#{access_type}" => "#{access_name}")}
85
- $driver.action.move_to(element).perform
86
- end
87
-
88
- # Method to scroll page to perticular element
89
- def scroll_to_element(access_type, access_name)
90
- ele_scroll = WAIT.until {$driver.find_element(:"#{access_type}" => "#{access_name}")}
91
- ele_scroll.location_once_scrolled_into_view
92
- end
93
-
94
- # method to scroll page to top or end
95
- def scroll_page(to)
96
- if to == 'end'
97
- $driver.execute_script('window.scrollTo(0,Math.max(document.documentElement.scrollHeight,document.body.scrollHeight,document.documentElement.clientHeight));')
98
- elsif to == 'top'
99
- $driver.execute_script('window.scrollTo(Math.max(document.documentElement.scrollHeight,document.body.scrollHeight,document.documentElement.clientHeight),0);')
100
- else
101
- raise "Exception : Invalid Direction (only scroll \"top\" or \"end\")"
102
- end
103
- end
104
-
105
- # Method to switch to old window
106
- def switch_to_previous_window
107
- $driver.switch_to.window $previous_window
108
- end
109
-
110
- # Method to switch to new window
111
- def switch_to_new_window
112
- $previous_window = $driver.window_handle
113
- $driver.switch_to.window($driver.window_handles.last)
114
- end
115
-
116
- # Method to switch to main window
117
- def switch_to_main_window
118
- $previous_window = $driver.window_handle
119
- $driver.switch_to.window($driver.window_handles.first)
120
- end
121
-
122
- # Method to switch to window by title
123
- def switch_to_window_by_title window_title
124
- $previous_window = $driver.window_handle
125
- window_found = false
126
- $driver.window_handles.each{ |handle|
127
- $driver.switch_to.window handle
128
- if $driver.title == window_title
129
- window_found = true
130
- break
131
- end
132
- }
133
- raise "Window having title \"#{window_title}\" not found" if not window_found
134
- end
135
-
136
- # Method to close new window
137
- def close_new_window
138
- $driver.close
139
- end
140
-
141
- # method to switch frame
142
- def switch_frame frame
143
- $driver.switch_to.frame(frame)
144
- end
145
-
146
- # method to switch to main window
147
- def switch_to_main_content
148
- $driver.switch_to.default_content
149
- end
150
-
151
- =begin
152
- def switch_to_new_window
153
- win_handles = $driver.window_handles
154
-
155
- puts $driver.title
156
- puts win_handles.length
157
-
158
- $driver.switch_to.window($driver.window_handles[1])
159
- puts $driver.window_handles[1]
160
- puts $driver.title
161
-
162
- $driver.switch_to.window($driver.window_handles[2])
163
- puts $driver.window_handles[2]
164
- puts $driver.title
165
- end
1
+ require_relative 'required_files'
2
+
3
+ # method to open link
4
+ def navigate_to(link)
5
+ $driver.get link
6
+ end
7
+
8
+ # method to navigate back & forword
9
+ def navigate(direction)
10
+ if direction == 'back'
11
+ $driver.navigate.back
12
+ else
13
+ $driver.navigate.forward
14
+ end
15
+ end
16
+
17
+ # method to quite webdriver instance
18
+ def close_driver
19
+ $driver.quit
20
+ end
21
+
22
+ # method to return key (control/command) by os wise
23
+ def get_key
24
+ os = $driver.capabilities.platform.to_s.upcase
25
+ if os.to_s == 'WINDOWS' || os.to_s == 'LINUX'
26
+ return 'control'
27
+ elsif os.to_s == 'DARWIN'
28
+ return 'command'
29
+ else
30
+ raise 'Invalid OS'
31
+ end
32
+ end
33
+
34
+ # Method to zoom in/out/reset page
35
+ def zoom_in_out(operation)
36
+ if $driver.capabilities.browser_name == 'chrome'
37
+ actual_zoom = $driver.execute_script "return document.body.style.zoom"
38
+ puts "actual_zoom:#{actual_zoom}"
39
+ if actual_zoom == '' or actual_zoom == nil
40
+ actual_zoom = 100
41
+ else
42
+ actual_zoom = actual_zoom.delete '%'
43
+ actual_zoom = actual_zoom.to_i
44
+ end
45
+
46
+ if operation == 'add'
47
+ actual_zoom += 15 unless actual_zoom >= 500
48
+ elsif operation == 'subtract'
49
+ actual_zoom -= 15 unless actual_zoom <= 25
50
+ else
51
+ actual_zoom = 100
52
+ end
53
+ puts "actual_zoom:#{actual_zoom}"
54
+ $driver.execute_script "document.body.style.zoom='#{actual_zoom}%'"
55
+ else
56
+ html = $driver.find_element(:tag_name => "body")
57
+ $driver.action.send_keys(html, :"#{get_key}", :"#{operation}" ).perform
58
+ end
59
+ end
60
+
61
+ # Method to zoom in/out web page until web element displyas
62
+ def zoom_in_out_till_element_display(access_type, operation, access_name)
63
+ while true
64
+ if WAIT.until { $driver.find_element(:"#{access_type}" => "#{access_name}") }.displayed?
65
+ break
66
+ else
67
+ zoom_in_out(operation)
68
+ end
69
+ end
70
+ end
71
+
72
+ # Method to resize browser
73
+ def resize_browser(width, heigth)
74
+ $driver.manage.window.resize_to(width, heigth)
75
+ end
76
+
77
+ # Method to maximize browser
78
+ def maximize_browser
79
+ $driver.manage.window.maximize
80
+ end
81
+
82
+ # Method to hover on element
83
+ def hover_over_element(access_type, access_name)
84
+ element = $driver.find_element(:"#{access_type}" => "#{access_name}")
85
+ $driver.action.move_to(element).perform
86
+ end
87
+
88
+ # Method to scroll page to perticular element
89
+ def scroll_to_element(access_type, access_name)
90
+ ele_scroll = $driver.find_element(:"#{access_type}" => "#{access_name}")
91
+ ele_scroll.location_once_scrolled_into_view
92
+ end
93
+
94
+ # method to scroll page to top or end
95
+ def scroll_page(to)
96
+ if to == 'end'
97
+ $driver.execute_script('window.scrollTo(0,Math.max(document.documentElement.scrollHeight,document.body.scrollHeight,document.documentElement.clientHeight));')
98
+ elsif to == 'top'
99
+ $driver.execute_script('window.scrollTo(Math.max(document.documentElement.scrollHeight,document.body.scrollHeight,document.documentElement.clientHeight),0);')
100
+ else
101
+ raise "Exception : Invalid Direction (only scroll \"top\" or \"end\")"
102
+ end
103
+ end
104
+
105
+ # Method to switch to old window
106
+ def switch_to_previous_window
107
+ $driver.switch_to.window $previous_window
108
+ end
109
+
110
+ # Method to switch to new window
111
+ def switch_to_new_window
112
+ $previous_window = $driver.window_handle
113
+ $driver.switch_to.window($driver.window_handles.last)
114
+ end
115
+
116
+ # Method to switch to main window
117
+ def switch_to_main_window
118
+ $previous_window = $driver.window_handle
119
+ $driver.switch_to.window($driver.window_handles.first)
120
+ end
121
+
122
+ # Method to switch to window by title
123
+ def switch_to_window_by_title window_title
124
+ $previous_window = $driver.window_handle
125
+ window_found = false
126
+ $driver.window_handles.each{ |handle|
127
+ $driver.switch_to.window handle
128
+ if $driver.title == window_title
129
+ window_found = true
130
+ break
131
+ end
132
+ }
133
+ raise "Window having title \"#{window_title}\" not found" if not window_found
134
+ end
135
+
136
+ # Method to close new window
137
+ def close_new_window
138
+ $driver.close
139
+ end
140
+
141
+ # method to switch frame
142
+ def switch_frame frame
143
+ $driver.switch_to.frame(frame)
144
+ end
145
+
146
+ # method to switch to main window
147
+ def switch_to_main_content
148
+ $driver.switch_to.default_content
149
+ end
150
+
151
+ =begin
152
+ def switch_to_new_window
153
+ win_handles = $driver.window_handles
154
+
155
+ puts $driver.title
156
+ puts win_handles.length
157
+
158
+ $driver.switch_to.window($driver.window_handles[1])
159
+ puts $driver.window_handles[1]
160
+ puts $driver.title
161
+
162
+ $driver.switch_to.window($driver.window_handles[2])
163
+ puts $driver.window_handles[2]
164
+ puts $driver.title
165
+ end
166
166
  =end
@@ -1,15 +1,15 @@
1
- require_relative 'required_files'
2
-
3
- def wait(time)
4
- sleep time.to_i
5
- end
6
-
7
- def wait_for_element_to_display(access_type, access_name, duration)
8
- wait = Selenium::WebDriver::Wait.new(:timeout => duration.to_i) # seconds
9
- wait.until { $driver.find_element(:"#{access_type}" => "#{access_name}").displayed? }
10
- end
11
-
12
- def wait_for_element_to_enable(access_type, access_name, duration)
13
- wait = Selenium::WebDriver::Wait.new(:timeout => duration.to_i) # seconds
14
- wait.until { $driver.find_element(:"#{access_type}" => "#{access_name}").enabled? }
15
- end
1
+ require_relative 'required_files'
2
+
3
+ def wait(time)
4
+ sleep time.to_i
5
+ end
6
+
7
+ def wait_for_element_to_display(access_type, access_name, duration)
8
+ wait = Selenium::WebDriver::Wait.new(:timeout => duration.to_i) # seconds
9
+ wait.until { $driver.find_element(:"#{access_type}" => "#{access_name}").displayed? }
10
+ end
11
+
12
+ def wait_for_element_to_enable(access_type, access_name, duration)
13
+ wait = Selenium::WebDriver::Wait.new(:timeout => duration.to_i) # seconds
14
+ wait.until { $driver.find_element(:"#{access_type}" => "#{access_name}").enabled? }
15
+ end
@@ -1,10 +1,10 @@
1
- require 'rubygems'
2
- require 'selenium-webdriver'
3
- require 'chunky_png'
4
- require 'open-uri'
5
- require 'rbconfig'
6
- require 'appium_lib'
7
- include RbConfig
8
-
9
- require_relative 'misc_methods'
10
- require_relative 'error_handling_methods'
1
+ require 'rubygems'
2
+ require 'selenium-webdriver'
3
+ require 'chunky_png'
4
+ require 'open-uri'
5
+ require 'rbconfig'
6
+ require 'appium_lib'
7
+ include RbConfig
8
+
9
+ require_relative 'misc_methods'
10
+ require_relative 'error_handling_methods'
@@ -1,6 +1,6 @@
1
- require_relative 'required_files'
2
-
3
- def take_screenshot
4
- cur_time = Time.now.strftime('%Y%m%d%H%M%S%L')
5
- $driver.save_screenshot('./features/screenshots/screenshot' + cur_time + '.png')
6
- end
1
+ require_relative 'required_files'
2
+
3
+ def take_screenshot
4
+ cur_time = Time.now.strftime('%Y%m%d%H%M%S%L')
5
+ $driver.save_screenshot('./features/screenshots/screenshot' + cur_time + '.png')
6
+ end
@@ -1,100 +1,100 @@
1
- require_relative 'methods/mobile_methods'
2
- require_relative 'methods/navigate_methods'
3
-
4
- #---------- swipe with elements
5
- Then(/^I swipe from element having (.+) "(.*?)" to element having (.+) "(.*?)"$/) do |type1,access_name1,type2,access_name2|
6
- validate_locator type1
7
- validate_locator type2
8
- swipe_using_elements(type1,access_name1,type2,access_name2)
9
- end
10
-
11
- #---------- swipe with co-ordinates
12
- Then(/^I swipe from co\-ordinates "(.*?)","(.*?)" to co\-ordinates "(.*?)","(.*?)"$/) do |start_x, start_y, end_x, end_y|
13
- swipe(start_x, start_y, end_x, end_y)
14
- end
15
-
16
- #---------- Swipe with direction
17
- Then(/^I swipe left$/) do
18
- swipe_direction("left")
19
- end
20
-
21
- Then(/^I swipe right$/) do
22
- swipe_direction("right")
23
- end
24
-
25
- Then(/^I swipe up$/) do
26
- swipe_direction("up")
27
- end
28
-
29
- Then(/^I swipe down$/) do
30
- swipe_direction("down")
31
- end
32
-
33
- #----------- Swipe element with direction
34
- Then(/^I swipe element having (.+) "(.*?)" to right$/) do |type, access_name|
35
- validate_locator type
36
- swipe_element_with_direction(type, access_name, "right")
37
- end
38
-
39
- Then(/^I swipe element having (.+) "(.*?)" to left$/) do |type, access_name|
40
- swipe_element_with_direction(type, access_name, "left")
41
- end
42
-
43
- Then(/^I swipe element having (.+) "(.*?)" to up$/) do |type, access_name|
44
- swipe_element_with_direction(type, access_name, "up")
45
- end
46
-
47
- Then(/^I swipe element having (.+) "(.*?)" to down$/) do |type, access_name|
48
- swipe_element_with_direction(type, access_name, "down")
49
- end
50
-
51
- #swipe co-ordinates with direction
52
-
53
- Then(/^I swipe co\-ordinates "(.*?)","(.*?)" to left$/) do |start_x, start_y|
54
- swipe_coordinates_with_direction(start_x, start_y, "left")
55
- end
56
-
57
-
58
- Then(/^I swipe co\-ordinates "(.*?)","(.*?)" to right$/) do |start_x, start_y|
59
- swipe_coordinates_with_direction(start_x, start_y, "right")
60
- end
61
-
62
-
63
- Then(/^I swipe co\-ordinates "(.*?)","(.*?)" to up$/) do |start_x, start_y|
64
- swipe_coordinates_with_direction(start_x, start_y, "up")
65
- end
66
-
67
-
68
- Then(/^I swipe co\-ordinates "(.*?)","(.*?)" to down$/) do |start_x, start_y|
69
- swipe_coordinates_with_direction(start_x, start_y, "down")
70
- end
71
-
72
- Then(/^I long tap on element having (.+) "(.*?)"$/) do |type, access_name|
73
- validate_locator type
74
- long_press_on_element_default_duration(type, access_name)
75
- end
76
-
77
- Then(/^I long tap on element having (.+) "(.*?)" for "(.*?)" sec$/) do |type, access_name, duration|
78
- validate_locator type
79
- long_press_on_element_with_duration(type, access_name, duration)
80
- end
81
-
82
- Then(/^I long tap on co\-ordinate "(.*?)","(.*?)"$/) do |x, y|
83
- long_press_on_coordinates(x, y)
84
- end
85
-
86
- Then(/^I long tap on co\-ordinate "(.*?)","(.*?)" for "(.*?)" sec$/) do |x, y, duration|
87
- long_press_on_coordinates_with_duration(x, y, duration)
88
- end
89
-
90
- Then(/^I close app$/) do
91
- close_app
92
- end
93
-
94
- Then(/^I tap on back button of device$/) do
95
- navigate('back')
96
- end
97
-
98
- Then(/^I press back button of device$/) do
99
- navigate('back')
1
+ require_relative 'methods/mobile_methods'
2
+ require_relative 'methods/navigate_methods'
3
+
4
+ #---------- swipe with elements
5
+ Then(/^I swipe from element having (.+) "(.*?)" to element having (.+) "(.*?)"$/) do |type1,access_name1,type2,access_name2|
6
+ validate_locator type1
7
+ validate_locator type2
8
+ swipe_using_elements(type1,access_name1,type2,access_name2)
9
+ end
10
+
11
+ #---------- swipe with co-ordinates
12
+ Then(/^I swipe from co\-ordinates "(.*?)","(.*?)" to co\-ordinates "(.*?)","(.*?)"$/) do |start_x, start_y, end_x, end_y|
13
+ swipe(start_x, start_y, end_x, end_y)
14
+ end
15
+
16
+ #---------- Swipe with direction
17
+ Then(/^I swipe left$/) do
18
+ swipe_direction("left")
19
+ end
20
+
21
+ Then(/^I swipe right$/) do
22
+ swipe_direction("right")
23
+ end
24
+
25
+ Then(/^I swipe up$/) do
26
+ swipe_direction("up")
27
+ end
28
+
29
+ Then(/^I swipe down$/) do
30
+ swipe_direction("down")
31
+ end
32
+
33
+ #----------- Swipe element with direction
34
+ Then(/^I swipe element having (.+) "(.*?)" to right$/) do |type, access_name|
35
+ validate_locator type
36
+ swipe_element_with_direction(type, access_name, "right")
37
+ end
38
+
39
+ Then(/^I swipe element having (.+) "(.*?)" to left$/) do |type, access_name|
40
+ swipe_element_with_direction(type, access_name, "left")
41
+ end
42
+
43
+ Then(/^I swipe element having (.+) "(.*?)" to up$/) do |type, access_name|
44
+ swipe_element_with_direction(type, access_name, "up")
45
+ end
46
+
47
+ Then(/^I swipe element having (.+) "(.*?)" to down$/) do |type, access_name|
48
+ swipe_element_with_direction(type, access_name, "down")
49
+ end
50
+
51
+ #swipe co-ordinates with direction
52
+
53
+ Then(/^I swipe co\-ordinates "(.*?)","(.*?)" to left$/) do |start_x, start_y|
54
+ swipe_coordinates_with_direction(start_x, start_y, "left")
55
+ end
56
+
57
+
58
+ Then(/^I swipe co\-ordinates "(.*?)","(.*?)" to right$/) do |start_x, start_y|
59
+ swipe_coordinates_with_direction(start_x, start_y, "right")
60
+ end
61
+
62
+
63
+ Then(/^I swipe co\-ordinates "(.*?)","(.*?)" to up$/) do |start_x, start_y|
64
+ swipe_coordinates_with_direction(start_x, start_y, "up")
65
+ end
66
+
67
+
68
+ Then(/^I swipe co\-ordinates "(.*?)","(.*?)" to down$/) do |start_x, start_y|
69
+ swipe_coordinates_with_direction(start_x, start_y, "down")
70
+ end
71
+
72
+ Then(/^I long tap on element having (.+) "(.*?)"$/) do |type, access_name|
73
+ validate_locator type
74
+ long_press_on_element_default_duration(type, access_name)
75
+ end
76
+
77
+ Then(/^I long tap on element having (.+) "(.*?)" for "(.*?)" sec$/) do |type, access_name, duration|
78
+ validate_locator type
79
+ long_press_on_element_with_duration(type, access_name, duration)
80
+ end
81
+
82
+ Then(/^I long tap on co\-ordinate "(.*?)","(.*?)"$/) do |x, y|
83
+ long_press_on_coordinates(x, y)
84
+ end
85
+
86
+ Then(/^I long tap on co\-ordinate "(.*?)","(.*?)" for "(.*?)" sec$/) do |x, y, duration|
87
+ long_press_on_coordinates_with_duration(x, y, duration)
88
+ end
89
+
90
+ Then(/^I close app$/) do
91
+ close_app
92
+ end
93
+
94
+ Then(/^I tap on back button of device$/) do
95
+ navigate('back')
96
+ end
97
+
98
+ Then(/^I press back button of device$/) do
99
+ navigate('back')
100
100
  end