playwright-slack-report 1.1.88 → 1.1.89
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.
- package/README.md +233 -173
- package/dist/cli.js +2 -2
- package/dist/src/LayoutGenerator.js +2 -1
- package/dist/src/LayoutGenerator.js.map +1 -1
- package/dist/src/ResultsParser.js +2 -1
- package/dist/src/ResultsParser.js.map +1 -1
- package/dist/src/SlackReporter.js +2 -1
- package/dist/src/SlackReporter.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -16,7 +16,6 @@ Publish your Playwright test results to your favorite Slack channel(s).
|
|
|
16
16
|
- 📄 Include additional meta information into your test summary e.g. Branch, BuildId etc
|
|
17
17
|
- 🧑🎨 Define your own custom Slack message layout!
|
|
18
18
|
|
|
19
|
-
|
|
20
19
|
# 📦 Installation
|
|
21
20
|
|
|
22
21
|
Run following commands:
|
|
@@ -43,14 +42,13 @@ Modify your `playwright.config.ts` file to include the following:
|
|
|
43
42
|
["dot"], // other reporters
|
|
44
43
|
],
|
|
45
44
|
```
|
|
45
|
+
|
|
46
46
|
# Option A - send your results via a Slack webhook
|
|
47
47
|
|
|
48
48
|
Enable incoming webhooks in your Slack workspace by following the steps as per Slack's documentation:
|
|
49
49
|
|
|
50
50
|
https://api.slack.com/messaging/webhooks
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
|
|
54
52
|
Once you have enabled incoming webhooks, you will need to copy the webhook URL and specify it in the config:
|
|
55
53
|
|
|
56
54
|
```typescript
|
|
@@ -65,21 +63,26 @@ Once you have enabled incoming webhooks, you will need to copy the webhook URL a
|
|
|
65
63
|
["dot"], // other reporters
|
|
66
64
|
],
|
|
67
65
|
```
|
|
66
|
+
|
|
68
67
|
### Note I:
|
|
68
|
+
|
|
69
69
|
You will most likely need to have Slack administrator rights to perform the steps above.
|
|
70
70
|
|
|
71
71
|
### Note II:
|
|
72
|
-
|
|
72
|
+
|
|
73
|
+
Sending failure details in a thread is not supported when using webhooks. You will need to use Option B below.
|
|
73
74
|
|
|
74
75
|
### Note III:
|
|
75
|
-
|
|
76
|
+
|
|
77
|
+
You can use `slackWebHookChannel: "pw-tests"` as an option if you have a single Slack webhook URL that needs to send messages to multiple channels.
|
|
76
78
|
|
|
77
79
|
# Option B - send your results via a Slack bot user
|
|
80
|
+
|
|
78
81
|
Run your tests by providing your `SLACK_BOT_USER_OAUTH_TOKEN` as an environment variable or specifying `slackOAuthToken` option in the config:
|
|
79
82
|
|
|
80
83
|
`SLACK_BOT_USER_OAUTH_TOKEN=[your Slack bot user OAUTH token] npx playwright test`
|
|
81
84
|
|
|
82
|
-
> **NOTE:** The Slack channel that you specify will need to be
|
|
85
|
+
> **NOTE:** The Slack channel that you specify will need to be _public_, this app will not be able to publish messages to private channels.
|
|
83
86
|
|
|
84
87
|
---
|
|
85
88
|
|
|
@@ -105,9 +108,9 @@ You will need to have Slack administrator rights to perform the steps below.
|
|
|
105
108
|
|
|
106
109
|

|
|
107
110
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
+
- chat:write
|
|
112
|
+
- chat:write.public
|
|
113
|
+
- chat:write.customize
|
|
111
114
|
|
|
112
115
|
6. Scroll up to the OAuth Tokens for Your Workspace and click the **Install to Workspace** button
|
|
113
116
|
|
|
@@ -119,25 +122,25 @@ You will need to have Slack administrator rights to perform the steps below.
|
|
|
119
122
|
|
|
120
123
|
The final step will be to copy the generated Bot User OAuth Token aka `SLACK_BOT_USER_OAUTH_TOKEN`.
|
|
121
124
|
|
|
122
|
-
|
|
125
|
+
> **Treat this token as a secret.**
|
|
123
126
|
|
|
124
127
|

|
|
125
128
|
|
|
126
129
|
</details>
|
|
127
130
|
|
|
128
131
|
---
|
|
129
|
-
# Option C - send your JSON results via CLI
|
|
130
132
|
|
|
131
|
-
|
|
133
|
+
# Option C - send your JSON results via CLI
|
|
132
134
|
|
|
135
|
+
Playwright now provides a nice way to [merge multiple reports from multiple shards](https://playwright.dev/docs/test-sharding#merging-reports-from-multiple-shards). You can use this feature to generate a single JSON report and then send it to Slack, alleviating the need to have separate messages sent per shard:
|
|
133
136
|
|
|
134
137
|
`npx playwright merge-reports --reporter json ./all-blob-reports > merged_tests_results.json`
|
|
135
138
|
|
|
136
139
|
^ It is important that you set the `--reporter` to `json` and pipe the results to a json file, otherwise the report will not be generated in the correct format.
|
|
137
140
|
|
|
138
|
-
Next, you will need to configure the cli.
|
|
141
|
+
Next, you will need to configure the cli. See example below:
|
|
139
142
|
|
|
140
|
-
|
|
143
|
+
_cli_config.json:_
|
|
141
144
|
|
|
142
145
|
```json
|
|
143
146
|
{
|
|
@@ -148,10 +151,13 @@ Next, you will need to configure the cli. See example below:
|
|
|
148
151
|
},
|
|
149
152
|
"showInThread": true,
|
|
150
153
|
"meta": [
|
|
151
|
-
{ "key": "build", "value"
|
|
152
|
-
{ "key": "branch", "value"
|
|
153
|
-
{ "key": "commit", "value"
|
|
154
|
-
{
|
|
154
|
+
{ "key": "build", "value": "1.0.0" },
|
|
155
|
+
{ "key": "branch", "value": "master" },
|
|
156
|
+
{ "key": "commit", "value": "1234567890" },
|
|
157
|
+
{
|
|
158
|
+
"key": "results",
|
|
159
|
+
"value": "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"
|
|
160
|
+
}
|
|
155
161
|
],
|
|
156
162
|
"maxNumberOfFailures": 4,
|
|
157
163
|
"disableUnfurl": true
|
|
@@ -159,16 +165,20 @@ Next, you will need to configure the cli. See example below:
|
|
|
159
165
|
```
|
|
160
166
|
|
|
161
167
|
The config file also supports the follow extra options:
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
168
|
+
|
|
169
|
+
- `proxy` - String representation of your proxy server.
|
|
170
|
+
- `sendUsingWebhook` - Object containing the webhook url to send the results to (see example below)
|
|
171
|
+
- `customLayout` - Object specifying the custom layout relative path and function name:
|
|
172
|
+
|
|
165
173
|
```
|
|
166
174
|
"customLayout": {
|
|
167
175
|
"source": "./custom_block/cli_block_with_meta.ts",
|
|
168
176
|
"functionName": "generateCustomLayoutSimpleMeta"
|
|
169
177
|
}
|
|
170
178
|
```
|
|
171
|
-
|
|
179
|
+
|
|
180
|
+
- `customLayoutAsync` - Similar to `customLayout`, except this key requires an async function:
|
|
181
|
+
|
|
172
182
|
```
|
|
173
183
|
"customLayoutAsync": {
|
|
174
184
|
"source": "./custom_block/cli_block_with_meta.ts",
|
|
@@ -176,78 +186,79 @@ The config file also supports the follow extra options:
|
|
|
176
186
|
}
|
|
177
187
|
```
|
|
178
188
|
|
|
179
|
-
|
|
180
189
|
The customLayout typescript file must export a function name using the `exports` syntax e.g. `exports.generateCustomLayoutSimpleMeta = generateCustomLayoutSimpleMeta;`
|
|
181
|
-
This file should not contain any `import` statements otherwise it will complain.
|
|
190
|
+
This file should not contain any `import` statements otherwise it will complain. See example below:
|
|
191
|
+
|
|
182
192
|
<details>
|
|
183
193
|
<summary>Example custom layout for CLI</summary>
|
|
184
194
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
type: 'section',
|
|
193
|
-
text: {
|
|
194
|
-
type: 'mrkdwn',
|
|
195
|
-
text: `\n*${key}* :🙌\t${value}`,
|
|
196
|
-
},
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
return [
|
|
201
|
-
{
|
|
195
|
+
```js
|
|
196
|
+
function generateCustomLayoutSimpleMeta(summaryResults) {
|
|
197
|
+
const meta = [];
|
|
198
|
+
if (summaryResults.meta) {
|
|
199
|
+
for (let i = 0; i < summaryResults.meta.length; i += 1) {
|
|
200
|
+
const { key, value } = summaryResults.meta[i];
|
|
201
|
+
meta.push({
|
|
202
202
|
type: 'section',
|
|
203
203
|
text: {
|
|
204
204
|
type: 'mrkdwn',
|
|
205
|
-
text:
|
|
206
|
-
summaryResults.failed === 0
|
|
207
|
-
? ':tada: All tests passed!'
|
|
208
|
-
: `😭${summaryResults.failed} failure(s) out of ${summaryResults.tests.length} tests`,
|
|
205
|
+
text: `\n*${key}* :🙌\t${value}`,
|
|
209
206
|
},
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
];
|
|
207
|
+
});
|
|
208
|
+
}
|
|
213
209
|
}
|
|
210
|
+
return [
|
|
211
|
+
{
|
|
212
|
+
type: 'section',
|
|
213
|
+
text: {
|
|
214
|
+
type: 'mrkdwn',
|
|
215
|
+
text:
|
|
216
|
+
summaryResults.failed === 0
|
|
217
|
+
? ':tada: All tests passed!'
|
|
218
|
+
: `😭${summaryResults.failed} failure(s) out of ${summaryResults.tests.length} tests`,
|
|
219
|
+
},
|
|
220
|
+
},
|
|
221
|
+
...meta,
|
|
222
|
+
];
|
|
223
|
+
}
|
|
214
224
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
type: 'section',
|
|
223
|
-
text: {
|
|
224
|
-
type: 'mrkdwn',
|
|
225
|
-
text: `\n*${key}* :😍\t${value}`,
|
|
226
|
-
},
|
|
227
|
-
});
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
return [
|
|
231
|
-
{
|
|
225
|
+
async function generateCustomAsyncLayoutSimpleMeta(summaryResults) {
|
|
226
|
+
const meta = [];
|
|
227
|
+
// do some async stuff here
|
|
228
|
+
if (summaryResults.meta) {
|
|
229
|
+
for (let i = 0; i < summaryResults.meta.length; i += 1) {
|
|
230
|
+
const { key, value } = summaryResults.meta[i];
|
|
231
|
+
meta.push({
|
|
232
232
|
type: 'section',
|
|
233
233
|
text: {
|
|
234
234
|
type: 'mrkdwn',
|
|
235
|
-
text:
|
|
236
|
-
summaryResults.failed === 0
|
|
237
|
-
? ':tada: All tests passed!'
|
|
238
|
-
: `😭${summaryResults.failed} failure(s) out of ${summaryResults.tests.length} tests`,
|
|
235
|
+
text: `\n*${key}* :😍\t${value}`,
|
|
239
236
|
},
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
];
|
|
237
|
+
});
|
|
238
|
+
}
|
|
243
239
|
}
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
240
|
+
return [
|
|
241
|
+
{
|
|
242
|
+
type: 'section',
|
|
243
|
+
text: {
|
|
244
|
+
type: 'mrkdwn',
|
|
245
|
+
text:
|
|
246
|
+
summaryResults.failed === 0
|
|
247
|
+
? ':tada: All tests passed!'
|
|
248
|
+
: `😭${summaryResults.failed} failure(s) out of ${summaryResults.tests.length} tests`,
|
|
249
|
+
},
|
|
250
|
+
},
|
|
251
|
+
...meta,
|
|
252
|
+
];
|
|
253
|
+
}
|
|
254
|
+
exports.generateCustomLayoutSimpleMeta = generateCustomLayoutSimpleMeta;
|
|
255
|
+
exports.generateCustomAsyncLayoutSimpleMeta =
|
|
256
|
+
generateCustomAsyncLayoutSimpleMeta;
|
|
257
|
+
```
|
|
248
258
|
|
|
259
|
+
</details>
|
|
249
260
|
|
|
250
|
-
|
|
261
|
+
_Config with extra options_
|
|
251
262
|
|
|
252
263
|
```json
|
|
253
264
|
{
|
|
@@ -259,10 +270,13 @@ This file should not contain any `import` statements otherwise it will complain.
|
|
|
259
270
|
},
|
|
260
271
|
"showInThread": true,
|
|
261
272
|
"meta": [
|
|
262
|
-
{ "key": "build", "value"
|
|
263
|
-
{ "key": "branch", "value"
|
|
264
|
-
{ "key": "commit", "value"
|
|
265
|
-
{
|
|
273
|
+
{ "key": "build", "value": "1.0.0" },
|
|
274
|
+
{ "key": "branch", "value": "master" },
|
|
275
|
+
{ "key": "commit", "value": "1234567890" },
|
|
276
|
+
{
|
|
277
|
+
"key": "results",
|
|
278
|
+
"value": "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"
|
|
279
|
+
}
|
|
266
280
|
],
|
|
267
281
|
"maxNumberOfFailures": 4,
|
|
268
282
|
"disableUnfurl": true,
|
|
@@ -277,11 +291,12 @@ Once you have generated the JSON report and defined your config file, you can se
|
|
|
277
291
|
|
|
278
292
|
`SLACK_BOT_USER_OAUTH_TOKEN=[your Slack bot user OAUTH token] npx playwright-slack-report -c cli_config.json -j > merged_tests_results.json`
|
|
279
293
|
|
|
280
|
-
Both the `-c` and `-j` options are required.
|
|
294
|
+
Both the `-c` and `-j` options are required. The `-c` option is the path to your config file and the `-j` option is the path to your merged JSON report. You will also need to pipe the output to a json file, using the `>` operator.
|
|
281
295
|
|
|
282
296
|
### Additional notes
|
|
283
|
-
|
|
284
|
-
|
|
297
|
+
|
|
298
|
+
- The config file for the cli app is stand-alone, which means you no longer need to define the Playwright slack reporter in your `playwright.config.ts` file
|
|
299
|
+
- In order to handle dynamic meta data e.g. environment variables storing your build id, branch name etc, you can use the `meta` option in the config file and use the format: `__ENV_VARIABLE_NAME` as its value. This will be replaced with the actual value of the environment variable at runtime. See example below:
|
|
285
300
|
|
|
286
301
|
```json
|
|
287
302
|
{
|
|
@@ -292,10 +307,13 @@ Both the `-c` and `-j` options are required. The `-c` option is the path to you
|
|
|
292
307
|
},
|
|
293
308
|
"showInThread": true,
|
|
294
309
|
"meta": [
|
|
295
|
-
{ "key": "build", "value"
|
|
296
|
-
{ "key": "branch", "value"
|
|
297
|
-
{ "key": "commit", "value"
|
|
298
|
-
{
|
|
310
|
+
{ "key": "build", "value": "__ENV_BUILD_ID" },
|
|
311
|
+
{ "key": "branch", "value": "__ENV_BRANCH_NAME" },
|
|
312
|
+
{ "key": "commit", "value": "__ENV_COMMIT_ID" },
|
|
313
|
+
{
|
|
314
|
+
"key": "results",
|
|
315
|
+
"value": "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"
|
|
316
|
+
}
|
|
299
317
|
],
|
|
300
318
|
"maxNumberOfFailures": 4,
|
|
301
319
|
"disableUnfurl": true
|
|
@@ -304,7 +322,7 @@ Both the `-c` and `-j` options are required. The `-c` option is the path to you
|
|
|
304
322
|
|
|
305
323
|
In your `cli_config.json` file:
|
|
306
324
|
|
|
307
|
-
`__ENV_BUILD_ID` is equivalent to `process.env.BUILD_ID`.
|
|
325
|
+
`__ENV_BUILD_ID` is equivalent to `process.env.BUILD_ID`. This will be automatically handled for you.
|
|
308
326
|
|
|
309
327
|
You will encounter the following error if the environment variable is not defined:
|
|
310
328
|
|
|
@@ -315,7 +333,6 @@ You will encounter the following error if the environment variable is not define
|
|
|
315
333
|
|
|
316
334
|
### Sample Github Actions workflow
|
|
317
335
|
|
|
318
|
-
|
|
319
336
|
```yaml
|
|
320
337
|
...
|
|
321
338
|
|
|
@@ -352,12 +369,10 @@ You will encounter the following error if the environment variable is not define
|
|
|
352
369
|
...
|
|
353
370
|
```
|
|
354
371
|
|
|
355
|
-
|
|
356
372
|
# ⚙️ Configuration (applicable for Option A and Option B)
|
|
357
373
|
|
|
358
374
|
An example advanced configuration is shown below:
|
|
359
375
|
|
|
360
|
-
|
|
361
376
|
```typescript
|
|
362
377
|
import { generateCustomLayout } from "./my_custom_layout";
|
|
363
378
|
import { LogLevel } from '@slack/web-api';
|
|
@@ -396,50 +411,77 @@ An example advanced configuration is shown below:
|
|
|
396
411
|
```
|
|
397
412
|
|
|
398
413
|
### **channels**
|
|
414
|
+
|
|
399
415
|
An array of Slack channels to post to, at least one channel is required
|
|
416
|
+
|
|
400
417
|
### **onSuccessChannels**
|
|
418
|
+
|
|
401
419
|
(Optional) An array of Slack channels to post to when tests have passed. Value from `channels` is used if not defined here
|
|
420
|
+
|
|
402
421
|
### **onFailureChannels**
|
|
422
|
+
|
|
403
423
|
(Optional) An array of Slack channels to post to when tests have failed. Value from `channels` is used if not defined here
|
|
424
|
+
|
|
404
425
|
### **sendResults**
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
426
|
+
|
|
427
|
+
Can either be _"always"_, _"on-failure"_ or _"off"_, this configuration is required:
|
|
428
|
+
|
|
429
|
+
- **always** - will send the results to Slack at completion of the test run
|
|
430
|
+
- **on-failure** - will send the results to Slack only if a test failures are encountered
|
|
431
|
+
- **off** - turns off the reporter, it will not send the results to Slack
|
|
432
|
+
|
|
409
433
|
### **layout**
|
|
410
|
-
|
|
411
|
-
|
|
434
|
+
|
|
435
|
+
A function that returns a layout object, this configuration is optional. See section below for more details.
|
|
436
|
+
|
|
437
|
+
- meta - an array of meta data to be sent to Slack, this configuration is optional.
|
|
438
|
+
|
|
412
439
|
### **layoutAsync**
|
|
440
|
+
|
|
413
441
|
Same as **layout** above, but asynchronous in that it returns a promise.
|
|
442
|
+
|
|
414
443
|
### **maxNumberOfFailuresToShow**
|
|
444
|
+
|
|
415
445
|
Limits the number of failures shown in the Slack message, defaults to 10.
|
|
446
|
+
|
|
416
447
|
### **slackOAuthToken**
|
|
448
|
+
|
|
417
449
|
Instead of providing an environment variable `SLACK_BOT_USER_OAUTH_TOKEN` you can specify the token in the config in the `slackOAuthToken` field.
|
|
450
|
+
|
|
418
451
|
### **slackLogLevel** (default LogLevel.DEBUG)
|
|
452
|
+
|
|
419
453
|
This option allows you to control slack client severity levels for log entries. It accepts a value from @slack/web-api `LogLevel` enum:
|
|
454
|
+
|
|
420
455
|
- ERROR
|
|
421
456
|
- WARN
|
|
422
457
|
- INFO
|
|
423
458
|
- DEBUG
|
|
424
459
|
|
|
425
460
|
Example: `slackLogLevel: "ERROR",` will only log errors to the console.
|
|
461
|
+
|
|
426
462
|
### **disableUnfurl** (default: true)
|
|
463
|
+
|
|
427
464
|
Enable or disable unfurling of links in Slack messages.
|
|
465
|
+
|
|
428
466
|
### **showInThread** (default: false)
|
|
467
|
+
|
|
429
468
|
Instructs the reporter to show the failure details in a thread instead of the main channel.
|
|
430
469
|
|
|
431
470
|

|
|
432
471
|
|
|
433
472
|
### **proxy** (optional)
|
|
473
|
+
|
|
434
474
|
String representation of your proxy server.
|
|
435
|
-
|
|
475
|
+
_Example_:
|
|
436
476
|
|
|
437
477
|
`proxy: "http://proxy.mycompany.com:8080",`
|
|
438
478
|
|
|
439
479
|
### **meta** (default: empty array)
|
|
440
|
-
|
|
480
|
+
|
|
481
|
+
The meta data to be sent to Slack. This is useful for providing additional context to your test run.
|
|
441
482
|
|
|
442
483
|
**Examples:**
|
|
484
|
+
|
|
443
485
|
```typescript
|
|
444
486
|
...
|
|
445
487
|
meta: [
|
|
@@ -467,16 +509,17 @@ Firstly, install the necessary type definitions:
|
|
|
467
509
|
|
|
468
510
|
`yarn add @slack/types -D`
|
|
469
511
|
|
|
470
|
-
|
|
471
|
-
Next, define your layout function. The signature of this function should adhere to example below:
|
|
512
|
+
Next, define your layout function. The signature of this function should adhere to example below:
|
|
472
513
|
|
|
473
514
|
```typescript
|
|
474
|
-
import { Block, KnownBlock } from
|
|
475
|
-
import { SummaryResults } from
|
|
515
|
+
import { Block, KnownBlock } from '@slack/types';
|
|
516
|
+
import { SummaryResults } from 'playwright-slack-report/dist/src';
|
|
476
517
|
|
|
477
|
-
const generateCustomLayout = (
|
|
518
|
+
const generateCustomLayout = (
|
|
519
|
+
summaryResults: SummaryResults,
|
|
520
|
+
): Array<KnownBlock | Block> => {
|
|
478
521
|
// your implementation goes here
|
|
479
|
-
}
|
|
522
|
+
};
|
|
480
523
|
|
|
481
524
|
export default generateCustomLayout;
|
|
482
525
|
```
|
|
@@ -501,7 +544,7 @@ In your, `playwright.config.ts` file, add your function into the config.
|
|
|
501
544
|
],
|
|
502
545
|
```
|
|
503
546
|
|
|
504
|
-
>Pro Tip:
|
|
547
|
+
> Pro Tip: You can use the [block-kit provided by Slack when creating your layout.](https://app.slack.com/block-kit-builder/)
|
|
505
548
|
|
|
506
549
|
### Examples:
|
|
507
550
|
|
|
@@ -533,7 +576,6 @@ Generates the following message in Slack:
|
|
|
533
576
|
|
|
534
577
|

|
|
535
578
|
|
|
536
|
-
|
|
537
579
|
**Example 2: - very simple summary (with Meta information)**
|
|
538
580
|
|
|
539
581
|
Add the meta block in your config:
|
|
@@ -566,7 +608,7 @@ import { SummaryResults } from '..';
|
|
|
566
608
|
export default function generateCustomLayoutSimpleMeta(
|
|
567
609
|
summaryResults: SummaryResults,
|
|
568
610
|
): Array<Block | KnownBlock> {
|
|
569
|
-
const meta: { type: string; text: { type: string; text: string
|
|
611
|
+
const meta: { type: string; text: { type: string; text: string } }[] = [];
|
|
570
612
|
if (summaryResults.meta) {
|
|
571
613
|
for (let i = 0; i < summaryResults.meta.length; i += 1) {
|
|
572
614
|
const { key, value } = summaryResults.meta[i];
|
|
@@ -593,14 +635,12 @@ export default function generateCustomLayoutSimpleMeta(
|
|
|
593
635
|
...meta,
|
|
594
636
|
];
|
|
595
637
|
}
|
|
596
|
-
|
|
597
638
|
```
|
|
598
639
|
|
|
599
640
|
Generates the following message in Slack:
|
|
600
641
|
|
|
601
642
|

|
|
602
643
|
|
|
603
|
-
|
|
604
644
|
**Example 3: - With screenshots and/or recorded videos (using AWS S3)**
|
|
605
645
|
|
|
606
646
|
In your, `playwright.config.ts` file, add these params (Make sure you use **layoutAsync** rather than **layout**):
|
|
@@ -629,16 +669,16 @@ In your, `playwright.config.ts` file, add these params (Make sure you use **layo
|
|
|
629
669
|
Create the function to generate the layout asynchronously in `my_custom_layout.ts`:
|
|
630
670
|
|
|
631
671
|
```typescript
|
|
632
|
-
import fs from
|
|
633
|
-
import path from
|
|
634
|
-
import { Block, KnownBlock } from
|
|
635
|
-
import { SummaryResults } from
|
|
636
|
-
import { PutObjectCommand, S3Client } from
|
|
672
|
+
import fs from 'fs';
|
|
673
|
+
import path from 'path';
|
|
674
|
+
import { Block, KnownBlock } from '@slack/types';
|
|
675
|
+
import { SummaryResults } from 'playwright-slack-report/dist/src';
|
|
676
|
+
import { PutObjectCommand, S3Client } from '@aws-sdk/client-s3';
|
|
637
677
|
|
|
638
678
|
const s3Client = new S3Client({
|
|
639
679
|
credentials: {
|
|
640
|
-
accessKeyId: process.env.S3_ACCESS_KEY ||
|
|
641
|
-
secretAccessKey: process.env.S3_SECRET ||
|
|
680
|
+
accessKeyId: process.env.S3_ACCESS_KEY || '',
|
|
681
|
+
secretAccessKey: process.env.S3_SECRET || '',
|
|
642
682
|
},
|
|
643
683
|
region: process.env.S3_REGION,
|
|
644
684
|
});
|
|
@@ -653,33 +693,34 @@ async function uploadFile(filePath, fileName) {
|
|
|
653
693
|
Bucket: process.env.S3_BUCKET,
|
|
654
694
|
Key: name,
|
|
655
695
|
Body: fs.createReadStream(filePath),
|
|
656
|
-
})
|
|
696
|
+
}),
|
|
657
697
|
);
|
|
658
698
|
|
|
659
699
|
return `https://${process.env.S3_BUCKET}.s3.${process.env.S3_REGION}.amazonaws.com/${name}`;
|
|
660
700
|
} catch (err) {
|
|
661
|
-
console.log(
|
|
701
|
+
console.log('🔥🔥 Error', err);
|
|
662
702
|
}
|
|
663
703
|
}
|
|
664
704
|
|
|
665
|
-
|
|
666
|
-
|
|
705
|
+
export async function generateCustomLayoutAsync(
|
|
706
|
+
summaryResults: SummaryResults,
|
|
707
|
+
): Promise<Array<KnownBlock | Block>> {
|
|
667
708
|
const { tests } = summaryResults;
|
|
668
709
|
// create your custom slack blocks
|
|
669
710
|
|
|
670
711
|
const header = {
|
|
671
|
-
type:
|
|
712
|
+
type: 'header',
|
|
672
713
|
text: {
|
|
673
|
-
type:
|
|
674
|
-
text:
|
|
714
|
+
type: 'plain_text',
|
|
715
|
+
text: '🎭 *Playwright E2E Test Results*',
|
|
675
716
|
emoji: true,
|
|
676
717
|
},
|
|
677
718
|
};
|
|
678
719
|
|
|
679
720
|
const summary = {
|
|
680
|
-
type:
|
|
721
|
+
type: 'section',
|
|
681
722
|
text: {
|
|
682
|
-
type:
|
|
723
|
+
type: 'mrkdwn',
|
|
683
724
|
text: `✅ *${summaryResults.passed}* | ❌ *${summaryResults.failed}* | ⏩ *${summaryResults.skipped}*`,
|
|
684
725
|
},
|
|
685
726
|
};
|
|
@@ -687,13 +728,12 @@ export async function generateCustomLayoutAsync (summaryResults: SummaryResults)
|
|
|
687
728
|
const fails: Array<KnownBlock | Block> = [];
|
|
688
729
|
|
|
689
730
|
for (const t of tests) {
|
|
690
|
-
if (t.status ===
|
|
691
|
-
|
|
731
|
+
if (t.status === 'failed' || t.status === 'timedOut') {
|
|
692
732
|
fails.push({
|
|
693
|
-
type:
|
|
733
|
+
type: 'section',
|
|
694
734
|
text: {
|
|
695
|
-
type:
|
|
696
|
-
text: `👎 *[${t.browser}] | ${t.suiteName.replace(/\W/gi,
|
|
735
|
+
type: 'mrkdwn',
|
|
736
|
+
text: `👎 *[${t.browser}] | ${t.suiteName.replace(/\W/gi, '-')}*`,
|
|
697
737
|
},
|
|
698
738
|
});
|
|
699
739
|
|
|
@@ -705,15 +745,15 @@ export async function generateCustomLayoutAsync (summaryResults: SummaryResults)
|
|
|
705
745
|
// In my case I upload the to S3 bucket
|
|
706
746
|
const permalink = await uploadFile(
|
|
707
747
|
a.path,
|
|
708
|
-
`${t.suiteName}--${t.name}`.replace(/\W/gi,
|
|
748
|
+
`${t.suiteName}--${t.name}`.replace(/\W/gi, '-').toLowerCase(),
|
|
709
749
|
);
|
|
710
750
|
|
|
711
751
|
if (permalink) {
|
|
712
|
-
let icon =
|
|
713
|
-
if (a.name ===
|
|
714
|
-
icon =
|
|
715
|
-
} else if (a.name ===
|
|
716
|
-
icon =
|
|
752
|
+
let icon = '';
|
|
753
|
+
if (a.name === 'screenshot') {
|
|
754
|
+
icon = '📸';
|
|
755
|
+
} else if (a.name === 'video') {
|
|
756
|
+
icon = '🎥';
|
|
717
757
|
}
|
|
718
758
|
|
|
719
759
|
assets.push(`${icon} See the <${permalink}|${a.name}>`);
|
|
@@ -723,21 +763,21 @@ export async function generateCustomLayoutAsync (summaryResults: SummaryResults)
|
|
|
723
763
|
|
|
724
764
|
if (assets.length > 0) {
|
|
725
765
|
fails.push({
|
|
726
|
-
type:
|
|
727
|
-
elements: [{ type:
|
|
766
|
+
type: 'context',
|
|
767
|
+
elements: [{ type: 'mrkdwn', text: assets.join('\n') }],
|
|
728
768
|
});
|
|
729
769
|
}
|
|
730
770
|
}
|
|
731
771
|
}
|
|
732
772
|
|
|
733
|
-
return [header, summary, { type:
|
|
773
|
+
return [header, summary, { type: 'divider' }, ...fails];
|
|
734
774
|
}
|
|
735
|
-
|
|
736
775
|
```
|
|
737
776
|
|
|
738
777
|
**Example 4: - Upload the attachments to directly to Slack**
|
|
739
778
|
|
|
740
779
|
To enable this functionality, make sure the slackbot user has the following additional scopes:
|
|
780
|
+
|
|
741
781
|
- `files:write`
|
|
742
782
|
- `files:read`
|
|
743
783
|
|
|
@@ -750,64 +790,84 @@ The value of the channel_id should be the channel id of the channel you want to
|
|
|
750
790
|
^ the bit starting with 'C...' is your channel id. In this case, the channel id is `C05H7TKVDUK`
|
|
751
791
|
|
|
752
792
|
```typescript
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
const slackClient = new web_api_1.WebClient(
|
|
756
|
-
|
|
757
|
-
|
|
793
|
+
import web_api_1 from '@slack/web-api';
|
|
794
|
+
import fs from 'fs';
|
|
795
|
+
const slackClient = new web_api_1.WebClient(
|
|
796
|
+
process.env.SLACK_BOT_USER_OAUTH_TOKEN,
|
|
797
|
+
);
|
|
798
|
+
|
|
799
|
+
async function uploadFile(
|
|
800
|
+
filePath: string,
|
|
801
|
+
): Promise<web_api_1.FilesCompleteUploadExternalResponse[] | undefined> {
|
|
758
802
|
try {
|
|
759
|
-
const result = await slackClient.
|
|
760
|
-
channel_id: 'C05H7TKVDUK',
|
|
803
|
+
const result = await slackClient.filesUploadV2({
|
|
804
|
+
channel_id: 'C05H7TKVDUK', // << this is the channel id not channel name! ☠️
|
|
761
805
|
file: fs.createReadStream(filePath),
|
|
762
806
|
filename: filePath.split('/').at(-1),
|
|
763
807
|
});
|
|
764
808
|
|
|
765
|
-
return result.
|
|
809
|
+
return result.files;
|
|
766
810
|
} catch (error) {
|
|
767
811
|
console.log('🔥🔥 error', error);
|
|
768
812
|
}
|
|
769
813
|
}
|
|
770
814
|
|
|
771
|
-
export async function
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
815
|
+
export default async function generateCustomLayout(
|
|
816
|
+
summaryResults: SummaryResults,
|
|
817
|
+
): Promise<({ type: string; text: { type: string; text: string } } | Block)[]> {
|
|
818
|
+
const header = {
|
|
819
|
+
type: 'header',
|
|
820
|
+
text: {
|
|
821
|
+
type: 'plain_text',
|
|
822
|
+
text: '🎭 *Playwright E2E Test Results*',
|
|
823
|
+
emoji: true,
|
|
824
|
+
},
|
|
825
|
+
};
|
|
776
826
|
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
827
|
+
const summary = {
|
|
828
|
+
type: 'section',
|
|
829
|
+
text: {
|
|
830
|
+
type: 'mrkdwn',
|
|
831
|
+
text: `✅ *${summaryResults.passed}* | ❌ *${summaryResults.failed}* | ⏩ *${summaryResults.skipped}*`,
|
|
832
|
+
},
|
|
833
|
+
};
|
|
780
834
|
|
|
781
|
-
|
|
782
|
-
|
|
835
|
+
const fails: Array<KnownBlock | Block> = [];
|
|
836
|
+
const { tests } = summaryResults;
|
|
837
|
+
for (const test of tests) {
|
|
838
|
+
if (test.attachments) {
|
|
839
|
+
for (const attachment of test.attachments) {
|
|
840
|
+
const uploadResult = await uploadFile(attachment.path);
|
|
841
|
+
|
|
842
|
+
if (uploadResult && uploadResult[0].files) {
|
|
843
|
+
const { name, permalink } = uploadResult[0].files[0];
|
|
844
|
+
if (name === 'image' && permalink) {
|
|
783
845
|
fails.push({
|
|
784
846
|
alt_text: '',
|
|
785
|
-
image_url:
|
|
786
|
-
title: { type: 'plain_text', text:
|
|
847
|
+
image_url: permalink,
|
|
848
|
+
title: { type: 'plain_text', text: name || '' },
|
|
787
849
|
type: 'image',
|
|
788
850
|
});
|
|
789
851
|
}
|
|
790
852
|
|
|
791
|
-
if (
|
|
853
|
+
if (name === 'video' && permalink) {
|
|
792
854
|
fails.push({
|
|
793
855
|
alt_text: '',
|
|
794
856
|
// NOTE:
|
|
795
857
|
// Slack requires thumbnail_url length to be more that 0
|
|
796
858
|
// Either set screenshot url as the thumbnail or add a placeholder image url
|
|
797
859
|
thumbnail_url: '',
|
|
798
|
-
title: { type: 'plain_text', text:
|
|
860
|
+
title: { type: 'plain_text', text: name || '' },
|
|
799
861
|
type: 'video',
|
|
800
|
-
video_url:
|
|
862
|
+
video_url: permalink,
|
|
801
863
|
});
|
|
802
864
|
}
|
|
803
865
|
}
|
|
804
866
|
}
|
|
805
867
|
}
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
return [header, summary, { type: "divider" }, ...fails]
|
|
868
|
+
}
|
|
869
|
+
return [header, summary, ...fails];
|
|
809
870
|
}
|
|
810
|
-
|
|
811
871
|
```
|
|
812
872
|
|
|
813
873
|
# 🔑 License
|
|
@@ -836,10 +896,10 @@ e.g.
|
|
|
836
896
|
}
|
|
837
897
|
```
|
|
838
898
|
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
899
|
+
- Execute `npm install`
|
|
900
|
+
- Set your `SLACK_BOT_USER_OAUTH_TOKEN` environment variable
|
|
901
|
+
- Modify the `playwright.config.ts` as above
|
|
902
|
+
- Run the tests using `npx playwright text`
|
|
843
903
|
|
|
844
904
|
# 🐛 Something not working for you?
|
|
845
905
|
|
package/dist/cli.js
CHANGED
|
@@ -82,8 +82,8 @@ program
|
|
|
82
82
|
const meta = replaceEnvVars(config.meta);
|
|
83
83
|
summaryResults = { ...resultSummary, meta };
|
|
84
84
|
const webhookResult = await slackWebhookClient.sendMessage({
|
|
85
|
-
customLayout:
|
|
86
|
-
customLayoutAsync:
|
|
85
|
+
customLayout: await attemptToImportLayout(config.customLayout?.source, config.customLayout?.functionName),
|
|
86
|
+
customLayoutAsync: await attemptToImportLayout(config.customLayoutAsync?.source, config.customLayoutAsync?.functionName),
|
|
87
87
|
maxNumberOfFailures: config.maxNumberOfFailures,
|
|
88
88
|
disableUnfurl: config.disableUnfurl,
|
|
89
89
|
summaryResults,
|
|
@@ -55,7 +55,8 @@ const generateFailures = async (summaryResults, maxNumberOfFailures) => {
|
|
|
55
55
|
},
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
|
-
if (maxNumberOfFailures > 0
|
|
58
|
+
if (maxNumberOfFailures > 0
|
|
59
|
+
&& summaryResults.failures.length > maxNumberOfFailures) {
|
|
59
60
|
fails.push({
|
|
60
61
|
type: 'section',
|
|
61
62
|
text: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutGenerator.js","sourceRoot":"","sources":["../../src/LayoutGenerator.ts"],"names":[],"mappings":";;;AAGA,MAAM,cAAc,GAAG,KAAK,EAC1B,cAA8B,EAC9B,mBAA2B,EACS,EAAE;IACtC,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,yBAAyB;SAChC;KACF,CAAC;IACF,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM,cAAc,CAAC,MAAM,UAAU,cAAc,CAAC,MAAM,MAC9D,cAAc,CAAC,KAAK,KAAK,SAAS;gBAChC,CAAC,CAAC,QAAQ,cAAc,CAAC,KAAK,MAAM;gBACpC,CAAC,CAAC,GACN,MAAM,cAAc,CAAC,OAAO,GAAG;SAChC;KACF,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;IAE1E,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM,GAAG,QAAQ,KAAK,EAAE;iBAC/B;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;AAC9C,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"LayoutGenerator.js","sourceRoot":"","sources":["../../src/LayoutGenerator.ts"],"names":[],"mappings":";;;AAGA,MAAM,cAAc,GAAG,KAAK,EAC1B,cAA8B,EAC9B,mBAA2B,EACS,EAAE;IACtC,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,yBAAyB;SAChC;KACF,CAAC;IACF,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM,cAAc,CAAC,MAAM,UAAU,cAAc,CAAC,MAAM,MAC9D,cAAc,CAAC,KAAK,KAAK,SAAS;gBAChC,CAAC,CAAC,QAAQ,cAAc,CAAC,KAAK,MAAM;gBACpC,CAAC,CAAC,GACN,MAAM,cAAc,CAAC,OAAO,GAAG;SAChC;KACF,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;IAE1E,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM,GAAG,QAAQ,KAAK,EAAE;iBAC/B;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;AAC9C,CAAC,CAAC;AA4DO,wCAAc;AA1DvB,MAAM,gBAAgB,GAAG,KAAK,EAC5B,cAA8B,EAC9B,mBAA2B,EACS,EAAE;IACtC,MAAM,wBAAwB,GAAG,GAAG,CAAC;IACrC,MAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,CACrC,cAAc,CAAC,QAAQ,CAAC,MAAM,EAC9B,mBAAmB,CACpB,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,sBAAsB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,gBAAgB,GAAG,aAAa;aACnC,SAAS,CAAC,CAAC,EAAE,wBAAwB,CAAC;aACtC,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;aACnB,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,SAAS;YACf,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,IAAI,KAAK,MAAM,IAAI;YACrB,gBAAgB,EAAE;aACvB;SACF,CAAC,CAAC;IACL,CAAC;IAED,IACE,mBAAmB,GAAG,CAAC;WACpB,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,mBAAmB,EACvD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,SAAS;YACf,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,gDAAgD,KAAK,CAAC,MAAM,WAAW,cAAc,CAAC,QAAQ,CAAC,MAAM,kBAAkB;aAC9H;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO;QACL;YACE,IAAI,EAAE,SAAS;SAChB;QACD,GAAG,KAAK;KACT,CAAC;AACJ,CAAC,CAAC;AAMuB,4CAAgB;AAJzC,MAAM,oBAAoB,GAAG,CAAC,cAA8B,EAAU,EAAE,CAAC,KAAK,cAAc,CAAC,MAAM,MAAM,cAAc,CAAC,MAAM,IAC5H,cAAc,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,cAAc,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GACxE,KAAK,cAAc,CAAC,OAAO,EAAE,CAAC;AAEa,oDAAoB"}
|
|
@@ -182,7 +182,8 @@ class ResultsParser {
|
|
|
182
182
|
const resIndex = this.result.findIndex((res) => res.testSuite.title === data.testSuite.title);
|
|
183
183
|
if (resIndex > -1) {
|
|
184
184
|
for (const test of data.testSuite.tests) {
|
|
185
|
-
const testIndex = this.result[resIndex].testSuite.tests.findIndex((tes) => `${tes.projectName}${tes.name}`
|
|
185
|
+
const testIndex = this.result[resIndex].testSuite.tests.findIndex((tes) => `${tes.projectName}${tes.name}`
|
|
186
|
+
=== `${test.projectName}${test.name}`);
|
|
186
187
|
if (testIndex > -1) {
|
|
187
188
|
this.result[resIndex].testSuite.tests[testIndex] = test;
|
|
188
189
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResultsParser.js","sourceRoot":"","sources":["../../src/ResultsParser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ResultsParser.js","sourceRoot":"","sources":["../../src/ResultsParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,7 +59,8 @@ class SlackReporter {
|
|
|
59
59
|
: 10;
|
|
60
60
|
this.slackOAuthToken = slackReporterConfig.slackOAuthToken || undefined;
|
|
61
61
|
this.slackWebHookUrl = slackReporterConfig.slackWebHookUrl || undefined;
|
|
62
|
-
this.slackWebHookChannel
|
|
62
|
+
this.slackWebHookChannel
|
|
63
|
+
= slackReporterConfig.slackWebHookChannel || undefined;
|
|
63
64
|
this.disableUnfurl = slackReporterConfig.disableUnfurl || false;
|
|
64
65
|
this.showInThread = slackReporterConfig.showInThread || false;
|
|
65
66
|
this.slackLogLevel = slackReporterConfig.slackLogLevel || web_api_1.LogLevel.DEBUG;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlackReporter.js","sourceRoot":"","sources":["../../src/SlackReporter.ts"],"names":[],"mappings":";;;;;AASA,4CAAqD;AACrD,yDAAoD;AACpD,4CAAiD;AACjD,oEAA4C;AAC5C,gEAAwC;AACxC,8EAAsD;AAEtD,MAAM,aAAa;IACT,YAAY,CAAuB;IAEnC,iBAAiB,CAAuB;IAExC,yBAAyB,CAAS;IAElC,YAAY,CAAU;IAEtB,IAAI,GAA0C,EAAE,CAAC;IAEjD,aAAa,CAAgB;IAE7B,WAAW,GAAoC,YAAY,CAAC;IAE5D,sBAAsB,GAAa,EAAE,CAAC;IAEtC,sBAAsB,GAAa,EAAE,CAAC;IAEtC,aAAa,CAAuB;IAEpC,eAAe,CAAqB;IAEpC,eAAe,CAAqB;IAEpC,mBAAmB,CAAqB;IAExC,aAAa,CAAsB;IAEnC,KAAK,CAAqB;IAE1B,QAAQ,GAA+C,EAAE,CAAC;IAE1D,KAAK,CAAS;IAEtB,IAAI,GAAa,EAAE,CAAC;IAEpB,OAAO,CAAC,UAAsB,EAAE,KAAY;QAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,MAAM,mBAAmB,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClH,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,mCAAmC;YACnC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAChD,WAAW,EAAE,GAAG,CAAC,IAAI;gBACrB,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW;oBAC1B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW;oBACrB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB;aAC/B,CAAC,CAAC,CAAC;QACN,CAAC;QAED,IAAI,mBAAmB,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC,IAAI,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC,WAAW,IAAI,QAAQ,CAAC;YAC/D,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC;YAC/C,IAAI,CAAC,iBAAiB,GAAG,mBAAmB,CAAC,WAAW,CAAC;YACzD,IAAI,CAAC,sBAAsB;kBACvB,mBAAmB,CAAC,iBAAiB,IAAI,mBAAmB,CAAC,QAAQ,CAAC;YAC1E,IAAI,CAAC,sBAAsB;kBACvB,mBAAmB,CAAC,iBAAiB,IAAI,mBAAmB,CAAC,QAAQ,CAAC;YAC1E,IAAI,CAAC,yBAAyB;kBAC1B,mBAAmB,CAAC,yBAAyB,KAAK,SAAS;oBAC3D,CAAC,CAAC,mBAAmB,CAAC,yBAAyB;oBAC/C,CAAC,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,eAAe,GAAG,mBAAmB,CAAC,eAAe,IAAI,SAAS,CAAC;YACxE,IAAI,CAAC,eAAe,GAAG,mBAAmB,CAAC,eAAe,IAAI,SAAS,CAAC;YACxE,IAAI,CAAC,mBAAmB,
|
|
1
|
+
{"version":3,"file":"SlackReporter.js","sourceRoot":"","sources":["../../src/SlackReporter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"dependencies": {
|
|
3
|
-
"@slack/web-api": "^7.
|
|
3
|
+
"@slack/web-api": "^7.6.0",
|
|
4
4
|
"@slack/webhook": "^7.0.1",
|
|
5
5
|
"commander": "^11.1.0",
|
|
6
6
|
"https-proxy-agent": "^7.0.5",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
"devDependencies": {
|
|
11
11
|
"@slack/types": "^2.14.0",
|
|
12
|
-
"@playwright/test": "^1.
|
|
12
|
+
"@playwright/test": "^1.48.1",
|
|
13
13
|
"@typescript-eslint/eslint-plugin": "^5.30.6",
|
|
14
14
|
"@typescript-eslint/parser": "^5.30.6",
|
|
15
15
|
"dotenv": "^16.0.1",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"eslint-config-airbnb-base": "^15.0.0",
|
|
18
18
|
"eslint-config-node": "^4.1.0",
|
|
19
19
|
"eslint-config-prettier": "^9.1.0",
|
|
20
|
-
"eslint-plugin-import": "^2.
|
|
20
|
+
"eslint-plugin-import": "^2.31.0",
|
|
21
21
|
"eslint-plugin-node": "^11.1.0",
|
|
22
22
|
"eslint-plugin-prettier": "^5.2.1",
|
|
23
23
|
"nyc": "^17.1.0",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"cli-debug": "yarn build && npx . -c ./cli_config.json -j ./tests/test_data/valid_test_results.json"
|
|
36
36
|
},
|
|
37
37
|
"name": "playwright-slack-report",
|
|
38
|
-
"version": "1.1.
|
|
38
|
+
"version": "1.1.89",
|
|
39
39
|
"bin": {
|
|
40
40
|
"playwright-slack-report": "dist/cli.js"
|
|
41
41
|
},
|