selenium-cucumber 2.1.4 → 3.1.4

Sign up to get free protection for your applications and to get access to all the features.
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,36 +0,0 @@
1
- Feature: Verify homepage elements
2
-
3
- Scenario: As a tester I want to verify all 10 menus with name from home page
4
- Given I am on home page of Hindu Calender
5
- Then I should see Month View option
6
- Then I should see Panchang option
7
- Then I should see Kundli option
8
- Then I should see Jyotish option
9
- Then I should see Festivals option
10
- Then I should see My Tithi option
11
- Then I should see Settings option
12
- Then I should see Info option
13
- Then I should see About option
14
- Then I should see Feedback option
15
-
16
- Scenario: Verify Header menus
17
- Then I should see Hambergur menu
18
- Then I should see Swistik image
19
- Then I should see Hindu Calender text
20
- Then I should see Settings option image
21
-
22
- Scenario: Tap on Hambergur menu and verify options
23
- When I tap on Hambergur menu
24
- Then I should see left menu overlay
25
- Then I should see Month View option
26
- Then I should see Panchang option
27
- Then I should see Kundali option
28
- Then I should see Jyotish option
29
- Then I should see Festivals option
30
- Then I should see My Tithi option
31
- Then I should see Settings option
32
- Then I should see Info option
33
- When I tap on Hambergur menu again
34
- Then I should not see left menu overlay
35
-
36
-
@@ -1,71 +0,0 @@
1
- Feature: Menu Navigation From Homepage
2
-
3
- Scenario: Tap on Month View option and verify appropriat navigation
4
- When I tap on Month View option
5
- Then I should get redirected to Month View page
6
- And I should see Feativals and Events in this month text
7
- When I press back button of device
8
- Then I should get redirected to home page
9
-
10
- Scenario: Tap on Panchang option and verify appropriat navigation
11
- When I tap on Panchang option
12
- Then I should get redirected to Panchang page
13
- And I should see date
14
- When I press back button of device
15
- Then I should get redirected to home page
16
-
17
- Scenario: Tap on Kundli option and verify appropriat navigation
18
- When I tap on Kundli option
19
- Then I should get redirected to Kundali page
20
- And I should see Info text
21
- When I press back button of device
22
- Then I should get redirected to home page
23
-
24
- Scenario: Tap on Jyotish option and verify appropriat navigation
25
- When I tap on Jyotish option
26
- Then I should get redirected to Jyotish page
27
- And I should see Muhurt text
28
- When I press back button of device
29
- Then I should get redirected to home page
30
-
31
- Scenario: Tap on Festivals option and verify appropriat navigation
32
- When I tap on Festivals option
33
- Then I should get redirected to Festivals page
34
- And I should see Gudi Padwa text
35
- When I press back button of device
36
- Then I should get redirected to home page
37
-
38
- Scenario: Tap on My Tithi option and verify appropriat navigation
39
- When I tap on My Tithi option
40
- Then I should get redirected to My Tithi page
41
- And I should see Save My Tithi button
42
- When I press back button of device
43
- Then I should get redirected to home page
44
-
45
- Scenario: Tap on Settings option and verify appropriat navigation
46
- When I tap on Settings option
47
- Then I should get redirected to Settings page
48
- And I should see Save Settings button
49
- When I press back button of device
50
- Then I should get redirected to home page
51
-
52
- Scenario: Tap on Info option and verify appropriat navigation
53
- When I tap on Info option
54
- Then I should get redirected to Info page
55
- And I should see Hindu Calendar text on Info page
56
- When I press back button of device
57
- Then I should get redirected to home page
58
-
59
- Scenario: Tap on About option and verify appropriat navigation
60
- When I tap on About option
61
- Then I should get redirected to About Overlay
62
- And I should see Hindu Calendar text and OK button
63
- When I tap on OK button of Overlay
64
- Then I should get redirected to home page
65
-
66
- Scenario: Tap on Feedback option and verify appropriat navigation
67
- When I tap on Feedback option
68
- Then I should get redirected to Feedback Overlay
69
- And I should see Feedback text and OK button
70
- When I tap on OK button of Overlay
71
- Then I should get redirected to home page
@@ -1,63 +0,0 @@
1
- Feature: Create Kundali
2
-
3
- Scenario: Nvigation to kundali page
4
- When I tap on Kundli option
5
- Then I should get redirected to Kundali page
6
-
7
- Scenario: Enter Date
8
- When I tap on Date button
9
- Then I should see Date picker
10
- When I select Date as "20" "May" "2020"
11
- Then I should see Date button text as "20 May 2020"
12
-
13
- Scenario: Enter Time
14
- When I tap on Time button
15
- Then I should see Time picker
16
- When I enter Time as "08":"20" "PM"
17
- Then I should see Time button text as "20:20"
18
-
19
- Scenario: Tapping on more options arrow and Saving
20
- When I tap on more options arrow
21
- Then I should see Save Kundali option
22
- When I tap on Save Kundali option
23
- Then I should see Enter name overlay
24
- Then I enter name as "SeleniumCucumber"
25
- Then I tap on Ok button
26
-
27
- Scenario: Swap Kundali to see more information
28
- When I swipe to Kundali tab
29
- Then I should see Kundali
30
- When I swipe to Kundali(South. Ind.)
31
- Then I should see South. Ind. Kundali
32
- When I swipe to dasha
33
- Then I should see mahadasha details
34
-
35
- Scenario: Go to homepage and open created Kundali
36
- When I press back button of device
37
- Then I should get redirected to home page
38
- When I tap on Kundli option
39
- Then I should get redirected to Kundali page
40
- When I tap on more options arrow
41
- Then I should see Open Kundali option
42
- When I tap on Open Kundali option
43
- Then I should get Kundali overlay with SeleniumCucumber Kundali
44
- When I tap on SeleniumCucumber Kundali
45
- Then I should see SeleniumCucumber Kundali is open
46
-
47
- Scenario: Delete Kundali
48
- When I tap on Open Kundali option
49
- Then I should get Kundali overlay with SeleniumCucumber Kundali
50
- Then I should see text as "Long Press to Delete Kundali"
51
- When I Long tap on SeleniumCucumber Kundali
52
-
53
- Scenario: Confirm Delete
54
- Then I should get pop up with text "Remove Kundali?"
55
- When I tap on Ok button
56
- Then I should get redirected to Kundali page
57
- When I tap on Open Kundali option
58
- Then I should not see SeleniumCucumber Kundali under Open Kundali overlay
59
- When I press back button of device twice
60
- Then I should get redirected to home page
61
-
62
- Scenario: Close app
63
- Then I close app
@@ -1,81 +0,0 @@
1
- require 'selenium-cucumber'
2
-
3
- Given(/^I am on home page of Hindu Calender$/) do
4
- step %[element having id "android:id/action_bar_title" should have text as "Hindu Calendar"]
5
- end
6
-
7
- Then(/^I should see Month View option$/) do
8
- step %[element having xpath "//android.widget.TextView[@text='Month View']" should have text as "Month View"]
9
- end
10
-
11
- Then(/^I should see Panchang option$/) do
12
- step %[element having xpath "//android.widget.TextView[@text='Panchang']" should have text as "Panchang"]
13
- end
14
-
15
- Then(/^I should see Kundli option$/) do
16
- step %[element having xpath "//android.widget.TextView[@text='Kundli']" should have text as "Kundli"]
17
- end
18
-
19
- Then(/^I should see Jyotish option$/) do
20
- step %[element having xpath "//android.widget.TextView[@text='Jyotish']" should have text as "Jyotish"]
21
- end
22
-
23
- Then(/^I should see Festivals option$/) do
24
- step %[element having xpath "//android.widget.TextView[@text='Festivals']" should have text as "Festivals"]
25
- end
26
-
27
- Then(/^I should see My Tithi option$/) do
28
- step %[element having xpath "//android.widget.TextView[@text='My Tithi']" should have text as "My Tithi"]
29
- end
30
-
31
- Then(/^I should see Settings option$/) do
32
- step %[element having xpath "//android.widget.TextView[@text='Settings']" should have text as "Settings"]
33
- end
34
-
35
- Then(/^I should see Info option$/) do
36
- step %[element having xpath "//android.widget.TextView[@text='Info']" should have text as "Info"]
37
- end
38
-
39
- Then(/^I should see About option$/) do
40
- step %[element having xpath "//android.widget.TextView[@text='About']" should have text as "About"]
41
- end
42
-
43
- Then(/^I should see Feedback option$/) do
44
- step %[element having xpath "//android.widget.TextView[@text='Feedback']" should have text as "Feedback"]
45
- end
46
-
47
- Then(/^I should see Hambergur menu$/) do
48
- step %[element having id "android:id/up" should be present]
49
- end
50
-
51
- Then(/^I should see Swistik image$/) do
52
- step %[element having id "android:id/home" should be present]
53
- end
54
-
55
- Then(/^I should see Hindu Calender text$/) do
56
- step %[element having id "android:id/action_bar_title" should have text as "Hindu Calendar"]
57
- end
58
-
59
- Then(/^I should see Settings option image$/) do
60
- step %[element having id "com.alokmandavgane.hinducalendar:id/menu_settings" should be present]
61
- end
62
-
63
- When(/^I tap on Hambergur menu$/) do
64
- step %[I click on element having id "android:id/up"]
65
- end
66
-
67
- Then(/^I should see left menu overlay$/) do
68
- step %[element having id "com.alokmandavgane.hinducalendar:id/left_drawer" should be present]
69
- end
70
-
71
- Then(/^I should see Kundali option$/) do
72
- step %[element having xpath "//android.widget.TextView[@text='Kundali']" should have text as "Kundali"]
73
- end
74
-
75
- When(/^I tap on Hambergur menu again$/) do
76
- step %[I click on element having id "android:id/up"]
77
- end
78
-
79
- Then(/^I should not see left menu overlay$/) do
80
- step %[element having id "com.alokmandavgane.hinducalendar:id/left_drawer" should not be present]
81
- end
@@ -1,132 +0,0 @@
1
- require 'selenium-cucumber'
2
-
3
- When(/^I tap on Month View option$/) do
4
- step %[I click on element having xpath "//android.widget.TextView[@text='Month View']"]
5
- end
6
-
7
- Then(/^I should get redirected to Month View page$/) do
8
- step %[element having id "android:id/action_bar_title" should have text as "Month View"]
9
- end
10
-
11
- Then(/^I should see Feativals and Events in this month text$/) do
12
- step %[element having xpath "//android.widget.TextView[@index=4]" should have text as "Festivals and Events in this month"]
13
- end
14
-
15
- Then(/^I should get redirected to home page$/) do
16
- step %[I wait for 3 sec]
17
- step %[element having id "android:id/action_bar_title" should have text as "Hindu Calendar"]
18
- end
19
-
20
- When(/^I tap on Panchang option$/) do
21
- step %[I click on element having xpath "//android.widget.TextView[@text='Panchang']"]
22
- end
23
-
24
- Then(/^I should get redirected to Panchang page$/) do
25
- step %[element having id "android:id/action_bar_title" should have text as "Panchang"]
26
- end
27
-
28
- Then(/^I should see date$/) do
29
- step %[element having id "com.alokmandavgane.hinducalendar:id/date" should be present]
30
- end
31
-
32
- When(/^I tap on Kundli option$/) do
33
- step %[I click on element having xpath "//android.widget.TextView[@text='Kundli']"]
34
- end
35
-
36
- Then(/^I should get redirected to Kundali page$/) do
37
- step %[element having id "android:id/action_bar_title" should have text as "Kundali"]
38
- end
39
-
40
- Then(/^I should see Info text$/) do
41
- step %[element having xpath "//android.widget.TextView[@text='Info']" should have text as "Info"]
42
- end
43
-
44
- When(/^I tap on Jyotish option$/) do
45
- step %[I click on element having xpath "//android.widget.TextView[@text='Jyotish']"]
46
- end
47
-
48
- Then(/^I should get redirected to Jyotish page$/) do
49
- step %[element having id "android:id/action_bar_title" should have text as "Jyotish"]
50
- end
51
-
52
- Then(/^I should see Muhurt text$/) do
53
- step %[element having xpath "//android.widget.TextView[@text='Muhurt']" should have text as "Muhurt"]
54
- end
55
-
56
- When(/^I tap on Festivals option$/) do
57
- step %[I click on element having xpath "//android.widget.TextView[@text='Festivals']"]
58
- end
59
-
60
- Then(/^I should get redirected to Festivals page$/) do
61
- step %[element having id "android:id/action_bar_title" should have text as "Festivals"]
62
- end
63
-
64
- Then(/^I should see Gudi Padwa text$/) do
65
- step %[element having xpath "//android.widget.TextView[@text='Gudi Padwa']" should have text as "Gudi Padwa"]
66
- end
67
-
68
- When(/^I tap on My Tithi option$/) do
69
- step %[I click on element having xpath "//android.widget.TextView[@text='My Tithi']"]
70
- end
71
-
72
- Then(/^I should get redirected to My Tithi page$/) do
73
- step %[element having id "android:id/action_bar_title" should have text as "My Tithi"]
74
- end
75
-
76
- Then(/^I should see Save My Tithi button$/) do
77
- step %[element having id "com.alokmandavgane.hinducalendar:id/save_mytithi" should be present]
78
- end
79
-
80
- When(/^I tap on Settings option$/) do
81
- step %[I click on element having xpath "//android.widget.TextView[@text='Settings']"]
82
- end
83
-
84
- Then(/^I should get redirected to Settings page$/) do
85
- step %[element having id "android:id/action_bar_title" should have text as "Settings"]
86
- end
87
-
88
- Then(/^I should see Save Settings button$/) do
89
- step %[element having id "com.alokmandavgane.hinducalendar:id/save_settings1" should be present]
90
- end
91
-
92
- When(/^I tap on Info option$/) do
93
- step %[I click on element having xpath "//android.widget.TextView[@text='Info']"]
94
- end
95
-
96
- Then(/^I should get redirected to Info page$/) do
97
- step %[element having id "android:id/action_bar_title" should have text as "Info"]
98
- end
99
-
100
- Then(/^I should see Hindu Calendar text on Info page$/) do
101
- step %[element having xpath "//android.view.View[@content-desc='Hindu Calendar Heading']" should be present]
102
- end
103
-
104
- When(/^I tap on About option$/) do
105
- step %[I click on element having xpath "//android.widget.TextView[@text='About']"]
106
- end
107
-
108
- Then(/^I should get redirected to About Overlay$/) do
109
- step %[element having id "android:id/content" should be present]
110
- end
111
-
112
- Then(/^I should see Hindu Calendar text and OK button$/) do
113
- step %[element having id "android:id/alertTitle" should have text as "Hindu Calendar"]
114
- step %[element having id "android:id/button1" should be present]
115
- end
116
-
117
- When(/^I tap on OK button of Overlay$/) do
118
- step %[I click on element having id "android:id/button1"]
119
- end
120
-
121
- When(/^I tap on Feedback option$/) do
122
- step %[I click on element having xpath "//android.widget.TextView[@text='Feedback']"]
123
- end
124
-
125
- Then(/^I should get redirected to Feedback Overlay$/) do
126
- step %[element having id "android:id/content" should be present]
127
- end
128
-
129
- Then(/^I should see Feedback text and OK button$/) do
130
- step %[element having id "android:id/alertTitle" should have text as "Feedback"]
131
- step %[element having id "android:id/button1" should be present]
132
- end
@@ -1,413 +0,0 @@
1
- require 'selenium-cucumber'
2
-
3
- When(/^I tap on Date button$/) do
4
- step %[I click on element having id "com.alokmandavgane.hinducalendar:id/datePicker1"]
5
- end
6
-
7
- Then(/^I should see Date picker$/) do
8
- step %[element having id "android:id/content" should be present]
9
- end
10
-
11
- When(/^I select Date as "(.*?)" "(.*?)" "(.*?)"$/) do |date, month, year|
12
- set_date(date)
13
- set_month(month)
14
- set_year(year)
15
- end
16
-
17
- Then(/^I should see Date button text as "(.*?)"$/) do |date|
18
- step %[element having id "com.alokmandavgane.hinducalendar:id/datePicker1" should have text as "#{date}"]
19
-
20
- end
21
-
22
- When(/^I tap on Time button$/) do
23
- step %[I click on element having id "com.alokmandavgane.hinducalendar:id/timePicker1"]
24
- end
25
-
26
- Then(/^I should see Time picker$/) do
27
- step %[element having id "android:id/content" should be present]
28
- end
29
-
30
- When(/^I enter Time as "(.*?)":"(.*?)" "(.*?)"$/) do |hour, min, am_pm|
31
- set_min(min)
32
- set_hour(hour)
33
- set_am_pm(am_pm)
34
- end
35
-
36
- Then(/^I should see Time button text as "(.*?)"$/) do |time_text|
37
- step %[element having id "com.alokmandavgane.hinducalendar:id/timePicker1" should have text as "#{time_text}"]
38
- end
39
-
40
- When(/^I tap on more options arrow$/) do
41
- step %[I click on element having id "com.alokmandavgane.hinducalendar:id/more_options"]
42
- end
43
-
44
- Then(/^I should see Save Kundali option$/) do
45
- step %[element having id "com.alokmandavgane.hinducalendar:id/save_kundali" should be present]
46
- end
47
-
48
- When(/^I tap on Save Kundali option$/) do
49
- step %[I click on element having id "com.alokmandavgane.hinducalendar:id/save_kundali"]
50
- end
51
-
52
- Then(/^I should see Enter name overlay$/) do
53
- step %[element having id "android:id/content" should be present]
54
- end
55
-
56
- Then(/^I enter name as "(.*?)"$/) do |name|
57
- step %[I enter "#{name}" into input field having xpath "//android.widget.EditText[@index=0]"]
58
- end
59
-
60
- When(/^I tap on Ok button$/) do
61
- step %[I click on element having id "android:id/button1"]
62
- end
63
-
64
- Then(/^I should see Name on info page as "(.*?)"$/) do |arg1|
65
- step %[I wait for 3 sec]
66
- end
67
-
68
- When(/^I swipe to Kundali tab$/) do
69
- #step %[I swipe from element having xpath "//android.widget.TextView[@text='Info']" to element having xpath "//android.widget.TextView[@text='Kundali']"]
70
- #step %[I swipe from co-ordinates "1053","1325" to co-ordinates "24","1238"]
71
- step %[I swipe from element having xpath "//android.view.View[@index=1]" to element having xpath "//android.view.View[@index=0]"]
72
- #step %[I swipe from co-ordinates "800","630" to co-ordinates "24","695"]
73
- step %[I wait for 3 sec]
74
- end
75
-
76
- Then(/^I should see Kundali$/) do
77
- step %[element having xpath "//android.view.View[@index=2]" should be present]
78
- step %[I wait for 3 sec]
79
- end
80
-
81
- When(/^I swipe to Kundali\(South\. Ind\.\)$/) do
82
-
83
- step %[I swipe from co-ordinates "800","630" to co-ordinates "24","695"]
84
- end
85
-
86
- Then(/^I should see South\. Ind\. Kundali$/) do
87
- step %[element having xpath "//android.view.View[@index=2]" should be present]
88
- step %[I wait for 3 sec]
89
- end
90
-
91
- When(/^I swipe to dasha$/) do
92
- step %[I swipe from co-ordinates "800","630" to co-ordinates "24","695"]
93
- step %[I wait for 3 sec]
94
- end
95
-
96
- Then(/^I should see mahadasha details$/) do
97
- step %[element having xpath "//android.view.View[@index=0]" should be present]
98
- end
99
-
100
- Then(/^I should see Open Kundali option$/) do
101
- step %[element having id "com.alokmandavgane.hinducalendar:id/history_kundali" should be present]
102
- end
103
-
104
- When(/^I tap on Open Kundali option$/) do
105
- step %[I click on element having id "com.alokmandavgane.hinducalendar:id/history_kundali"]
106
- end
107
-
108
- Then(/^I should get Kundali overlay with SeleniumCucumber Kundali$/) do
109
- #step %[element having xpath "android.widget.FrameLayout[@index=0]" should be present]
110
- step %[element having id "com.alokmandavgane.hinducalendar:id/name" should have text as "SeleniumCucumber"]
111
- end
112
-
113
- When(/^I tap on SeleniumCucumber Kundali$/) do
114
- step %[I click on element having id "com.alokmandavgane.hinducalendar:id/name"]
115
- end
116
-
117
- Then(/^I should see text as "(.*?)"$/) do |longpress_delete|
118
- step %[element having id "com.alokmandavgane.hinducalendar:id/textView" should have text as "#{longpress_delete}"]
119
- end
120
-
121
- Then(/^I should see SeleniumCucumber Kundali is open$/) do
122
- step %[I should see Date button text as "20 May 2020"]
123
- end
124
-
125
- When(/^I Long tap on SeleniumCucumber Kundali$/) do
126
- step %[I long tap on element having id "com.alokmandavgane.hinducalendar:id/name" for "3" sec]
127
- end
128
-
129
- Then(/^I should get pop up with text "(.*?)"$/) do |message|
130
- step %[element having id "android:id/message" should have text as "#{message}"]
131
- end
132
-
133
- Then(/^I should not see SeleniumCucumber Kundali under Open Kundali overlay$/) do
134
- step %[element having id "com.alokmandavgane.hinducalendar:id/name" should not be present]
135
- end
136
-
137
- When(/^I press back button of device twice$/) do
138
- step %[I navigate back]
139
- step %[I navigate back]
140
- step %[I wait for 2 sec]
141
- end
142
-
143
-
144
- def set_date(date)
145
- date = date.to_i
146
- if $device_name != 'GOOGLE NEXUS 5'
147
- sleep 2
148
- ele_day = $driver.find_elements(:xpath, "//android.widget.EditText[@index=1]")
149
- #puts ele_day
150
- ele_day = ele_day[0]
151
- #puts ele_day
152
- if ele_day.text.to_i == date
153
- #puts "equal"
154
- else
155
- if ele_day.text.to_i < date
156
- begin
157
- increase_date_by_one
158
- end while ele_day.text.to_i != date
159
- else
160
- begin
161
- decrease_date_by_one
162
- end while ele_day.text.to_i != date
163
- end
164
- end
165
- else
166
- #puts "In NEXUS 5"
167
- ele_day = $driver.find_elements(:xpath, "//android.widget.EditText[@index=1]")
168
- #puts ele_day
169
- ele_day = ele_day[1]
170
- #puts ele_day
171
- #puts ele_day.text.to_i
172
- #puts date
173
- if ele_day.text.to_i == date
174
- #step %[I click on element having id "android:id/button1"]
175
- else
176
- if ele_day.text.to_i < date
177
- begin
178
- increase_date_by_one
179
- end while ele_day.text.to_i != date
180
- #step %[I click on element having id "android:id/button1"]
181
- else
182
- begin
183
- decrease_date_by_one
184
- end while ele_day.text.to_i != date
185
- #step %[I click on element having id "android:id/button1"]
186
- end
187
- end
188
- end
189
- end
190
-
191
- def set_month(month)
192
- if $device_name != 'GOOGLE NEXUS 5'
193
- ele_cur_month = $driver.find_elements(:xpath, "//android.widget.EditText[@index=1]")
194
- ele_cur_month = ele_cur_month[1]
195
- #puts ele_cur_month.text
196
- if ele_cur_month.text != "#{month}"
197
- begin
198
- increase_month_by_one
199
- end while ele_cur_month.text != "#{month}"
200
- end
201
- else
202
- ele_cur_month = $driver.find_elements(:xpath, "//android.widget.EditText[@index=1]")
203
- ele_cur_month = ele_cur_month[0]
204
- if ele_cur_month.text != "#{month}"
205
- begin
206
- increase_month_by_one
207
- end while ele_cur_month.text != "#{month}"
208
- end
209
- end
210
- end
211
-
212
- def set_hour(hour)
213
- #puts "in set_hour"
214
- hour = hour.to_i
215
- #puts hour
216
- cur_hour = $driver.find_elements(:xpath, "//android.widget.EditText[@index=1]")
217
- cur_hour = cur_hour[0]
218
- if cur_hour.text.to_i == hour
219
- puts ""
220
- else
221
- if cur_hour.text.to_i < hour
222
- begin
223
- increase_hour_by_one
224
- end while cur_hour.text.to_i != hour
225
- else
226
- begin
227
- decrease_hour_by_one
228
- end while cur_hour.text.to_i != hour
229
- end
230
- end
231
- end
232
-
233
- def set_min(min)
234
- #puts "in set_min"
235
- min = min.to_i
236
- #puts min
237
- cur_min = $driver.find_elements(:xpath, "//android.widget.EditText[@index=1]")
238
- cur_min = cur_min[1]
239
- if cur_min.text.to_i == min
240
- puts ""
241
- else
242
- if cur_min.text.to_i < min
243
- begin
244
- increase_min_by_one
245
- end while cur_min.text.to_i != min
246
- else
247
- begin
248
- decrease_min_by_one
249
- end while cur_min.text.to_i != min
250
- end
251
- end
252
- end
253
-
254
- def increase_date_by_one
255
- if $device_name != 'GOOGLE NEXUS 5'
256
- sleep 2
257
- ele_day = $driver.find_elements(:xpath, "//android.widget.Button[@index=2]")
258
- ele_day = ele_day[0]
259
-
260
- if ele_day.text == "01"
261
- ele_day.click
262
- ele_month = $driver.find_elements(:xpath, "//android.widget.Button[@index=2]")
263
- ele_month = ele_month[1]
264
- ele_month.click
265
- else
266
- ele_day.click
267
- end
268
- else
269
- ele_day = $driver.find_elements(:xpath, "//android.widget.Button[@index=2]")
270
- ele_day = ele_day[1]
271
- if ele_day.text == "01"
272
- ele_day.click
273
- ele_month = $driver.find_elements(:xpath, "//android.widget.Button[@index=2]")
274
- ele_month = ele_month[0]
275
- ele_month.click
276
- else
277
- ele_day.click
278
- end
279
- end
280
- end
281
-
282
- def decrease_date_by_one
283
- if $device_name != 'GOOGLE NEXUS 5'
284
- cur_date = $driver.find_elements(:xpath, "//android.widget.EditText[@index=1]")
285
- cur_date = cur_date[0]
286
- cur_date = cur_date.text
287
- if cur_date == "01"
288
- cur_month = $driver.find_elements(:xpath, "//android.widget.Button[@index=0]")
289
- cur_month = cur_month[1]
290
- cur_month.click
291
- dec_date = $driver.find_elements(:xpath, "//android.widget.Button[@index=0]")
292
- dec_date = dec_date[0]
293
- dec_date.click
294
- else
295
- dec_date = $driver.find_elements(:xpath, "//android.widget.Button[@index=0]")
296
- dec_date = dec_date[0]
297
- dec_date.click
298
- end
299
- else
300
- dec_date = $driver.find_elements(:xpath, "//android.widget.Button[@index=0]")
301
- dec_date = dec_date[1]
302
- cur_date = $driver.find_elements(:xpath, "//android.widget.EditText[@index=1]")
303
- cur_date = cur_date[1]
304
- cur_date = cur_date.text
305
- if cur_date == "01"
306
- cur_month = $driver.find_elements(:xpath, "//android.widget.Button[@index=0]")
307
- cur_month = cur_month[0]
308
- cur_month.click
309
- dec_date = $driver.find_elements(:xpath, "//android.widget.Button[@index=0]")
310
- dec_date = dec_date[1]
311
- dec_date.click
312
- else
313
- dec_date = $driver.find_elements(:xpath, "//android.widget.Button[@index=0]")
314
- dec_date = dec_date[1]
315
- dec_date.click
316
- end
317
- end
318
- end
319
-
320
- def increase_month_by_one
321
- if $device_name != 'GOOGLE NEXUS 5'
322
- sleep 2
323
- ele_month = $driver.find_elements(:xpath, "//android.widget.Button[@index=2]")
324
- ele_month = ele_month[1]
325
- ele_month.click
326
- else
327
- ele_month = $driver.find_elements(:xpath, "//android.widget.Button[@index=2]")
328
- ele_month = ele_month[0]
329
- ele_month.click
330
- end
331
- end
332
-
333
- def increase_year_by_one
334
- ele_year = $driver.find_elements(:xpath, "//android.widget.Button[@index=2]")
335
- ele_year = ele_year[2]
336
- ele_year.click
337
- end
338
-
339
- def decrease_year_by_one
340
- ele_year = $driver.find_elements(:xpath, "//android.widget.Button[@index=0]")
341
- ele_year = ele_year[2]
342
- ele_year.click
343
- end
344
-
345
- def set_year(year)
346
- year = year.to_i
347
- ele_year = $driver.find_elements(:xpath, "//android.widget.EditText[@index=1]")
348
- ele_year = ele_year[2]
349
- #puts ele_year
350
- if ele_year.text.to_i == year
351
- #puts "equal"
352
- step %[I click on element having id "android:id/button1"]
353
- else
354
- if ele_year.text.to_i < year
355
- begin
356
- increase_year_by_one
357
- end while ele_year.text.to_i != year
358
- step %[I click on element having id "android:id/button1"]
359
- else
360
- begin
361
- decrease_year_by_one
362
- end while ele_year.text.to_i != year
363
- step %[I click on element having id "android:id/button1"]
364
- end
365
- end
366
- end
367
-
368
- def increase_hour_by_one
369
- ele_hour = $driver.find_elements(:xpath, "//android.widget.Button[@index=2]")
370
- ele_hour = ele_hour[0]
371
- ele_hour.click
372
- end
373
-
374
- def decrease_hour_by_one
375
- ele_hour = $driver.find_elements(:xpath, "//android.widget.Button[@index=0]")
376
- ele_hour = ele_hour[0]
377
- ele_hour.click
378
- end
379
-
380
- def increase_min_by_one
381
- ele_min = $driver.find_elements(:xpath, "//android.widget.Button[@index=2]")
382
- ele_min = ele_min[1]
383
- ele_min.click
384
- end
385
-
386
- def decrease_min_by_one
387
- ele_min = $driver.find_elements(:xpath, "//android.widget.Button[@index=0]")
388
- ele_min = ele_min[1]
389
- ele_min.click
390
- end
391
-
392
- def set_am_pm(am_pm)
393
- #puts "In AM+PM"
394
- if am_pm == 'AM'
395
- begin
396
- $driver.find_element(:xpath, "//android.widget.EditText[@text='AM']").displayed?
397
- step %[I click on element having id "android:id/button1"]
398
- rescue
399
- $driver.find_element(:xpath, "//android.widget.Button[@index=0]").click
400
- step %[I click on element having id "android:id/button1"]
401
- end
402
- else
403
- begin
404
- $driver.find_element(:xpath, "//android.widget.EditText[@text='PM']").displayed?
405
- step %[I click on element having id "android:id/button1"]
406
- rescue
407
- $driver.find_element(:xpath, "//android.widget.Button[@index=1]").click
408
- step %[I click on element having id "android:id/button1"]
409
- end
410
- end
411
- end
412
-
413
-