hiptest-publisher 2.4.0 → 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +325 -0
- data/LICENSE +1 -2
- data/README.md +41 -23
- data/bin/hiptest-publisher +13 -17
- data/config/locales/en.yml +21 -17
- data/lib/config/cucumber-typescript.conf +41 -41
- data/lib/config/cucumber_legacy-groovy.conf +40 -0
- data/lib/config/cucumber_legacy-java.conf +24 -0
- data/lib/config/{cucumber_expressions-typescript.conf → cucumber_legacy-typescript.conf} +41 -41
- data/lib/hiptest-publisher/cli_options_checker.rb +7 -0
- data/lib/hiptest-publisher/client.rb +15 -4
- data/lib/hiptest-publisher/formatters/console_formatter.rb +1 -0
- data/lib/hiptest-publisher/handlebars_helper.rb +1 -1
- data/lib/hiptest-publisher/options_parser.rb +24 -5
- data/lib/hiptest-publisher/renderer.rb +5 -1
- data/lib/templates/cucumber/groovy/step-definitions/actionword.hbs +1 -1
- data/lib/templates/cucumber/groovy/step-definitions/actionwords.hbs +3 -2
- data/lib/templates/cucumber/groovy/step-definitions/library.hbs +3 -2
- data/lib/templates/cucumber/groovy/step-definitions/libraryactionword.hbs +1 -1
- data/lib/templates/cucumber/java/actionword.hbs +1 -1
- data/lib/templates/cucumber/java/actionwords.hbs +2 -2
- data/lib/templates/cucumber/typescript/actionword.hbs +1 -1
- data/lib/templates/cucumber/typescript/libraryactionword.hbs +1 -1
- data/lib/templates/cucumber_legacy/groovy/step-definitions/actionword.hbs +5 -0
- data/lib/templates/cucumber_legacy/groovy/step-definitions/actionwords.hbs +10 -0
- data/lib/templates/cucumber_legacy/groovy/step-definitions/library.hbs +10 -0
- data/lib/templates/cucumber_legacy/groovy/step-definitions/libraryactionword.hbs +5 -0
- data/lib/templates/cucumber_legacy/java/actionword.hbs +6 -0
- data/lib/templates/cucumber_legacy/java/actionwords.hbs +12 -0
- data/lib/templates/cucumber_legacy/typescript/actionword.hbs +5 -0
- data/lib/templates/{cucumber_expressions → cucumber_legacy}/typescript/libraryactionword.hbs +1 -1
- data/lib/templates/gherkin/scenarios.hbs +1 -1
- metadata +87 -64
- data/lib/templates/cucumber_expressions/typescript/actionword.hbs +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b37b4df1fb05d36b4f1cbd60df3e4b39048da7d66d2dd64bf87879e18accac2a
|
4
|
+
data.tar.gz: ca60c0a8c3a220426c959a253195caf1fbabc2eee06cd2f81ab7f23909c3299d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 31b07871e7e9742d20c4e8ffc5f64a8e9d202fc67edc1cbc6dee058bb3e90a065ff324ea175f879c3c0151eeb47c076617e326967aebb10b19cfd86606792447
|
7
|
+
data.tar.gz: 55c47fb47178d164f32cd0f8d88a1d5f17656cc2aca586662c249d244e43150aeb4ce82fec5de3cafa798e584343c5588eac2f28360bde22dd816e2a50f492e4
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,325 @@
|
|
1
|
+
HipTest Publisher Changelog
|
2
|
+
===========================
|
3
|
+
|
4
|
+
[3.2.0]
|
5
|
+
------------
|
6
|
+
|
7
|
+
- Dropping support for ruby < 2.7
|
8
|
+
- Adding support for ruby 3.0
|
9
|
+
|
10
|
+
[3.1.0]
|
11
|
+
-------
|
12
|
+
|
13
|
+
- Add options related to builds (or execution cycles) in CucumberStudio:
|
14
|
+
- `--build-id`: allows to specify the build in which the results will be pushed
|
15
|
+
- `--build-name`: allows to name the build which will be created to store the results
|
16
|
+
|
17
|
+
[3.0.0]
|
18
|
+
-------
|
19
|
+
|
20
|
+
- Add `--overriden-language-configs` command line option (#205 by tenpaiyomi)
|
21
|
+
- Add support for Cucumber Expression in Java and Groovy (#205 by tenpaiyomi)
|
22
|
+
- Fix possible duplication of actionwords in export (#232 by tenpaiyomi)
|
23
|
+
- Breaking change: Export with cucumber expressions are now the default when specifying `--language=cucumber` for TypeScript, Java, and GroovySet. Use `--language=cucumber_legacy` to keep previous export behavior (#205 by tenpaiyomi) (#205 by tenpaiyomi)
|
24
|
+
- Breaking change: Drop support for ruby 2.3 and ruby 2.4 as they have reached end of life
|
25
|
+
- Rename HipTest as CucumberStudio in user messages
|
26
|
+
- Properly escape new lines in datatables (#109)
|
27
|
+
|
28
|
+
[2.4.0]
|
29
|
+
-------
|
30
|
+
|
31
|
+
- Add support for asynchronous export of projects from Cucumber Studio
|
32
|
+
|
33
|
+
[2.3.1]
|
34
|
+
-------
|
35
|
+
|
36
|
+
- `--indentation` option is now available to customize the indentation of the output
|
37
|
+
|
38
|
+
[2.3.0]
|
39
|
+
-------
|
40
|
+
|
41
|
+
- No test uids in datatables by default for feature files, add them when test run is used (#201)
|
42
|
+
|
43
|
+
[2.2.0]
|
44
|
+
-------
|
45
|
+
|
46
|
+
- Add support for Cucumber expressions w/ Typescript ([#173](https://github.com/hiptest/hiptest-publisher/pull/173) [#184](https://github.com/hiptest/hiptest-publisher/pull/184) [tenpaiyomi])
|
47
|
+
|
48
|
+
[2.1.0]
|
49
|
+
-------
|
50
|
+
|
51
|
+
- Do not try to colorize output when not in a `tty`
|
52
|
+
|
53
|
+
- Add `--[no-]color` option to allow disabling colored output
|
54
|
+
|
55
|
+
[2.0.0]
|
56
|
+
-------
|
57
|
+
|
58
|
+
- Deprecate support for Ruby 2.3 ([Ruby 2.3 EOL](https://www.ruby-lang.org/en/news/2019/03/31/support-of-ruby-2-3-has-ended/))
|
59
|
+
|
60
|
+
- Drop Ruby 2.2 support.
|
61
|
+
|
62
|
+
- Update Nokogiri to 1.10
|
63
|
+
|
64
|
+
[1.31.0]
|
65
|
+
--------
|
66
|
+
|
67
|
+
- Follow redirections when doing HTTP requests.
|
68
|
+
|
69
|
+
[1.30.0]
|
70
|
+
--------
|
71
|
+
|
72
|
+
- Upgrade `ruby-handlebars` to 0.4. `each` and `join` helpers now support the `as` notation.
|
73
|
+
|
74
|
+
- Add support for Swift/XCTest ([#134](https://github.com/hiptest/hiptest-publisher/pull/134) [bangroot])
|
75
|
+
|
76
|
+
- Add cache for the XML downloaded from CucumberStudio.
|
77
|
+
By default, files will be valid for 60 seconds but can be changed by using `--cache-duration=120` for example.
|
78
|
+
|
79
|
+
[1.29.2]
|
80
|
+
--------
|
81
|
+
|
82
|
+
- Fix escaping in string literals for Java and C# ([#157](https://github.com/hiptest/hiptest-publisher/issues/157) - [hiptest#195](https://github.com/hiptest/hiptest-issue-tracker/issues/195))
|
83
|
+
|
84
|
+
[1.29.1]
|
85
|
+
--------
|
86
|
+
|
87
|
+
- Allow any characters for the meta value ([#155](https://github.com/hiptest/hiptest-publisher/issues/155))
|
88
|
+
|
89
|
+
|
90
|
+
[1.29.0]
|
91
|
+
--------
|
92
|
+
|
93
|
+
- Make `rake install` work with ruby 2.6
|
94
|
+
- `--parameter-delimiter` option now accepts empty string
|
95
|
+
|
96
|
+
[1.28.0]
|
97
|
+
--------
|
98
|
+
|
99
|
+
- Fix bug where parameter-delimiter value was not recognized in command line ([#147](https://github.com/hiptest/hiptest-publisher/issues/147))
|
100
|
+
- Add option --http-proxy to specify proxy to use ([#132](https://github.com/hiptest/hiptest-publisher/issues/132))
|
101
|
+
|
102
|
+
[1.27.1]
|
103
|
+
--------
|
104
|
+
|
105
|
+
- Add CodeceptJS to language list in OptionsParser.languages
|
106
|
+
|
107
|
+
[1.27.0]
|
108
|
+
--------
|
109
|
+
|
110
|
+
- Enable accessing scenario tags in datasets
|
111
|
+
([#142](https://github.com/hiptest/hiptest-publisher/pull/142) [nono0481])
|
112
|
+
|
113
|
+
- Added support for CodeceptJS testing framework
|
114
|
+
([#130](https://github.com/hiptest/hiptest-publisher/pull/130) [DavertMik])
|
115
|
+
|
116
|
+
[1.26.0]
|
117
|
+
--------
|
118
|
+
|
119
|
+
- Shared actionwords handling for Cucumber/Typescript
|
120
|
+
|
121
|
+
[1.25.0]
|
122
|
+
--------
|
123
|
+
|
124
|
+
- Shared actionwords handling for Behave
|
125
|
+
|
126
|
+
[1.24.0]
|
127
|
+
--------
|
128
|
+
|
129
|
+
- Add #case, #when and #when_includes handlebars helpers
|
130
|
+
- Modify #if_includes handlebars helper to work with strings
|
131
|
+
|
132
|
+
[1.23.5]
|
133
|
+
--------
|
134
|
+
|
135
|
+
- Load i18n path also when used as a library
|
136
|
+
|
137
|
+
[1.23.4]
|
138
|
+
--------
|
139
|
+
|
140
|
+
- Add I18n to enable localizing (and clearing the code)
|
141
|
+
|
142
|
+
[1.23.3]
|
143
|
+
--------
|
144
|
+
|
145
|
+
- Update multipart-post to 2.1.1 to handle issues with Ruby < 2.5
|
146
|
+
(see: https://github.com/socketry/multipart-post/issues/61)
|
147
|
+
|
148
|
+
[1.23.2]
|
149
|
+
--------
|
150
|
+
|
151
|
+
- Force Nokogiri < 1.10 to keep support for Ruby 2.2
|
152
|
+
- Add deprecation notifications for Ruby 2.2
|
153
|
+
|
154
|
+
[1.23.1]
|
155
|
+
--------
|
156
|
+
|
157
|
+
- Handle new shared actionword architecture
|
158
|
+
|
159
|
+
[1.22.0]
|
160
|
+
--------
|
161
|
+
|
162
|
+
- Add support for Cucumber/Typescript
|
163
|
+
- Unlock Nokogiri update to 1.9.1
|
164
|
+
|
165
|
+
[1.21.0]
|
166
|
+
--------
|
167
|
+
|
168
|
+
- Add option --execution-environment to push results in the specified execution environment name
|
169
|
+
|
170
|
+
[1.20.0]
|
171
|
+
--------
|
172
|
+
|
173
|
+
- Add --meta option to add more flexibility in code generation
|
174
|
+
(see: https://github.com/hiptest/hiptest-publisher/blob/master/docs/Using%20meta%20data.md#using-meta-data)
|
175
|
+
|
176
|
+
[1.19.3]
|
177
|
+
--------
|
178
|
+
|
179
|
+
- Do not leave trailing whitespaces with {{comment}} helper
|
180
|
+
|
181
|
+
[1.19.2]
|
182
|
+
--------
|
183
|
+
- Fix description in Gherkin exports
|
184
|
+
|
185
|
+
[1.19.1]
|
186
|
+
--------
|
187
|
+
- Fix description in Gherkin exports
|
188
|
+
|
189
|
+
[1.19.0]
|
190
|
+
--------
|
191
|
+
- Do not comment description in Gherkin exports
|
192
|
+
|
193
|
+
[1.18.1]
|
194
|
+
--------
|
195
|
+
- Show message when calling an actionword using an unknown UID
|
196
|
+
|
197
|
+
[1.18.0]
|
198
|
+
--------
|
199
|
+
- Add option [no-]parent-folders-tags to choose if parent tags are rendered in feature files
|
200
|
+
|
201
|
+
[1.17.2]
|
202
|
+
--------
|
203
|
+
- Fix UIDCall handling for shared actionwords
|
204
|
+
|
205
|
+
[1.17.1]
|
206
|
+
--------
|
207
|
+
- update version number
|
208
|
+
|
209
|
+
[1.16.6]
|
210
|
+
--------
|
211
|
+
- Add the if_includes handlebars helper
|
212
|
+
- Add options "parameter-delimiter" allowing to remove quotes around parameters in Gherkin export
|
213
|
+
(or replace it by anything else in fact)
|
214
|
+
|
215
|
+
[1.16.5]
|
216
|
+
--------
|
217
|
+
- Fix UIDCall handling for behat
|
218
|
+
|
219
|
+
[1.16.4]
|
220
|
+
--------
|
221
|
+
- Handling tags for shared actionwords
|
222
|
+
|
223
|
+
[1.16.3]
|
224
|
+
--------
|
225
|
+
- Fix behat rendering of shared actionwords
|
226
|
+
|
227
|
+
[1.16.2]
|
228
|
+
--------
|
229
|
+
- Remove unnecessary templates for cucumber/groovy
|
230
|
+
|
231
|
+
[1.16.0]
|
232
|
+
--------
|
233
|
+
- Shared actionwords handling for behat
|
234
|
+
|
235
|
+
[1.15.0]
|
236
|
+
--------
|
237
|
+
- Shared actionwords handling for groovy/spock
|
238
|
+
|
239
|
+
[1.14.0]
|
240
|
+
--------
|
241
|
+
|
242
|
+
- Shared actionwords handling for cucumber/groovy
|
243
|
+
|
244
|
+
[1.13.0]
|
245
|
+
--------
|
246
|
+
|
247
|
+
- Add Cucumber/Groovy support
|
248
|
+
([#54](https://github.com/hiptest/hiptest-publisher/issues/54))
|
249
|
+
|
250
|
+
[1.12.0]
|
251
|
+
--------
|
252
|
+
|
253
|
+
- Add JBehave support
|
254
|
+
([#38](https://github.com/hiptest/hiptest-publisher/issues/38))
|
255
|
+
|
256
|
+
- Add option --with-dataset-names
|
257
|
+
([#105](https://github.com/hiptest/hiptest-publisher/issues/105))
|
258
|
+
|
259
|
+
- Reorder steps by regexp length for Behave
|
260
|
+
([#104](https://github.com/hiptest/hiptest-publisher/issues/104))
|
261
|
+
|
262
|
+
|
263
|
+
<!-- List of releases -->
|
264
|
+
[Unreleased]: https://github.com/hiptest/hiptest-publisher/compare/v3.1.0...master
|
265
|
+
[3.1.0]: https://github.com/hiptest/hiptest-publisher/compare/v3.0.0...v3.1.0
|
266
|
+
[3.0.0]: https://github.com/hiptest/hiptest-publisher/compare/v2.4.0...v3.0.0
|
267
|
+
[2.4.0]: https://github.com/hiptest/hiptest-publisher/compare/v2.3.1...v2.4.0
|
268
|
+
[2.3.1]: https://github.com/hiptest/hiptest-publisher/compare/v2.3.0...v2.3.1
|
269
|
+
[2.3.0]: https://github.com/hiptest/hiptest-publisher/compare/v2.2.0...v2.3.0
|
270
|
+
[2.2.0]: https://github.com/hiptest/hiptest-publisher/compare/v2.1.0...v2.2.0
|
271
|
+
[2.1.0]: https://github.com/hiptest/hiptest-publisher/compare/v2.0.0...v2.1.0
|
272
|
+
[2.0.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.31.0...v2.0.0
|
273
|
+
[1.31.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.30.0...v1.31.0
|
274
|
+
[1.30.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.29.2...v1.30.0
|
275
|
+
[1.29.2]: https://github.com/hiptest/hiptest-publisher/compare/v1.29.1...v1.29.2
|
276
|
+
[1.29.1]: https://github.com/hiptest/hiptest-publisher/compare/v1.29.0...v1.29.1
|
277
|
+
[1.29.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.28.0...v1.29.0
|
278
|
+
[1.28.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.27.1...v1.28.0
|
279
|
+
[1.27.1]: https://github.com/hiptest/hiptest-publisher/compare/v1.27.0...v1.27.1
|
280
|
+
[1.27.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.26.0...v1.27.0
|
281
|
+
[1.26.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.25.0...v1.26.0
|
282
|
+
[1.25.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.24.0...v1.25.0
|
283
|
+
[1.24.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.23.5...v1.24.0
|
284
|
+
[1.23.5]: https://github.com/hiptest/hiptest-publisher/compare/v1.23.4...v1.23.5
|
285
|
+
[1.23.4]: https://github.com/hiptest/hiptest-publisher/compare/v1.23.3...v1.23.4
|
286
|
+
[1.23.3]: https://github.com/hiptest/hiptest-publisher/compare/v1.23.2...v1.23.3
|
287
|
+
[1.23.2]: https://github.com/hiptest/hiptest-publisher/compare/v1.23.1...v1.23.2
|
288
|
+
[1.23.1]: https://github.com/hiptest/hiptest-publisher/compare/v1.22.0...v1.23.1
|
289
|
+
[1.22.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.21.0...v1.22.0
|
290
|
+
[1.21.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.20.0...v1.21.0
|
291
|
+
[1.20.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.19.3...v1.20.0
|
292
|
+
[1.19.3]: https://github.com/hiptest/hiptest-publisher/compare/v1.19.2...v1.19.3
|
293
|
+
[1.19.2]: https://github.com/hiptest/hiptest-publisher/compare/v1.19.1...v1.19.2
|
294
|
+
[1.19.1]: https://github.com/hiptest/hiptest-publisher/compare/v1.19.0...v1.19.1
|
295
|
+
[1.19.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.18.1...v1.19.0
|
296
|
+
[1.18.1]: https://github.com/hiptest/hiptest-publisher/compare/v1.18.0...v1.18.1
|
297
|
+
[1.18.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.17.2...v1.18.0
|
298
|
+
[1.17.2]: https://github.com/hiptest/hiptest-publisher/compare/v1.17.1...v1.17.2
|
299
|
+
[1.17.1]: https://github.com/hiptest/hiptest-publisher/compare/v1.16.6...v1.17.1
|
300
|
+
[1.16.6]: https://github.com/hiptest/hiptest-publisher/compare/v1.16.5...v1.16.6
|
301
|
+
[1.16.5]: https://github.com/hiptest/hiptest-publisher/compare/v1.16.4...v1.16.5
|
302
|
+
[1.16.4]: https://github.com/hiptest/hiptest-publisher/compare/v1.16.3...v1.16.4
|
303
|
+
[1.16.3]: https://github.com/hiptest/hiptest-publisher/compare/v1.16.2...v1.16.3
|
304
|
+
[1.16.2]: https://github.com/hiptest/hiptest-publisher/compare/v1.16.0...v1.16.2
|
305
|
+
[1.16.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.15.0...v1.16.0
|
306
|
+
[1.15.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.14.0...v1.15.0
|
307
|
+
[1.14.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.13.0...v1.14.0
|
308
|
+
[1.13.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.12.0...v1.13.0
|
309
|
+
[1.12.0]: https://github.com/hiptest/hiptest-publisher/compare/v1.11.1...v1.12.0
|
310
|
+
|
311
|
+
|
312
|
+
<!-- List of contributors -->
|
313
|
+
[atulhm]: https://github.com/atulhm
|
314
|
+
[bangroot]: https://github.com/bangroot
|
315
|
+
[ClaudiaJ]: https://github.com/ClaudiaJ
|
316
|
+
[daniel-kun]: https://github.com/daniel-kun
|
317
|
+
[DavertMik]: https://github.com/DavertMik
|
318
|
+
[etorreborre]: https://github.com/etorreborre
|
319
|
+
[Jesterovskiy]: https://github.com/Jesterovskiy
|
320
|
+
[lostiniceland]: https://github.com/lostiniceland
|
321
|
+
[mhfrantz]: https://github.com/mhfrantz
|
322
|
+
[nono0481]: https://github.com/nono0481
|
323
|
+
[tenpaiyomi]: https://github.com/tenpaiyomi
|
324
|
+
[tikolakin]: https://github.com/tikolakin
|
325
|
+
[weeksghost]: https://github.com/weeksghost
|
data/LICENSE
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c)
|
3
|
+
Copyright (c) SmartBear Software Inc.
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
@@ -19,4 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
19
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
20
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
21
|
SOFTWARE.
|
22
|
-
|
data/README.md
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
HipTest Publisher
|
2
2
|
==============
|
3
3
|
|
4
|
-
[![
|
5
|
-
[![Build Status Linux](https://travis-ci.org/hiptest/hiptest-publisher.svg?branch=master)](https://travis-ci.org/hiptest/hiptest-publisher)
|
6
|
-
[![Build Status Windows](https://ci.appveyor.com/api/projects/status/ciahcci0ayr1oihr/branch/master?svg=true)](https://ci.appveyor.com/project/hiptest/hiptest-publisher)
|
4
|
+
[![GitHub Actions status](https://github.com/hiptest/hiptest-publisher/workflows/Tests/badge.svg)](https://github.com/hiptest/hiptest-publisher/actions?query=workflow%3ATests)
|
7
5
|
[![Gem Version](https://badge.fury.io/rb/hiptest-publisher.svg)](http://badge.fury.io/rb/hiptest-publisher)
|
8
6
|
[![Code Climate](https://codeclimate.com/github/hiptest/hiptest-publisher/badges/gpa.svg)](https://codeclimate.com/github/hiptest/hiptest-publisher)
|
9
7
|
[![Test Coverage](https://codeclimate.com/github/hiptest/hiptest-publisher/badges/coverage.svg)](https://codeclimate.com/github/hiptest/hiptest-publisher)
|
10
8
|
|
11
9
|
|
10
|
+
hiptest-publisher is a tool to read Test Management projects from CucumberStudio (formerly know as HipTest) and publish them as executable test scripts stubs to start automating.
|
11
|
+
|
12
12
|
Installing
|
13
13
|
----------
|
14
14
|
|
@@ -45,8 +45,8 @@ Note: for Windows users, take a look at [this Windows installation guide](docs/I
|
|
45
45
|
Exporting a project
|
46
46
|
-------------------
|
47
47
|
|
48
|
-
Go to
|
49
|
-
This tab is available only for projects you
|
48
|
+
Go to [CucumberStudio projects list](https://studio.cucumber.io/projects), pick one project, and select the Settings tab.
|
49
|
+
This tab is available only for projects you're admin of.
|
50
50
|
From there, copy the secret token and run this command line:
|
51
51
|
|
52
52
|
```shell
|
@@ -59,12 +59,12 @@ This will create a Ruby tests suite. For the moment, we support the following la
|
|
59
59
|
- Behave
|
60
60
|
- CSharp (NUnit)
|
61
61
|
- Cucumber (Groovy / Java / Javascript / Ruby / TypeScript)
|
62
|
-
- Cucumber
|
62
|
+
- Cucumber Legacy (Groovy / Java / TypeScript) (previous Cucumber versions)
|
63
63
|
- Groovy (Spock)
|
64
64
|
- Java (Espresso / JUnit / TestNg)
|
65
65
|
- JavaScript (CodeceptJS / Jasmine / Mocha / Protractor / QUnit)
|
66
66
|
- JBehave
|
67
|
-
- PHP (PHPUnit
|
67
|
+
- PHP (PHPUnit)
|
68
68
|
- Python (UnitTest)
|
69
69
|
- Robot Framework
|
70
70
|
- Ruby (MiniTest / RSpec)
|
@@ -72,8 +72,6 @@ This will create a Ruby tests suite. For the moment, we support the following la
|
|
72
72
|
- SpecFlow
|
73
73
|
- Swift (XCTest)
|
74
74
|
|
75
|
-
*Cucumber Expressions is standard Cucumber syntax that makes use of [Cucumber Expressions](https://cucumber.io/docs/cucumber/cucumber-expressions/)
|
76
|
-
|
77
75
|
You can specify the output language and framework in the command line, for example:
|
78
76
|
|
79
77
|
```shell
|
@@ -85,7 +83,7 @@ When publishing, you'll notice a file called ``actionwords_signature.yaml``. Sto
|
|
85
83
|
Exporting a test run
|
86
84
|
--------------------
|
87
85
|
|
88
|
-
You can generate the test suite from a test run of your project by specifying option `--test-run-id=<xxx>` when calling `hiptest-publisher`. You can find the test run id in the address bar of your browser. If your browser address is `https://
|
86
|
+
You can generate the test suite from a test run of your project by specifying option `--test-run-id=<xxx>` when calling `hiptest-publisher`. You can find the test run id in the address bar of your browser. If your browser address is `https://studio.cucumber.io/projects/1234/testRuns/6941`, then your test run id is `6941`. You can generate your tests from your test with this command line:
|
89
87
|
|
90
88
|
```shell
|
91
89
|
hiptest-publisher --token=<YOUR TOKEN> --test-run-id=6941
|
@@ -103,7 +101,7 @@ hiptest-publisher --help
|
|
103
101
|
You could obtain for example:
|
104
102
|
|
105
103
|
```shell
|
106
|
-
Exports tests from
|
104
|
+
Exports tests from CucumberStudio for automation.
|
107
105
|
|
108
106
|
Specific options:
|
109
107
|
-t, --token=TOKEN Secret token (available in your project settings)
|
@@ -113,11 +111,13 @@ Specific options:
|
|
113
111
|
--filename-pattern=PATTERN Filename pattern (containing %s)
|
114
112
|
-c, --config-file=PATH Configuration file
|
115
113
|
--overriden-templates=PATH Folder for overriden templates
|
114
|
+
--overriden-language-configs=PATH
|
115
|
+
Folder for overriden language configs
|
116
116
|
--test-run-id=ID Export data from a test run identified by its id
|
117
117
|
--test-run-name=NAME Export data from a test run identified by its name
|
118
118
|
--only=CATEGORIES Restrict export to given file categories (--only=list to list them)
|
119
119
|
--without=CATEGORIES Exclude file categories from import (--only=list to list them)
|
120
|
-
-x, --xml-file=PROJECT_XML XML file to use instead of fetching it from
|
120
|
+
-x, --xml-file=PROJECT_XML XML file to use instead of fetching it from CucumberStudio
|
121
121
|
--tests-only (deprecated) alias for --only=tests (default: false)
|
122
122
|
--actionwords-only (deprecated) alias for --only=actionwords (default: false)
|
123
123
|
--actionwords-signature Export actionwords signature (default: false)
|
@@ -136,19 +136,21 @@ Specific options:
|
|
136
136
|
--empty-folders Export empty folders (default: false)
|
137
137
|
--split-scenarios Export each scenario in a single file (except for Gherkin based languages) (default: false)
|
138
138
|
--leafless-export Use only last level action word (default: false)
|
139
|
-
-s, --site=SITE Site to fetch from (default: https://
|
139
|
+
-s, --site=SITE Site to fetch from (default: https://studio.cucumber.io)
|
140
140
|
-p, --push=FILE.TAP Push a results file to the server
|
141
141
|
--global-failure-on-missing-reports
|
142
142
|
When there is no results file to push, report a global failure (default: false)
|
143
143
|
--push-format=tap Format of the test results (cucumber-json, junit, nunit, robot, tap) (default: tap)
|
144
144
|
--execution-environment=NAME Name of the execution environment
|
145
|
+
--build-id=ID ID of an existing build the results will be added to
|
146
|
+
--build-name=NAME Name for the build that will be created in CucumberStudio (build names are not unique)
|
145
147
|
--sort=[id,order,alpha] Sorting of tests in output: id will sort them by age, order will keep the same order than in hiptest (only with --with-folders option, will fallback to id otherwise), alpha will sort them by name (default: order)
|
146
148
|
--[no-]uids Export UIDs (note: can be disabled only for Gherkin-based exports, may cause issue when pushing results back) (default: true)
|
147
149
|
--[no-]parent-folder-tags Export tags from parent folders (note: if set to false, those tags are never rendered. Only available for Gherkin base exports) (default: true)
|
148
|
-
--parameter-delimiter Parameter delimiter (for Gherkin based export only) (default: ")
|
150
|
+
--parameter-delimiter Parameter delimiter (for Gherkin based export only) (default: "")
|
149
151
|
--with-dataset-names Export dataset name when creating feature files (note: available only for Gherkin-based exports) (default: false)
|
150
|
-
--keep-filenames Keep the same name as in
|
151
|
-
--keep-foldernames Keep the same name as in
|
152
|
+
--keep-filenames Keep the same name as in CucumberStudio for the test files (note: may cause encoding issues) (default: false)
|
153
|
+
--keep-foldernames Keep the same name as in CucumberStudio for the folders (note: may cause encoding issues) (default: false)
|
152
154
|
--filter-on-scenario-ids=IDS Filter on scenario ids (use commas to separate ids when fetching multiple scenarios)
|
153
155
|
--filter-on-folder-ids=IDS Filter on folder ids (use commas to separate ids when fetching multiple folders)
|
154
156
|
--filter-on-scenario-name=NAME
|
@@ -190,6 +192,8 @@ package = 'com.youcompany'
|
|
190
192
|
|
191
193
|
Note that options from command line arguments override options from config file.
|
192
194
|
|
195
|
+
If you want to override one of the existing configurations, you can use the --overriden-language-configs option to specify a path that is checked for configuration files prior to looking at the default configuration files. If one is found, it will use that file instead of the default, otherwise it will use the default configuration for the specified language.
|
196
|
+
|
193
197
|
### Using hiptest-publisher behind a http proxy
|
194
198
|
|
195
199
|
To use hiptest-publisher behind a http proxy, set an environment variable named http_proxy
|
@@ -201,17 +205,19 @@ If username and password are required:
|
|
201
205
|
http_proxy=http://<username>:<password>@<proxy_host>:<proxy_port>
|
202
206
|
```
|
203
207
|
|
204
|
-
Posting results to
|
205
|
-
|
208
|
+
Posting results to CucumberStudio
|
209
|
+
---------------------------------
|
206
210
|
|
207
|
-
You can use the
|
208
|
-
|
211
|
+
You can use the option `--push` to push the results back to CucumberStudio. For this, you first need to generate the test code from a Test Run by specifying option `--test-run-id=<xxx>` during code generation (or add it to the configuration file).
|
212
|
+
|
213
|
+
The tests must then generate a test report that is supported by CucumberStudio. Currently four types of test results are handled:
|
214
|
+
- Cucumber JSON format
|
209
215
|
- jUnit XML format
|
210
216
|
- [NUnit XML v2 format](https://github.com/nunit/docs/wiki/XML-Formats#v2-test-results)
|
211
|
-
- [TAP (Test Anything Protocol)](https://testanything.org/)
|
212
217
|
- Robot framework XML output
|
218
|
+
- [TAP (Test Anything Protocol)](https://testanything.org/)
|
213
219
|
|
214
|
-
You can specify the type of export when pushing by using the option
|
220
|
+
You can specify the type of export when pushing by using the option `--push-format=[cucumber-json|junit|nunit|robot|tap]` or specifying it in the config file.
|
215
221
|
|
216
222
|
You can push multiple files at once (using wildcard) but in that case, do not forget to add quotes. For examples:
|
217
223
|
|
@@ -225,7 +231,7 @@ Development
|
|
225
231
|
While developing, you can install the gem locally by issuing
|
226
232
|
|
227
233
|
```
|
228
|
-
rake install
|
234
|
+
bundle exec rake install
|
229
235
|
```
|
230
236
|
|
231
237
|
You can also run the command directly with `bundle exec ruby -I lib bin/hiptest-publisher`. It is handy to define an alias so you can test your code easily:
|
@@ -236,6 +242,18 @@ alias hiptest-publisher='bundle exec ruby -I lib bin/hiptest-publisher'
|
|
236
242
|
```
|
237
243
|
|
238
244
|
|
245
|
+
Internationalization
|
246
|
+
--------------------
|
247
|
+
|
248
|
+
To help with internationalization, you can temporarly add the `i18n-tasks` in the Gemfile and run `i18n-tasks health` to check that everything is ok and there are no missing translations. We removed it because of the many dependencies it pulls.
|
249
|
+
|
250
|
+
Other useful commands:
|
251
|
+
* `i18n-tasks missing`
|
252
|
+
* `i18n-tasks unused`
|
253
|
+
* `i18n-tasks normalize`
|
254
|
+
* `i18n-tasks check-consistent-interpolations`
|
255
|
+
|
256
|
+
|
239
257
|
Adding support for other languages and framework
|
240
258
|
------------------------------------------------
|
241
259
|
|
data/bin/hiptest-publisher
CHANGED
@@ -16,36 +16,32 @@ require 'ruby_version'
|
|
16
16
|
require 'hiptest-publisher/i18n'
|
17
17
|
require 'hiptest-publisher/utils'
|
18
18
|
|
19
|
-
# Ensure ruby version >= 2.
|
20
|
-
if RubyVersion < '2.
|
21
|
-
STDERR.puts(I18n.t('ruby_version.required_version', version: '2.
|
19
|
+
# Ensure ruby version >= 2.7
|
20
|
+
if RubyVersion < '2.7.0'
|
21
|
+
STDERR.puts(I18n.t('ruby_version.required_version', version: '2.7.0'))
|
22
22
|
STDERR.puts(I18n.t('ruby_version.current_version', engine: RUBY_ENGINE, version: RUBY_VERSION))
|
23
23
|
STDERR.puts(I18n.t('ruby_version.use_more_recent'))
|
24
24
|
|
25
|
-
if RubyVersion.is? 2.
|
26
|
-
STDERR.puts(I18n.('ruby_version.support_ended', version: '2.
|
27
|
-
elsif RubyVersion.is? 2.
|
28
|
-
STDERR.puts(I18n.('ruby_version.support_ended', version: '2.
|
29
|
-
elsif RubyVersion.is? 2.
|
30
|
-
STDERR.puts(I18n.('ruby_version.support_ended', version: '2.
|
31
|
-
elsif RubyVersion.is? '1.9.3'
|
32
|
-
STDERR.puts(I18n.('ruby_version.support_ended', version: '1.9.3', year: '2015', month: '02', day: '23'))
|
33
|
-
elsif RubyVersion.is? '1.9.2'
|
34
|
-
STDERR.puts(I18n.('ruby_version.support_ended', version: '1.9.2', year: '2014', month: '07', day: '31'))
|
25
|
+
if RubyVersion.is? 2.6
|
26
|
+
STDERR.puts(I18n.('ruby_version.support_ended', version: '2.6.0', year: '2022', month: '03', day: '31'))
|
27
|
+
elsif RubyVersion.is? 2.5
|
28
|
+
STDERR.puts(I18n.('ruby_version.support_ended', version: '2.5.0', year: '2021', month: '03', day: '31'))
|
29
|
+
elsif RubyVersion.is? 2.4
|
30
|
+
STDERR.puts(I18n.('ruby_version.support_ended', version: '2.4.0', year: '2020', month: '03', day: '31'))
|
35
31
|
end
|
36
32
|
exit 1
|
37
33
|
end
|
38
34
|
|
39
|
-
if RubyVersion < '
|
35
|
+
if RubyVersion < '3.0'
|
40
36
|
STDERR.puts(I18n.t('ruby_version.current_version', engine: RUBY_ENGINE, version: RUBY_VERSION))
|
41
|
-
STDERR.puts(I18n.t('ruby_version.deprecation_warning', version: '2.
|
42
|
-
STDERR.puts(I18n.t('ruby_version.support_ended', version: '2.
|
37
|
+
STDERR.puts(I18n.t('ruby_version.deprecation_warning', version: '2.7'))
|
38
|
+
STDERR.puts(I18n.t('ruby_version.support_ended', version: '2.7', year: '2023', month: '03', day: '31'))
|
43
39
|
end
|
44
40
|
|
45
41
|
require 'hiptest-publisher'
|
46
42
|
begin
|
47
43
|
require 'pry' # only available in development
|
48
|
-
rescue LoadError
|
44
|
+
rescue StandardError, LoadError
|
49
45
|
end
|
50
46
|
|
51
47
|
Hiptest::Publisher.new(ARGV).run
|