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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +325 -0
  3. data/LICENSE +1 -2
  4. data/README.md +41 -23
  5. data/bin/hiptest-publisher +13 -17
  6. data/config/locales/en.yml +21 -17
  7. data/lib/config/cucumber-typescript.conf +41 -41
  8. data/lib/config/cucumber_legacy-groovy.conf +40 -0
  9. data/lib/config/cucumber_legacy-java.conf +24 -0
  10. data/lib/config/{cucumber_expressions-typescript.conf → cucumber_legacy-typescript.conf} +41 -41
  11. data/lib/hiptest-publisher/cli_options_checker.rb +7 -0
  12. data/lib/hiptest-publisher/client.rb +15 -4
  13. data/lib/hiptest-publisher/formatters/console_formatter.rb +1 -0
  14. data/lib/hiptest-publisher/handlebars_helper.rb +1 -1
  15. data/lib/hiptest-publisher/options_parser.rb +24 -5
  16. data/lib/hiptest-publisher/renderer.rb +5 -1
  17. data/lib/templates/cucumber/groovy/step-definitions/actionword.hbs +1 -1
  18. data/lib/templates/cucumber/groovy/step-definitions/actionwords.hbs +3 -2
  19. data/lib/templates/cucumber/groovy/step-definitions/library.hbs +3 -2
  20. data/lib/templates/cucumber/groovy/step-definitions/libraryactionword.hbs +1 -1
  21. data/lib/templates/cucumber/java/actionword.hbs +1 -1
  22. data/lib/templates/cucumber/java/actionwords.hbs +2 -2
  23. data/lib/templates/cucumber/typescript/actionword.hbs +1 -1
  24. data/lib/templates/cucumber/typescript/libraryactionword.hbs +1 -1
  25. data/lib/templates/cucumber_legacy/groovy/step-definitions/actionword.hbs +5 -0
  26. data/lib/templates/cucumber_legacy/groovy/step-definitions/actionwords.hbs +10 -0
  27. data/lib/templates/cucumber_legacy/groovy/step-definitions/library.hbs +10 -0
  28. data/lib/templates/cucumber_legacy/groovy/step-definitions/libraryactionword.hbs +5 -0
  29. data/lib/templates/cucumber_legacy/java/actionword.hbs +6 -0
  30. data/lib/templates/cucumber_legacy/java/actionwords.hbs +12 -0
  31. data/lib/templates/cucumber_legacy/typescript/actionword.hbs +5 -0
  32. data/lib/templates/{cucumber_expressions → cucumber_legacy}/typescript/libraryactionword.hbs +1 -1
  33. data/lib/templates/gherkin/scenarios.hbs +1 -1
  34. metadata +87 -64
  35. 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: 5bcc0cd663f5ba7411031e5f8db901bd7229fe6d88a7deb815cbfc82dde9e8ea
4
- data.tar.gz: 165c9da7b30f07d0eeacbdaef4aae5fefa9146533ee826898971d646ecc6adcf
3
+ metadata.gz: b37b4df1fb05d36b4f1cbd60df3e4b39048da7d66d2dd64bf87879e18accac2a
4
+ data.tar.gz: ca60c0a8c3a220426c959a253195caf1fbabc2eee06cd2f81ab7f23909c3299d
5
5
  SHA512:
6
- metadata.gz: 824256833f21ff08a6693ca63a5d5d40f1d15e54b9a6df78152d98bc94ac9f5fc67b04b0c371b6f2ac3d24ef9e0e3d454d680c4de4fe3ca7972f50e5ec6753a2
7
- data.tar.gz: 9b58353c5f481931ca91ed563cff619d4738589a0c35bea5f3cfb7bf53324719999bc718697001e2d83623f2854e0251af76a4a14bb9e8328846d7a215194755
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) Hiptest
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
- [![CircleCI](https://circleci.com/gh/hiptest/hiptest-publisher.svg?style=svg)](https://circleci.com/gh/hiptest/hiptest-publisher)
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 one of your [HipTest projects](https://app.hiptest.com/projects) and select the Settings tab.
49
- This tab is available only for projects you own.
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 Expressions (TypeScript)*
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 / UnitTest)
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://app.hiptest.com/projects/1234/testRuns/6941`, then your test run id is `6941`. You can generate your tests from your test with this command line:
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 HipTest for automation.
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 HipTest
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://app.hiptest.com)
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 HipTest for the test files (note: may cause encoding issues) (default: false)
151
- --keep-foldernames Keep the same name as in HipTest for the folders (note: may cause encoding issues) (default: false)
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 HipTest
205
- --------------------------
208
+ Posting results to CucumberStudio
209
+ ---------------------------------
206
210
 
207
- You can use the options --push to push the results back to HipTest. 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).
208
- The tests must then generate a test report that is supported by HipTest. Currently four types of test results are handled:
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 "--push-format=[cucumber-json|junit|nunit|robot|tap]" or specifying it in the config file.
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
 
@@ -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.3
20
- if RubyVersion < '2.3.0'
21
- STDERR.puts(I18n.t('ruby_version.required_version', version: '2.3.0'))
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.2
26
- STDERR.puts(I18n.('ruby_version.support_ended', version: '2.2.0', year: '2018', month: '06', day: '20'))
27
- elsif RubyVersion.is? 2.1
28
- STDERR.puts(I18n.('ruby_version.support_ended', version: '2.1.0', year: '2017', month: '04', day: '01'))
29
- elsif RubyVersion.is? 2.0
30
- STDERR.puts(I18n.('ruby_version.support_ended', version: '2.0.0', year: '2016', month: '02', day: '24'))
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 < '2.4'
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.3'))
42
- STDERR.puts(I18n.t('ruby_version.support_ended', version: '2.3', year: '2019', month: '03', day: '31'))
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