acceptance_test 1.4.7 → 1.4.8
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 +8 -8
- data/.idea/acceptance_test.iml +121 -44
- data/.idea/runConfigurations/wikipedia_search__acceptance_test.xml +43 -0
- data/.rspec +1 -0
- data/CHANGES +5 -1
- data/Gemfile +1 -0
- data/Gemfile.lock +4 -0
- data/features/wikipedia/step_definitions/steps.rb +12 -20
- data/features/wikipedia/wikipedia_search.feature +3 -3
- data/features/wikipedia/{wikipedia_from_csv.feature → wikipedia_search_from_csv.feature} +3 -3
- data/lib/acceptance_test/acceptance_test.rb +19 -3
- data/lib/acceptance_test/gherkin_helper.rb +61 -0
- data/lib/acceptance_test/version.rb +1 -1
- data/{features/wikipedia/support → spec/features}/data.csv +0 -0
- data/spec/features/steps/wikipedia_steps.rb +50 -0
- data/spec/features/wikipedia_search.feature +28 -0
- data/spec/features/wikipedia_search_from_csv.feature +16 -0
- data/spec/turnip_helper.rb +12 -0
- data/spec/wikipedia_search_with_steps.rb +2 -5
- metadata +17 -7
- data/lib/acceptance_test/cucumber_helper.rb +0 -44
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
OTVlMzRiMGIyNWJmNWRjNTIyMjFlZWNjNmFlMmE4Yjg0MmYwN2MzYQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
Nzg3ODQ5MmMwZDQwODZiNzYyYWM0MzA5ZGY5NjlkNWJlOTk0N2M5Mg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MzFjN2ZiOTg4ZGZmM2JmNTI0MDgyMGNlMTVmMTU5ZDc4OTNiNzM0NjUzY2Zi
|
10
|
+
NGRlZTY2MzdjN2M5NDFjYmE5Y2ViNWQ3ZmM2NjhlMmNiYWIwMDg2MmVlOTUy
|
11
|
+
NTA3OWM5M2ZlN2IzNjViMWM3YmFkNjJhNTAxMWVkYzBmMzc2ZjQ=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZTVhODQyYzA1MTkxOGNkYWMyM2U5MmU2ODg1NDc4MDM3NzNmYzE2MjQwYTll
|
14
|
+
NmViOWE3M2FkYzQzM2I4MTUxODIxNTNmMjJiYzY5YTVjNDM4ZGE4MGEyYjRh
|
15
|
+
MDZjM2Q2MGM1ZmYzZmEwZjU2YTU1MDY2MTgyZWZlYWIxNzM3YzU=
|
data/.idea/acceptance_test.iml
CHANGED
@@ -10,18 +10,57 @@
|
|
10
10
|
</facet>
|
11
11
|
</component>
|
12
12
|
<component name="ModuleRunConfigurationManager">
|
13
|
-
<configuration default="false" name="
|
13
|
+
<configuration default="false" name="wikipedia_search: acceptance_test" type="CucumberRunConfigurationType" factoryName="Cucumber">
|
14
|
+
<predefined_log_file id="RUBY_CUCUMBER" enabled="true" />
|
15
|
+
<module name="acceptance_test" />
|
16
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
17
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$/spec" />
|
18
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
19
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
20
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
21
|
+
<envs>
|
22
|
+
<env name="JRUBY_OPTS" value="-X+O" />
|
23
|
+
</envs>
|
24
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
|
25
|
+
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
26
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
|
27
|
+
<COVERAGE_PATTERN ENABLED="true">
|
28
|
+
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
29
|
+
</COVERAGE_PATTERN>
|
30
|
+
</EXTENSION>
|
31
|
+
<EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
|
32
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
|
33
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
34
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
35
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/spec/features/wikipedia_search.feature" />
|
36
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TAGS_FILTER" VALUE="" />
|
37
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_NAME_FILTER" VALUE="" />
|
38
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_ARGS" VALUE="--color -r features" />
|
39
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
|
40
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
|
41
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="VERBOSE_OPTION" VALUE="false" />
|
42
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
|
43
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
|
44
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
|
45
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_RUNNER_PATH" VALUE="" />
|
46
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_RUNNER" VALUE="false" />
|
47
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SETTINGS_VERSION" VALUE="2" />
|
48
|
+
<RunnerSettings RunnerId="RubyDebugRunner" />
|
49
|
+
<RunnerSettings RunnerId="RubyRunner" />
|
50
|
+
<ConfigurationWrapper RunnerId="RubyDebugRunner" />
|
51
|
+
<ConfigurationWrapper RunnerId="RubyRunner" />
|
52
|
+
<method />
|
53
|
+
</configuration>
|
54
|
+
<configuration default="false" name="turnip" type="RSpecRunConfigurationType" factoryName="RSpec">
|
14
55
|
<predefined_log_file id="RUBY_RSPEC" enabled="true" />
|
15
56
|
<module name="acceptance_test" />
|
16
57
|
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
17
|
-
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="
|
58
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
|
18
59
|
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
19
60
|
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
20
61
|
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
21
|
-
<envs
|
22
|
-
|
23
|
-
</envs>
|
24
|
-
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
|
62
|
+
<envs />
|
63
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
|
25
64
|
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
26
65
|
<EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
|
27
66
|
<COVERAGE_PATTERN ENABLED="true">
|
@@ -30,7 +69,7 @@
|
|
30
69
|
</EXTENSION>
|
31
70
|
<EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
|
32
71
|
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
33
|
-
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/spec/
|
72
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/spec/features/wikipedia_search.feature" />
|
34
73
|
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
|
35
74
|
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*_spec.rb" />
|
36
75
|
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
|
@@ -42,22 +81,22 @@
|
|
42
81
|
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
|
43
82
|
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
|
44
83
|
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
|
84
|
+
<RunnerSettings RunnerId="RubyDebugRunner" />
|
45
85
|
<RunnerSettings RunnerId="RubyRunner" />
|
86
|
+
<ConfigurationWrapper RunnerId="RubyDebugRunner" />
|
46
87
|
<ConfigurationWrapper RunnerId="RubyRunner" />
|
47
88
|
<method />
|
48
89
|
</configuration>
|
49
|
-
<configuration default="false" name="
|
50
|
-
<predefined_log_file id="
|
90
|
+
<configuration default="false" name="turnip2" type="RSpecRunConfigurationType" factoryName="RSpec">
|
91
|
+
<predefined_log_file id="RUBY_RSPEC" enabled="true" />
|
51
92
|
<module name="acceptance_test" />
|
52
|
-
<
|
53
|
-
<
|
54
|
-
<
|
55
|
-
<
|
56
|
-
<
|
57
|
-
<envs
|
58
|
-
|
59
|
-
</envs>
|
60
|
-
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
|
93
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
94
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
|
95
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
96
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
97
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
98
|
+
<envs />
|
99
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
|
61
100
|
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
62
101
|
<EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
|
63
102
|
<COVERAGE_PATTERN ENABLED="true">
|
@@ -65,29 +104,48 @@
|
|
65
104
|
</COVERAGE_PATTERN>
|
66
105
|
</EXTENSION>
|
67
106
|
<EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
|
68
|
-
<
|
69
|
-
<
|
70
|
-
<
|
71
|
-
<
|
72
|
-
<
|
73
|
-
<
|
74
|
-
<
|
75
|
-
<
|
76
|
-
<
|
77
|
-
<
|
78
|
-
<
|
79
|
-
<
|
80
|
-
<
|
81
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_RUNNER_PATH" VALUE="" />
|
82
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_RUNNER" VALUE="false" />
|
83
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SETTINGS_VERSION" VALUE="2" />
|
107
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
108
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/spec/features/wikipedia_search_from_csv.feature" />
|
109
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
|
110
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*_spec.rb" />
|
111
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
|
112
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
113
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
|
114
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
|
115
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
|
116
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
|
117
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
|
118
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
|
119
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
|
84
120
|
<RunnerSettings RunnerId="RubyDebugRunner" />
|
85
121
|
<RunnerSettings RunnerId="RubyRunner" />
|
86
122
|
<ConfigurationWrapper RunnerId="RubyDebugRunner" />
|
87
123
|
<ConfigurationWrapper RunnerId="RubyRunner" />
|
88
124
|
<method />
|
89
125
|
</configuration>
|
90
|
-
<configuration default="false" name="
|
126
|
+
<configuration default="false" name="wikipedia_search_with_steps" type="RubyRunConfigurationType" factoryName="Ruby" temporary="true">
|
127
|
+
<module name="acceptance_test" />
|
128
|
+
<RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
129
|
+
<RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="$MODULE_DIR$/spec" />
|
130
|
+
<RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
|
131
|
+
<RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
|
132
|
+
<RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
|
133
|
+
<envs />
|
134
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
|
135
|
+
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
136
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
|
137
|
+
<COVERAGE_PATTERN ENABLED="true">
|
138
|
+
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
139
|
+
</COVERAGE_PATTERN>
|
140
|
+
</EXTENSION>
|
141
|
+
<EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
|
142
|
+
<RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="$MODULE_DIR$/spec/wikipedia_search_with_steps.rb" />
|
143
|
+
<RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="" />
|
144
|
+
<RunnerSettings RunnerId="RubyRunner" />
|
145
|
+
<ConfigurationWrapper RunnerId="RubyRunner" />
|
146
|
+
<method />
|
147
|
+
</configuration>
|
148
|
+
<configuration default="false" name="wikipedia_search: acceptance_test (1)" type="CucumberRunConfigurationType" factoryName="Cucumber" temporary="true">
|
91
149
|
<predefined_log_file id="RUBY_CUCUMBER" enabled="true" />
|
92
150
|
<module name="acceptance_test" />
|
93
151
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
@@ -109,7 +167,7 @@
|
|
109
167
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*.feature" />
|
110
168
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
111
169
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
112
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/features/wikipedia/
|
170
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/features/wikipedia/wikipedia_search.feature" />
|
113
171
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TAGS_FILTER" VALUE="" />
|
114
172
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_NAME_FILTER" VALUE="" />
|
115
173
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_ARGS" VALUE="--color -r features" />
|
@@ -122,13 +180,11 @@
|
|
122
180
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_RUNNER_PATH" VALUE="" />
|
123
181
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_RUNNER" VALUE="false" />
|
124
182
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SETTINGS_VERSION" VALUE="2" />
|
125
|
-
<RunnerSettings RunnerId="RubyDebugRunner" />
|
126
183
|
<RunnerSettings RunnerId="RubyRunner" />
|
127
|
-
<ConfigurationWrapper RunnerId="RubyDebugRunner" />
|
128
184
|
<ConfigurationWrapper RunnerId="RubyRunner" />
|
129
185
|
<method />
|
130
186
|
</configuration>
|
131
|
-
<configuration default="false" name="
|
187
|
+
<configuration default="false" name="wikipedia_search_from_csv: acceptance_test (1)" type="CucumberRunConfigurationType" factoryName="Cucumber" temporary="true">
|
132
188
|
<predefined_log_file id="RUBY_CUCUMBER" enabled="true" />
|
133
189
|
<module name="acceptance_test" />
|
134
190
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
@@ -150,9 +206,9 @@
|
|
150
206
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*.feature" />
|
151
207
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
152
208
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
153
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/features/wikipedia/
|
209
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/features/wikipedia/wikipedia_search_from_csv.feature" />
|
154
210
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TAGS_FILTER" VALUE="" />
|
155
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_NAME_FILTER" VALUE="
|
211
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_NAME_FILTER" VALUE="" />
|
156
212
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_ARGS" VALUE="--color -r features" />
|
157
213
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
|
158
214
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
|
@@ -163,9 +219,7 @@
|
|
163
219
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_RUNNER_PATH" VALUE="" />
|
164
220
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_RUNNER" VALUE="false" />
|
165
221
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SETTINGS_VERSION" VALUE="2" />
|
166
|
-
<RunnerSettings RunnerId="RubyDebugRunner" />
|
167
222
|
<RunnerSettings RunnerId="RubyRunner" />
|
168
|
-
<ConfigurationWrapper RunnerId="RubyDebugRunner" />
|
169
223
|
<ConfigurationWrapper RunnerId="RubyRunner" />
|
170
224
|
<method />
|
171
225
|
</configuration>
|
@@ -191,7 +245,7 @@
|
|
191
245
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*.feature" />
|
192
246
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
193
247
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
194
|
-
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/features/wikipedia/
|
248
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/features/wikipedia/wikipedia_search_from_csv.feature" />
|
195
249
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TAGS_FILTER" VALUE="" />
|
196
250
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_NAME_FILTER" VALUE="^Searching with selenium for a term with submit$" />
|
197
251
|
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_ARGS" VALUE="--color -r features" />
|
@@ -210,6 +264,28 @@
|
|
210
264
|
<ConfigurationWrapper RunnerId="RubyRunner" />
|
211
265
|
<method />
|
212
266
|
</configuration>
|
267
|
+
<configuration default="false" name="steps" type="RubyRunConfigurationType" factoryName="Ruby" temporary="true">
|
268
|
+
<module name="acceptance_test" />
|
269
|
+
<RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
270
|
+
<RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="$MODULE_DIR$/features/wikipedia/step_definitions" />
|
271
|
+
<RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
|
272
|
+
<RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
|
273
|
+
<RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
|
274
|
+
<envs />
|
275
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
|
276
|
+
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
277
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
|
278
|
+
<COVERAGE_PATTERN ENABLED="true">
|
279
|
+
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
280
|
+
</COVERAGE_PATTERN>
|
281
|
+
</EXTENSION>
|
282
|
+
<EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
|
283
|
+
<RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="$MODULE_DIR$/features/wikipedia/step_definitions/steps.rb" />
|
284
|
+
<RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="" />
|
285
|
+
<RunnerSettings RunnerId="RubyRunner" />
|
286
|
+
<ConfigurationWrapper RunnerId="RubyRunner" />
|
287
|
+
<method />
|
288
|
+
</configuration>
|
213
289
|
</component>
|
214
290
|
<component name="NewModuleRootManager">
|
215
291
|
<content url="file://$MODULE_DIR$" />
|
@@ -256,6 +332,7 @@
|
|
256
332
|
<orderEntry type="library" scope="PROVIDED" name="rubyzip (v1.1.6, RVM: ruby-1.9.3-p547 [acceptance_test]) [gem]" level="application" />
|
257
333
|
<orderEntry type="library" scope="PROVIDED" name="selenium-webdriver (v2.43.0, RVM: ruby-1.9.3-p547 [acceptance_test]) [gem]" level="application" />
|
258
334
|
<orderEntry type="library" scope="PROVIDED" name="thread_safe (v0.3.4, RVM: ruby-1.9.3-p547 [acceptance_test]) [gem]" level="application" />
|
335
|
+
<orderEntry type="library" scope="PROVIDED" name="turnip (v1.2.4, RVM: ruby-1.9.3-p547 [acceptance_test]) [gem]" level="application" />
|
259
336
|
<orderEntry type="library" scope="PROVIDED" name="tzinfo (v1.2.2, RVM: ruby-1.9.3-p547 [acceptance_test]) [gem]" level="application" />
|
260
337
|
<orderEntry type="library" scope="PROVIDED" name="websocket (v1.2.1, RVM: ruby-1.9.3-p547 [acceptance_test]) [gem]" level="application" />
|
261
338
|
<orderEntry type="library" scope="PROVIDED" name="websocket-driver (v0.3.4, RVM: ruby-1.9.3-p547 [acceptance_test]) [gem]" level="application" />
|
@@ -0,0 +1,43 @@
|
|
1
|
+
<component name="ProjectRunConfigurationManager">
|
2
|
+
<configuration default="false" name="wikipedia_search: acceptance_test" type="CucumberRunConfigurationType" factoryName="Cucumber">
|
3
|
+
<predefined_log_file id="RUBY_CUCUMBER" enabled="true" />
|
4
|
+
<module name="acceptance_test" />
|
5
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
6
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$/spec" />
|
7
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
8
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
9
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
10
|
+
<envs>
|
11
|
+
<env name="JRUBY_OPTS" value="-X+O" />
|
12
|
+
</envs>
|
13
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
|
14
|
+
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
15
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
|
16
|
+
<COVERAGE_PATTERN ENABLED="true">
|
17
|
+
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
18
|
+
</COVERAGE_PATTERN>
|
19
|
+
</EXTENSION>
|
20
|
+
<EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
|
21
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
|
22
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
23
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
24
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/spec/features/wikipedia_search.feature" />
|
25
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TAGS_FILTER" VALUE="" />
|
26
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_NAME_FILTER" VALUE="" />
|
27
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_ARGS" VALUE="--color -r features" />
|
28
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
|
29
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
|
30
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="VERBOSE_OPTION" VALUE="false" />
|
31
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
|
32
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
|
33
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
|
34
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_RUNNER_PATH" VALUE="" />
|
35
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_RUNNER" VALUE="false" />
|
36
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SETTINGS_VERSION" VALUE="2" />
|
37
|
+
<RunnerSettings RunnerId="RubyDebugRunner" />
|
38
|
+
<RunnerSettings RunnerId="RubyRunner" />
|
39
|
+
<ConfigurationWrapper RunnerId="RubyDebugRunner" />
|
40
|
+
<ConfigurationWrapper RunnerId="RubyRunner" />
|
41
|
+
<method />
|
42
|
+
</configuration>
|
43
|
+
</component>
|
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
-r turnip/rspec
|
data/CHANGES
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -86,6 +86,9 @@ GEM
|
|
86
86
|
rubyzip (~> 1.0)
|
87
87
|
websocket (~> 1.0)
|
88
88
|
thread_safe (0.3.4)
|
89
|
+
turnip (1.2.4)
|
90
|
+
gherkin (>= 2.5)
|
91
|
+
rspec (>= 2.14.0, < 4.0)
|
89
92
|
tzinfo (1.2.2)
|
90
93
|
thread_safe (~> 0.1)
|
91
94
|
websocket (1.2.1)
|
@@ -112,3 +115,4 @@ DEPENDENCIES
|
|
112
115
|
ruby-debug-base19x (= 0.11.30.pre12)
|
113
116
|
ruby-debug-ide (= 0.4.17)
|
114
117
|
selenium-webdriver (~> 2.43.0)
|
118
|
+
turnip (~> 1.2.4)
|
@@ -1,34 +1,26 @@
|
|
1
|
-
require 'acceptance_test'
|
2
|
-
require 'acceptance_test/cucumber_helper.rb'
|
3
|
-
|
4
1
|
require 'csv'
|
2
|
+
require 'yaml'
|
5
3
|
|
6
|
-
acceptance_test
|
7
|
-
|
8
|
-
cucumber_helper = CucumberHelper.instance
|
4
|
+
require 'acceptance_test'
|
9
5
|
|
10
|
-
|
11
|
-
source_path = cucumber_helper.source_path(scenario)
|
6
|
+
require 'acceptance_test/gherkin_helper'
|
12
7
|
|
13
|
-
|
14
|
-
|
8
|
+
data_reader = lambda {|source_path| CSV.read(File.expand_path(source_path)) }
|
9
|
+
GherkinHelper.instance.enable_external_source data_reader
|
15
10
|
|
16
|
-
|
11
|
+
acceptance_test = nil
|
17
12
|
|
13
|
+
Before do |scenario|
|
18
14
|
config_name = File.expand_path("spec/acceptance_config.yml")
|
19
15
|
config = HashWithIndifferentAccess.new(YAML.load_file(config_name))
|
20
16
|
|
21
|
-
AcceptanceTest.new config
|
22
|
-
end
|
17
|
+
acceptance_test = AcceptanceTest.new config
|
23
18
|
|
24
|
-
|
25
|
-
acceptance_test = create_acceptance_test(scenario, cucumber_helper)
|
26
|
-
|
27
|
-
acceptance_test.before cucumber_helper.metadata_from_scenario(scenario)
|
19
|
+
acceptance_test.before acceptance_test.metadata_from_scenario(scenario)
|
28
20
|
end
|
29
21
|
|
30
22
|
After do |scenario|
|
31
|
-
acceptance_test.after
|
23
|
+
acceptance_test.after acceptance_test.metadata_from_scenario(scenario)
|
32
24
|
|
33
25
|
reset_session!
|
34
26
|
end
|
@@ -55,7 +47,7 @@ Then /^I should see css "([^"]*)"$/ do |css|
|
|
55
47
|
expect(page).to have_css(css)
|
56
48
|
end
|
57
49
|
|
58
|
-
When(/^click submit button$/) do
|
50
|
+
When(/^I click submit button$/) do
|
59
51
|
find(".formBtn", match: :first).click
|
60
52
|
end
|
61
53
|
|
@@ -65,4 +57,4 @@ end
|
|
65
57
|
|
66
58
|
Then(/^I should see keyword results: (.*)$/) do |keyword|
|
67
59
|
expect(page).to have_content keyword
|
68
|
-
end
|
60
|
+
end
|
@@ -8,7 +8,7 @@ Feature: Using Wikipedia
|
|
8
8
|
|
9
9
|
Given I am on wikipedia.com
|
10
10
|
When I enter "Capybara"
|
11
|
-
And click submit button
|
11
|
+
And I click submit button
|
12
12
|
Then I should see results: "Capybara"
|
13
13
|
|
14
14
|
@webkit
|
@@ -16,7 +16,7 @@ Feature: Using Wikipedia
|
|
16
16
|
|
17
17
|
Given I am on wikipedia.com
|
18
18
|
When I enter "Capybara"
|
19
|
-
And click submit button
|
19
|
+
And I click submit button
|
20
20
|
Then I should see results: "Capybara"
|
21
21
|
|
22
22
|
@poltergeist
|
@@ -24,5 +24,5 @@ Feature: Using Wikipedia
|
|
24
24
|
|
25
25
|
Given I am on wikipedia.com
|
26
26
|
When I enter "Capybara"
|
27
|
-
And click submit button
|
27
|
+
And I click submit button
|
28
28
|
Then I should see results: "Capybara"
|
@@ -8,9 +8,9 @@ Feature: Using Wikipedia
|
|
8
8
|
|
9
9
|
Given I am on wikipedia.com
|
10
10
|
When I enter word <keyword>
|
11
|
-
And click submit button
|
11
|
+
And I click submit button
|
12
12
|
Then I should see keyword results: <keyword>
|
13
13
|
|
14
14
|
Examples:
|
15
|
-
|
|
16
|
-
| features/
|
15
|
+
| keyword |
|
16
|
+
| file:spec/features/data.csv |
|
@@ -88,11 +88,11 @@ class AcceptanceTest
|
|
88
88
|
@acceptance_test = acceptance_test
|
89
89
|
end
|
90
90
|
|
91
|
-
|
91
|
+
around do |example|
|
92
92
|
acceptance_test.before example.metadata
|
93
|
-
end
|
94
93
|
|
95
|
-
|
94
|
+
example.run
|
95
|
+
|
96
96
|
acceptance_test.after example.metadata, example.exception, page
|
97
97
|
|
98
98
|
self.reset_session!
|
@@ -106,6 +106,22 @@ class AcceptanceTest
|
|
106
106
|
end
|
107
107
|
end
|
108
108
|
|
109
|
+
def metadata_from_scenario scenario
|
110
|
+
tags = scenario.source_tag_names.collect { |a| a.gsub("@", '') }
|
111
|
+
|
112
|
+
metadata = {}
|
113
|
+
|
114
|
+
if tags.size > 0
|
115
|
+
tag = tags.first.to_sym
|
116
|
+
|
117
|
+
if AcceptanceTest.supported_drivers.include? tag
|
118
|
+
metadata[:driver] = tag
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
metadata
|
123
|
+
end
|
124
|
+
|
109
125
|
def driver metadata
|
110
126
|
driver = ENV['DRIVER'].nil? ? nil : ENV['DRIVER'].to_sym
|
111
127
|
|
@@ -0,0 +1,61 @@
|
|
1
|
+
require 'singleton'
|
2
|
+
|
3
|
+
require 'gherkin/lexer/i18n_lexer'
|
4
|
+
|
5
|
+
class GherkinHelper
|
6
|
+
include Singleton
|
7
|
+
|
8
|
+
def enable_external_source data_reader
|
9
|
+
lexer = Gherkin::Lexer::I18nLexer
|
10
|
+
|
11
|
+
lexer.class_eval do
|
12
|
+
@data_reader = data_reader # class instance variable
|
13
|
+
|
14
|
+
def self.data_reader # access to class instance variable
|
15
|
+
@data_reader
|
16
|
+
end
|
17
|
+
|
18
|
+
alias_method :old_scan, :scan
|
19
|
+
|
20
|
+
def scan(source)
|
21
|
+
old_scan self.class.modify_source(source)
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def self.modify_source source
|
27
|
+
if source =~ /file\s?:/
|
28
|
+
new_source = ""
|
29
|
+
|
30
|
+
source.each_line do |line|
|
31
|
+
if line =~ /file\s?:/
|
32
|
+
source_path = line.gsub('file:', '').gsub('|', '').strip
|
33
|
+
|
34
|
+
if source_path
|
35
|
+
values = self.data_reader.call(source_path)
|
36
|
+
|
37
|
+
values.each do |row|
|
38
|
+
new_source += " |"
|
39
|
+
|
40
|
+
row.each do |element|
|
41
|
+
new_source += " #{element} |"
|
42
|
+
end
|
43
|
+
new_source += "\n"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
else
|
47
|
+
new_source += line
|
48
|
+
end
|
49
|
+
|
50
|
+
new_source += "\n"
|
51
|
+
end
|
52
|
+
|
53
|
+
new_source
|
54
|
+
else
|
55
|
+
source
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
File without changes
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'acceptance_test'
|
2
|
+
|
3
|
+
require 'csv'
|
4
|
+
require 'yaml'
|
5
|
+
|
6
|
+
require 'acceptance_test/gherkin_helper'
|
7
|
+
|
8
|
+
data_reader = lambda {|source_path| CSV.read(File.expand_path(source_path)) }
|
9
|
+
|
10
|
+
GherkinHelper.instance.enable_external_source data_reader
|
11
|
+
|
12
|
+
config_name = File.expand_path("spec/acceptance_config.yml")
|
13
|
+
acceptance_config = HashWithIndifferentAccess.new(YAML.load_file(config_name))
|
14
|
+
|
15
|
+
acceptance_test = AcceptanceTest.new acceptance_config
|
16
|
+
|
17
|
+
RSpec.configure do |config|
|
18
|
+
config.around(:each) do |example|
|
19
|
+
acceptance_test.before({})
|
20
|
+
|
21
|
+
example.run
|
22
|
+
|
23
|
+
acceptance_test.after({})
|
24
|
+
|
25
|
+
reset_session!
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
module WikipediaSteps
|
30
|
+
step "I am within wikipedia.com" do
|
31
|
+
# Capybara.app_host = "http://wikipedia.com"
|
32
|
+
# Capybara.default_driver = :selenium
|
33
|
+
end
|
34
|
+
|
35
|
+
step "I am on wikipedia.com" do
|
36
|
+
visit('/')
|
37
|
+
end
|
38
|
+
|
39
|
+
step "I enter word :word" do |word|
|
40
|
+
fill_in "searchInput", :with => word
|
41
|
+
end
|
42
|
+
|
43
|
+
step "I click submit button" do
|
44
|
+
find(".formBtn", match: :first).click
|
45
|
+
end
|
46
|
+
|
47
|
+
step "I should see results: :content" do |text|
|
48
|
+
expect(page).to have_content text
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
Feature: Using Wikipedia
|
2
|
+
|
3
|
+
Background: within wikipedia.com context
|
4
|
+
Given I am within wikipedia.com
|
5
|
+
|
6
|
+
@selenium
|
7
|
+
Scenario: Searching with selenium for a term with submit
|
8
|
+
|
9
|
+
Given I am on wikipedia.com
|
10
|
+
When I enter word "Capybara"
|
11
|
+
And I click submit button
|
12
|
+
Then I should see results: "Capybara"
|
13
|
+
|
14
|
+
@webkit
|
15
|
+
Scenario: Searching with selenium for a term with submit
|
16
|
+
|
17
|
+
Given I am on wikipedia.com
|
18
|
+
When I enter word "Capybara"
|
19
|
+
And I click submit button
|
20
|
+
Then I should see results: "Capybara"
|
21
|
+
|
22
|
+
@poltergeist
|
23
|
+
Scenario: Searching with selenium for a term with submit
|
24
|
+
|
25
|
+
Given I am on wikipedia.com
|
26
|
+
When I enter word "Capybara"
|
27
|
+
And I click submit button
|
28
|
+
Then I should see results: "Capybara"
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Feature: Using Wikipedia
|
2
|
+
|
3
|
+
Background: within wikipedia.com context
|
4
|
+
Given I am within wikipedia.com
|
5
|
+
|
6
|
+
@selenium
|
7
|
+
Scenario Outline: Searching with selenium for a term with submit
|
8
|
+
|
9
|
+
Given I am on wikipedia.com
|
10
|
+
When I enter word <keyword>
|
11
|
+
And I click submit button
|
12
|
+
Then I should see results: <keyword>
|
13
|
+
|
14
|
+
Examples:
|
15
|
+
| keyword |
|
16
|
+
| file:spec/features/data.csv |
|
@@ -1,6 +1,3 @@
|
|
1
|
-
# ENV["RAILS_ENV"] ||= 'test'
|
2
|
-
# puts "Environment: #{ENV["RAILS_ENV"]}"
|
3
|
-
#
|
4
1
|
require 'rspec'
|
5
2
|
require 'rspec/example_steps'
|
6
3
|
require "capybara-webkit"
|
@@ -13,6 +10,7 @@ Capybara.app_host = "http://www.wikipedia.org"
|
|
13
10
|
Capybara.default_driver = :selenium
|
14
11
|
|
15
12
|
RSpec.describe "Searching" do
|
13
|
+
|
16
14
|
Steps "Result found" do
|
17
15
|
Given "I am on wikipedia.com" do
|
18
16
|
visit('/')
|
@@ -22,7 +20,7 @@ RSpec.describe "Searching" do
|
|
22
20
|
fill_in "searchInput", :with => "Capybara"
|
23
21
|
end
|
24
22
|
|
25
|
-
When "click submit button" do
|
23
|
+
When "I click submit button" do
|
26
24
|
find(".formBtn", match: :first).click
|
27
25
|
end
|
28
26
|
|
@@ -30,6 +28,5 @@ RSpec.describe "Searching" do
|
|
30
28
|
expect(page).to have_content "Hydrochoerus hydrochaeris"
|
31
29
|
end
|
32
30
|
end
|
33
|
-
|
34
31
|
end
|
35
32
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acceptance_test
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Shvets
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gemspec_deps_gen
|
@@ -51,8 +51,10 @@ files:
|
|
51
51
|
- .idea/jenkinsSettings.xml
|
52
52
|
- .idea/misc.xml
|
53
53
|
- .idea/modules.xml
|
54
|
+
- .idea/runConfigurations/wikipedia_search__acceptance_test.xml
|
54
55
|
- .idea/scopes/scope_settings.xml
|
55
56
|
- .idea/vcs.xml
|
57
|
+
- .rspec
|
56
58
|
- .ruby-gemset
|
57
59
|
- .ruby-version
|
58
60
|
- CHANGES
|
@@ -64,18 +66,22 @@ files:
|
|
64
66
|
- acceptance_test.gemspec
|
65
67
|
- acceptance_test.gemspec.erb
|
66
68
|
- features/wikipedia/step_definitions/steps.rb
|
67
|
-
- features/wikipedia/support/data.csv
|
68
69
|
- features/wikipedia/support/env.rb
|
69
|
-
- features/wikipedia/wikipedia_from_csv.feature
|
70
70
|
- features/wikipedia/wikipedia_search.feature
|
71
|
+
- features/wikipedia/wikipedia_search_from_csv.feature
|
71
72
|
- lib/acceptance_test.rb
|
72
73
|
- lib/acceptance_test/acceptance_test.rb
|
73
|
-
- lib/acceptance_test/
|
74
|
+
- lib/acceptance_test/gherkin_helper.rb
|
74
75
|
- lib/acceptance_test/page.rb
|
75
76
|
- lib/acceptance_test/page_set.rb
|
76
77
|
- lib/acceptance_test/screenshot_maker.rb
|
77
78
|
- lib/acceptance_test/version.rb
|
78
79
|
- spec/acceptance_config.yml
|
80
|
+
- spec/features/data.csv
|
81
|
+
- spec/features/steps/wikipedia_steps.rb
|
82
|
+
- spec/features/wikipedia_search.feature
|
83
|
+
- spec/features/wikipedia_search_from_csv.feature
|
84
|
+
- spec/turnip_helper.rb
|
79
85
|
- spec/wikipedia_search_spec.rb
|
80
86
|
- spec/wikipedia_search_with_config_spec.rb
|
81
87
|
- spec/wikipedia_search_with_steps.rb
|
@@ -105,11 +111,15 @@ specification_version: 4
|
|
105
111
|
summary: Simplifies congiguration and run of acceptance tests.
|
106
112
|
test_files:
|
107
113
|
- features/wikipedia/step_definitions/steps.rb
|
108
|
-
- features/wikipedia/support/data.csv
|
109
114
|
- features/wikipedia/support/env.rb
|
110
|
-
- features/wikipedia/wikipedia_from_csv.feature
|
111
115
|
- features/wikipedia/wikipedia_search.feature
|
116
|
+
- features/wikipedia/wikipedia_search_from_csv.feature
|
112
117
|
- spec/acceptance_config.yml
|
118
|
+
- spec/features/data.csv
|
119
|
+
- spec/features/steps/wikipedia_steps.rb
|
120
|
+
- spec/features/wikipedia_search.feature
|
121
|
+
- spec/features/wikipedia_search_from_csv.feature
|
122
|
+
- spec/turnip_helper.rb
|
113
123
|
- spec/wikipedia_search_spec.rb
|
114
124
|
- spec/wikipedia_search_with_config_spec.rb
|
115
125
|
- spec/wikipedia_search_with_steps.rb
|
@@ -1,44 +0,0 @@
|
|
1
|
-
require 'singleton'
|
2
|
-
|
3
|
-
require 'cucumber/ast/outline_table'
|
4
|
-
|
5
|
-
class CucumberHelper
|
6
|
-
include Singleton
|
7
|
-
|
8
|
-
def source_type scenario
|
9
|
-
examples(scenario)[0][0][5][0][0]
|
10
|
-
end
|
11
|
-
|
12
|
-
def source_path scenario
|
13
|
-
examples(scenario)[0][0][5][1][0]
|
14
|
-
end
|
15
|
-
|
16
|
-
def set_outline_table scenario, keys, values
|
17
|
-
if scenario.kind_of?(Cucumber::Ast::ScenarioOutline) and source_type(scenario) == 'file'
|
18
|
-
examples(scenario)[0][0][5] = keys + values
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
def metadata_from_scenario scenario
|
23
|
-
tags = scenario.source_tag_names.collect { |a| a.gsub("@", '') }
|
24
|
-
|
25
|
-
metadata = {}
|
26
|
-
|
27
|
-
if tags.size > 0
|
28
|
-
tag = tags.first.to_sym
|
29
|
-
|
30
|
-
if AcceptanceTest.supported_drivers.include? tag
|
31
|
-
metadata[:driver] = tag
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
metadata
|
36
|
-
end
|
37
|
-
|
38
|
-
private
|
39
|
-
|
40
|
-
def examples scenario
|
41
|
-
scenario.instance_variable_get(:@example_sections)
|
42
|
-
end
|
43
|
-
|
44
|
-
end
|