selenium-cucumber 2.1.3 → 2.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.
- checksums.yaml +4 -4
- data/doc/canned_steps.md +13 -8
- data/example/android/android_app/HinduCalendar.zip +0 -0
- data/example/android/android_app/HinduCalendar/HinduCalendar.apk +0 -0
- data/example/android/android_app/HinduCalendar/README.md +19 -0
- data/example/android/android_app/HinduCalendar/Results.html +472 -0
- data/example/android/android_app/HinduCalendar/features/01_HC_homepage_menu_validation.feature +36 -0
- data/example/android/android_app/HinduCalendar/features/02_HC_homepage_menu_navigation.feature +71 -0
- data/example/android/android_app/HinduCalendar/features/03_HC_Create_Save_View_Delete_Kundali.feature +63 -0
- data/example/android/android_app/HinduCalendar/features/actual_images/test.png +0 -0
- data/example/android/android_app/HinduCalendar/features/expected_images/test.png +0 -0
- data/example/android/android_app/HinduCalendar/features/image_difference/test.png +0 -0
- data/example/android/android_app/HinduCalendar/features/my_first.feature +1 -0
- data/example/android/android_app/HinduCalendar/features/screenshots/test.png +0 -0
- data/example/android/android_app/HinduCalendar/features/step_definitions/01_HC_homepage_menu_validation.rb +81 -0
- data/example/android/android_app/HinduCalendar/features/step_definitions/02_HC_homepage_menu_navigation.rb +132 -0
- data/example/android/android_app/HinduCalendar/features/step_definitions/03_HC_Create_Save_View_Delete_Kundali.rb +413 -0
- data/example/android/android_app/HinduCalendar/features/step_definitions/custom_steps.rb +5 -0
- data/example/android/android_app/HinduCalendar/features/support/env.rb +51 -0
- data/example/android/android_app/HinduCalendar/features/support/hooks.rb +38 -0
- data/example/android/android_app/android_app_calculator.zip +0 -0
- data/example/android/android_app/android_app_calculator/AndroidCalculator.apk +0 -0
- data/example/android/android_app/android_app_calculator/features/actual_images/test.png +0 -0
- data/example/android/android_app/android_app_calculator/features/calculator.feature +36 -0
- data/example/android/android_app/android_app_calculator/features/expected_images/test.png +0 -0
- data/example/android/android_app/android_app_calculator/features/image_difference/test.png +0 -0
- data/example/android/android_app/android_app_calculator/features/my_first.feature +13 -0
- data/example/android/android_app/android_app_calculator/features/screenshots/test.png +0 -0
- data/example/android/android_app/android_app_calculator/features/step_definitions/custom_steps.rb +5 -0
- data/example/android/android_app/android_app_calculator/features/support/env.rb +51 -0
- data/example/android/android_app/android_app_calculator/features/support/hooks.rb +38 -0
- data/example/android/android_web/android_web_gmail_login.zip +0 -0
- data/example/android/android_web/android_web_gmail_login/features/actual_images/test.png +0 -0
- data/example/android/android_web/android_web_gmail_login/features/expected_images/test.png +0 -0
- data/example/android/android_web/android_web_gmail_login/features/gmail_login.feature +12 -0
- data/example/android/android_web/android_web_gmail_login/features/image_difference/test.png +0 -0
- data/example/android/android_web/android_web_gmail_login/features/my_first.feature +1 -0
- data/example/android/android_web/android_web_gmail_login/features/screenshots/test.png +0 -0
- data/example/android/android_web/android_web_gmail_login/features/step_definitions/custom_steps.rb +5 -0
- data/example/android/android_web/android_web_gmail_login/features/support/env.rb +51 -0
- data/example/android/android_web/android_web_gmail_login/features/support/hooks.rb +38 -0
- data/example/desktop web/desktop_web_gmail_login.zip +0 -0
- data/example/desktop web/desktop_web_gmail_login/features/actual_images/test.png +0 -0
- data/example/desktop web/desktop_web_gmail_login/features/expected_images/test.png +0 -0
- data/example/desktop web/desktop_web_gmail_login/features/gmail_login.feature +10 -0
- data/example/desktop web/desktop_web_gmail_login/features/gmail_multi_login.feature +22 -0
- data/example/desktop web/desktop_web_gmail_login/features/image_difference/test.png +0 -0
- data/example/desktop web/desktop_web_gmail_login/features/my_first.feature +1 -0
- 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
- data/example/desktop web/desktop_web_gmail_login/features/screenshots/test.png +0 -0
- data/example/desktop web/desktop_web_gmail_login/features/step_definitions/custom_steps.rb +5 -0
- data/example/desktop web/desktop_web_gmail_login/features/support/env.rb +51 -0
- data/example/desktop web/desktop_web_gmail_login/features/support/hooks.rb +38 -0
- data/example/desktop web/desktop_web_gmail_login/result.html +478 -0
- data/lib/selenium-cucumber/methods/assertion_methods.rb +15 -15
- data/lib/selenium-cucumber/methods/configuration_methods.rb +1 -1
- data/lib/selenium-cucumber/version.rb +1 -1
- metadata +71 -43
data/example/android/android_app/HinduCalendar/features/01_HC_homepage_menu_validation.feature
ADDED
@@ -0,0 +1,36 @@
|
|
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
|
+
|
data/example/android/android_app/HinduCalendar/features/02_HC_homepage_menu_navigation.feature
ADDED
@@ -0,0 +1,71 @@
|
|
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
|
@@ -0,0 +1,63 @@
|
|
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
|
@@ -0,0 +1 @@
|
|
1
|
+
|
@@ -0,0 +1,81 @@
|
|
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
|
@@ -0,0 +1,132 @@
|
|
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
|
@@ -0,0 +1,413 @@
|
|
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
|
+
|