selenium-cucumber 1.1.2 → 2.1.2
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 +17 -0
- data/features-skeleton/support/env.rb +42 -29
- data/lib/selenium-cucumber.rb +0 -1
- data/lib/selenium-cucumber/assertion_steps.rb +6 -2
- data/lib/selenium-cucumber/click_elements_steps.rb +10 -0
- data/lib/selenium-cucumber/methods/assertion_methods.rb +78 -8
- data/lib/selenium-cucumber/methods/click_elements_methods.rb +8 -0
- data/lib/selenium-cucumber/methods/configuration_methods.rb +23 -2
- data/lib/selenium-cucumber/methods/error_handling_methods.rb +87 -0
- data/lib/selenium-cucumber/methods/misc_methods.rb +9 -0
- data/lib/selenium-cucumber/methods/navigate_methods.rb +5 -0
- data/lib/selenium-cucumber/methods/required_files.rb +2 -0
- data/lib/selenium-cucumber/navigation_steps.rb +4 -0
- data/lib/selenium-cucumber/version.rb +1 -1
- metadata +68 -51
- data/example/Gemfile +0 -5
- data/example/Gemfile.lock +0 -36
- data/example/features/actual_images/test.png +0 -0
- data/example/features/assertion_steps_Ex.feature +0 -149
- data/example/features/click_steps_Ex.feature +0 -28
- data/example/features/configuration_step_Ex.feature +0 -8
- data/example/features/expected_images/logo-PNG.png +0 -0
- data/example/features/expected_images/original_image.jpg +0 -0
- data/example/features/image_difference/test.png +0 -0
- data/example/features/input_steps_Ex.feature +0 -87
- data/example/features/javascript_steps_Ex.feature +0 -19
- data/example/features/navigation_steps_Ex.feature +0 -45
- data/example/features/new.feature +0 -17
- data/example/features/progress_step_Ex.feature +0 -18
- data/example/features/screenshot_step_Ex.feature +0 -12
- data/example/features/screenshots/test.png +0 -0
- data/example/features/step_definitions/custom_steps.rb +0 -14
- data/example/features/support/env.rb +0 -37
- data/example/features/support/hooks.rb +0 -34
- data/example/run_features.rb +0 -42
- data/example/test_page.html +0 -224
@@ -23,3 +23,12 @@ end
|
|
23
23
|
def validate_option_by option_by
|
24
24
|
raise "Invalid option by - #{option_by}" unless valid_option_by? option_by
|
25
25
|
end
|
26
|
+
|
27
|
+
# Return android device name and android version using adb command
|
28
|
+
def get_device_info
|
29
|
+
IO.popen('adb shell getprop ro.product.brand') { |f| $device = f.gets.chomp.upcase}
|
30
|
+
$device += ' '
|
31
|
+
IO.popen('adb shell getprop ro.product.model') { |f| $device += f.gets.chomp.upcase}
|
32
|
+
IO.popen('adb shell getprop ro.build.version.release') { |f| $os_version = f.gets.chomp.upcase}
|
33
|
+
return $device, $os_version
|
34
|
+
end
|
@@ -39,6 +39,10 @@ Then(/^I switch to previous window$/) do
|
|
39
39
|
switch_to_old_window
|
40
40
|
end
|
41
41
|
|
42
|
+
Then(/^I close new window$/) do
|
43
|
+
close_new_window
|
44
|
+
end
|
45
|
+
|
42
46
|
# steps to scroll to element
|
43
47
|
Then(/^I scroll to element having (.+) "(.*?)"$/) do |type, access_name|
|
44
48
|
validate_locator type
|
metadata
CHANGED
@@ -1,66 +1,119 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: selenium-cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sameer Sawant
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cucumber
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.3'
|
17
20
|
- - '>='
|
18
21
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
22
|
+
version: 1.3.18
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.3'
|
24
30
|
- - '>='
|
25
31
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
32
|
+
version: 1.3.18
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: selenium-webdriver
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
37
|
+
- - ~>
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: 2.44.0
|
31
40
|
- - '>='
|
32
41
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
42
|
+
version: 2.41.0
|
34
43
|
type: :runtime
|
35
44
|
prerelease: false
|
36
45
|
version_requirements: !ruby/object:Gem::Requirement
|
37
46
|
requirements:
|
47
|
+
- - ~>
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 2.44.0
|
38
50
|
- - '>='
|
39
51
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
52
|
+
version: 2.41.0
|
41
53
|
- !ruby/object:Gem::Dependency
|
42
54
|
name: chunky_png
|
43
55
|
requirement: !ruby/object:Gem::Requirement
|
44
56
|
requirements:
|
57
|
+
- - ~>
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: 1.3.3
|
60
|
+
- - '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 1.3.0
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 1.3.3
|
70
|
+
- - '>='
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 1.3.0
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: appium_lib
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - ~>
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: 4.1.0
|
45
80
|
- - '>='
|
46
81
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
82
|
+
version: 4.0.0
|
48
83
|
type: :runtime
|
49
84
|
prerelease: false
|
50
85
|
version_requirements: !ruby/object:Gem::Requirement
|
51
86
|
requirements:
|
87
|
+
- - ~>
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 4.1.0
|
52
90
|
- - '>='
|
53
91
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
55
|
-
description:
|
56
|
-
|
57
|
-
It enables you to write and execute automated acceptance tests of web apps.
|
92
|
+
version: 4.0.0
|
93
|
+
description: Behavior driven development (BDD) approach to write automation test script
|
94
|
+
to test Web and Android applications.
|
58
95
|
email: sameersawant1992@gmail.com
|
59
96
|
executables:
|
60
97
|
- selenium-cucumber
|
61
98
|
extensions: []
|
62
99
|
extra_rdoc_files: []
|
63
100
|
files:
|
101
|
+
- bin/generate.rb
|
102
|
+
- bin/helper.rb
|
103
|
+
- bin/selenium-cucumber
|
104
|
+
- doc/canned_steps.md
|
105
|
+
- doc/installation.md
|
106
|
+
- doc/selenium-cucumber-API.md
|
107
|
+
- doc/selenium-cucumber-help.md
|
108
|
+
- features-skeleton/actual_images/test.png
|
109
|
+
- features-skeleton/expected_images/test.png
|
110
|
+
- features-skeleton/image_difference/test.png
|
111
|
+
- features-skeleton/my_first.feature
|
112
|
+
- features-skeleton/screenshots/test.png
|
113
|
+
- features-skeleton/step_definitions/custom_steps.rb
|
114
|
+
- features-skeleton/support/env.rb
|
115
|
+
- features-skeleton/support/hooks.rb
|
116
|
+
- lib/selenium-cucumber.rb
|
64
117
|
- lib/selenium-cucumber/assertion_steps.rb
|
65
118
|
- lib/selenium-cucumber/click_elements_steps.rb
|
66
119
|
- lib/selenium-cucumber/configuration_steps.rb
|
@@ -69,6 +122,7 @@ files:
|
|
69
122
|
- lib/selenium-cucumber/methods/assertion_methods.rb
|
70
123
|
- lib/selenium-cucumber/methods/click_elements_methods.rb
|
71
124
|
- lib/selenium-cucumber/methods/configuration_methods.rb
|
125
|
+
- lib/selenium-cucumber/methods/error_handling_methods.rb
|
72
126
|
- lib/selenium-cucumber/methods/input_methods.rb
|
73
127
|
- lib/selenium-cucumber/methods/javascript_handling_methods.rb
|
74
128
|
- lib/selenium-cucumber/methods/misc_methods.rb
|
@@ -80,48 +134,11 @@ files:
|
|
80
134
|
- lib/selenium-cucumber/progress_steps.rb
|
81
135
|
- lib/selenium-cucumber/screenshot_steps.rb
|
82
136
|
- lib/selenium-cucumber/version.rb
|
83
|
-
- lib/selenium-cucumber.rb
|
84
|
-
- bin/generate.rb
|
85
|
-
- bin/helper.rb
|
86
|
-
- bin/selenium-cucumber
|
87
|
-
- doc/canned_steps.md
|
88
|
-
- doc/installation.md
|
89
|
-
- doc/selenium-cucumber-API.md
|
90
|
-
- doc/selenium-cucumber-help.md
|
91
|
-
- features-skeleton/actual_images/test.png
|
92
|
-
- features-skeleton/expected_images/test.png
|
93
|
-
- features-skeleton/image_difference/test.png
|
94
|
-
- features-skeleton/my_first.feature
|
95
|
-
- features-skeleton/screenshots/test.png
|
96
|
-
- features-skeleton/step_definitions/custom_steps.rb
|
97
|
-
- features-skeleton/support/env.rb
|
98
|
-
- features-skeleton/support/hooks.rb
|
99
|
-
- example/features/actual_images/test.png
|
100
|
-
- example/features/assertion_steps_Ex.feature
|
101
|
-
- example/features/click_steps_Ex.feature
|
102
|
-
- example/features/configuration_step_Ex.feature
|
103
|
-
- example/features/expected_images/logo-PNG.png
|
104
|
-
- example/features/expected_images/original_image.jpg
|
105
|
-
- example/features/image_difference/test.png
|
106
|
-
- example/features/input_steps_Ex.feature
|
107
|
-
- example/features/javascript_steps_Ex.feature
|
108
|
-
- example/features/navigation_steps_Ex.feature
|
109
|
-
- example/features/new.feature
|
110
|
-
- example/features/progress_step_Ex.feature
|
111
|
-
- example/features/screenshots/test.png
|
112
|
-
- example/features/screenshot_step_Ex.feature
|
113
|
-
- example/features/step_definitions/custom_steps.rb
|
114
|
-
- example/features/support/env.rb
|
115
|
-
- example/features/support/hooks.rb
|
116
|
-
- example/Gemfile
|
117
|
-
- example/Gemfile.lock
|
118
|
-
- example/run_features.rb
|
119
|
-
- example/test_page.html
|
120
137
|
homepage: http://seleniumcucumber.info/
|
121
138
|
licenses:
|
122
139
|
- MIT
|
123
140
|
metadata: {}
|
124
|
-
post_install_message:
|
141
|
+
post_install_message: Thank you for installing selenium-cucumber gem.
|
125
142
|
rdoc_options: []
|
126
143
|
require_paths:
|
127
144
|
- lib
|
@@ -129,7 +146,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
129
146
|
requirements:
|
130
147
|
- - '>='
|
131
148
|
- !ruby/object:Gem::Version
|
132
|
-
version:
|
149
|
+
version: 1.9.3
|
133
150
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
134
151
|
requirements:
|
135
152
|
- - '>='
|
@@ -137,7 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
137
154
|
version: '0'
|
138
155
|
requirements: []
|
139
156
|
rubyforge_project:
|
140
|
-
rubygems_version: 2.
|
157
|
+
rubygems_version: 2.4.5
|
141
158
|
signing_key:
|
142
159
|
specification_version: 4
|
143
160
|
summary: SELENIUM WEBDRIVER WITH RUBY & CUCUMBER
|
data/example/Gemfile
DELETED
data/example/Gemfile.lock
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: http://rubygems.org/
|
3
|
-
specs:
|
4
|
-
builder (3.2.2)
|
5
|
-
childprocess (0.5.3)
|
6
|
-
ffi (~> 1.0, >= 1.0.11)
|
7
|
-
chunky_png (1.3.1)
|
8
|
-
cucumber (1.3.16)
|
9
|
-
builder (>= 2.1.2)
|
10
|
-
diff-lcs (>= 1.1.3)
|
11
|
-
gherkin (~> 2.12)
|
12
|
-
multi_json (>= 1.7.5, < 2.0)
|
13
|
-
multi_test (>= 0.1.1)
|
14
|
-
diff-lcs (1.2.5)
|
15
|
-
ffi (1.9.3)
|
16
|
-
gherkin (2.12.2)
|
17
|
-
multi_json (~> 1.3)
|
18
|
-
multi_json (1.10.1)
|
19
|
-
multi_test (0.1.1)
|
20
|
-
rubyzip (1.1.6)
|
21
|
-
selenium-cucumber (0.1.1)
|
22
|
-
chunky_png
|
23
|
-
cucumber
|
24
|
-
selenium-webdriver
|
25
|
-
selenium-webdriver (2.42.0)
|
26
|
-
childprocess (>= 0.5.0)
|
27
|
-
multi_json (~> 1.0)
|
28
|
-
rubyzip (~> 1.0)
|
29
|
-
websocket (~> 1.0.4)
|
30
|
-
websocket (1.0.7)
|
31
|
-
|
32
|
-
PLATFORMS
|
33
|
-
ruby
|
34
|
-
|
35
|
-
DEPENDENCIES
|
36
|
-
selenium-cucumber
|
Binary file
|
@@ -1,149 +0,0 @@
|
|
1
|
-
|
2
|
-
Feature: Assertion Steps
|
3
|
-
As a user I should able to verify using assert steps
|
4
|
-
|
5
|
-
Scenario: Open test page
|
6
|
-
Given I open test page
|
7
|
-
|
8
|
-
Scenario: verify page title
|
9
|
-
Then I should see page title as "Test Page for selenium-cucumber"
|
10
|
-
|
11
|
-
|
12
|
-
Scenario: verify element text
|
13
|
-
|
14
|
-
Then I scroll to end of page
|
15
|
-
Then element having id "dbClick" should have text as "Double-click this paragraph to trigger a function."
|
16
|
-
Then element having name "javascript_alert_msg" should have text as "Click the button to display a confirm box."
|
17
|
-
Then element having class "form_name" should have text as "Simple sample form with input elements"
|
18
|
-
Then element having xpath ".//*[@id='frm']/fieldset/p[1]/label" should have text as "Text input (first name)"
|
19
|
-
|
20
|
-
Scenario: verify element should not text
|
21
|
-
|
22
|
-
Then element having id "dbClick" should not have text as "Double-click this"
|
23
|
-
Then element having name "javascript_alert_msg" should not have text as "Click the button"
|
24
|
-
Then element having class "form_name" should not have text as "Simple sample"
|
25
|
-
Then element having xpath ".//*[@id='frm']/fieldset/p[3]/label" should not have text as "xyz"
|
26
|
-
|
27
|
-
Scenario: verify element text - negative test 1
|
28
|
-
|
29
|
-
Then element having id "dbClick" should have text as "Double-click this"
|
30
|
-
|
31
|
-
Scenario: verify element text - negative test 2
|
32
|
-
|
33
|
-
Then element having name "javascript_alert_msg" should not have text as "Click the button to display a confirm box."
|
34
|
-
|
35
|
-
Scenario: Partial text present
|
36
|
-
Then element having id "frm" should have partial text as "last"
|
37
|
-
|
38
|
-
Scenario: Partial text present - negative test
|
39
|
-
Then element having id "frm" should have partial text as "selenium"
|
40
|
-
|
41
|
-
Scenario: Partial text not present
|
42
|
-
Then element having id "frm" should not have partial text as "selenium"
|
43
|
-
|
44
|
-
Scenario: Partial text not present - negative test
|
45
|
-
Then element having id "frm" should not have partial text as "last"
|
46
|
-
|
47
|
-
Scenario: verify element accesibility
|
48
|
-
|
49
|
-
Then element having id "submit" should be enabled
|
50
|
-
Then element having name "btn_reset" should be enabled
|
51
|
-
Then element having class "cls_pwd" should be enabled
|
52
|
-
Then element having xpath ".//*[@id='try_it']" should be enabled
|
53
|
-
|
54
|
-
Then element having id "disabledBt_id" should be disabled
|
55
|
-
Then element having name "disabledBt_name" should be disabled
|
56
|
-
Then element having class "df_class" should be disabled
|
57
|
-
Then element having xpath ".//*[@id='df_id']" should be disabled
|
58
|
-
|
59
|
-
Scenario: verify element accesibility - negative test 1
|
60
|
-
|
61
|
-
Then element having id "submit" should be disabled
|
62
|
-
|
63
|
-
Scenario: verify element accesibility - negative test 2
|
64
|
-
|
65
|
-
Then element having id "disabledBt_id" should be enabled
|
66
|
-
|
67
|
-
Scenario: verify element visibility
|
68
|
-
|
69
|
-
Then element having id "hiddenElement" should not be present
|
70
|
-
Then element having name "he_name" should not be present
|
71
|
-
Then element having class "he_class" should not be present
|
72
|
-
Then element having xpath ".//*[@id='hiddenElement']" should not be present
|
73
|
-
|
74
|
-
And I wait for 10 sec
|
75
|
-
|
76
|
-
Then element having id "hiddenElement" should be present
|
77
|
-
Then element having name "he_name" should be present
|
78
|
-
Then element having class "he_class" should be present
|
79
|
-
Then element having xpath ".//*[@id='hiddenElement']" should be present
|
80
|
-
|
81
|
-
Scenario: verify checkbox checked or not
|
82
|
-
|
83
|
-
Then checkbox having id "chk1" should be checked
|
84
|
-
Then checkbox having name "chk5_name" should be checked
|
85
|
-
Then checkbox having xpath ".//*[@id='chk1']" should be checked
|
86
|
-
Then checkbox having class "chk5_class" should be checked
|
87
|
-
|
88
|
-
Then checkbox having id "chk2" should be unchecked
|
89
|
-
Then checkbox having name "chk3_name" should be unchecked
|
90
|
-
Then checkbox having class "chk4_class" should be unchecked
|
91
|
-
|
92
|
-
Scenario: verify checkbox checked or not - negative test 1
|
93
|
-
|
94
|
-
Then checkbox having class "chk3_class" should be checked
|
95
|
-
|
96
|
-
Scenario: verify checkbox checked or not - negative test 2
|
97
|
-
|
98
|
-
Then checkbox having class "chk5_class" should be unchecked
|
99
|
-
|
100
|
-
Scenario: verify radio button selected or not
|
101
|
-
|
102
|
-
Then radio button having id "rdb1" should be selected
|
103
|
-
Then radio button having id "rdb2" should be unselected
|
104
|
-
|
105
|
-
Scenario: verify radio button selected or not - negative test 1
|
106
|
-
|
107
|
-
Then radio button having id "rdb2" should be selected
|
108
|
-
|
109
|
-
Scenario: verify radio button selected or not - negative test 2
|
110
|
-
|
111
|
-
Then radio button having id "rdb1" should be unselected
|
112
|
-
|
113
|
-
Scenario: verify link present or not
|
114
|
-
|
115
|
-
Then link having text "selenium-cucumber gem" should be present
|
116
|
-
Then link having text "xyz" should not be present
|
117
|
-
|
118
|
-
Scenario: verify pop-up alert text
|
119
|
-
|
120
|
-
When I click on element having id "try_it"
|
121
|
-
Then I should see alert text as "Press a button!"
|
122
|
-
Then I accept alert
|
123
|
-
|
124
|
-
Scenario: verify image by id and id - jpg image
|
125
|
-
Then actual image having id "img1" and expected image having id "img1" should be similar
|
126
|
-
|
127
|
-
Scenario: verify image by id and image_name - jpg image
|
128
|
-
Then actual image having id "img1" and expected image having image_name "original_image.jpg" should be similar
|
129
|
-
|
130
|
-
Scenario: verify image by url and image_name - jpg image
|
131
|
-
Then actual image having url "http://s27.postimg.org/xlqzpviyr/original_image.jpg" and expected image having image_name "original_image.jpg" should be similar
|
132
|
-
|
133
|
-
Scenario: verify image by id and image_name - jpg image - negative test
|
134
|
-
Then actual image having id "img1_incorrect" and expected image having image_name "original_image.jpg" should be similar
|
135
|
-
|
136
|
-
Scenario: verify image by id and id - png image
|
137
|
-
Then actual image having id "img2" and expected image having id "img2" should be similar
|
138
|
-
|
139
|
-
Scenario: verify image by xpath and xpath - png image
|
140
|
-
Then actual image having xpath ".//*[@id='img2']" and expected image having xpath ".//*[@id='img2']" should be similar
|
141
|
-
|
142
|
-
Scenario: verify image by id and image_name - png image
|
143
|
-
Then actual image having id "img2" and expected image having image_name "logo-PNG.png" should be similar
|
144
|
-
|
145
|
-
Scenario: verify image by url and image_name - png image
|
146
|
-
Then actual image having url "http://s26.postimg.org/itpfqlcop/logo1.png" and expected image having image_name "logo-PNG.png" should be similar
|
147
|
-
|
148
|
-
Scenario: verify image by id and image_name - png image - negative test
|
149
|
-
Then actual image having id "img2_incorrect" and expected image having image_name "logo-PNG.png" should be similar
|