reporting-labs 0.1.3 → 0.1.5
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 +31 -10
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<p align="center"><img src="https://raw.githubusercontent.com/
|
|
1
|
+
<p align="center"><img src="https://raw.githubusercontent.com/naveenautomationlabs/reporting-labs/main/assets/logo-wordmark.svg" alt="reportingLabs" width="320"></p>
|
|
2
2
|
|
|
3
3
|
# reportingLabs
|
|
4
4
|
|
|
@@ -8,7 +8,7 @@ reportingLabs turns a test run into a single, self-contained HTML report. No ser
|
|
|
8
8
|
|
|
9
9
|
It is runner-agnostic by design: the report is built from a plain JSON model that adapters feed. The **Playwright adapter ships today**; WebdriverIO, Cypress and Jest/Vitest adapters are on the roadmap.
|
|
10
10
|
|
|
11
|
-
<p align="center"><img src="https://raw.githubusercontent.com/
|
|
11
|
+
<p align="center"><img src="https://raw.githubusercontent.com/naveenautomationlabs/reporting-labs/main/docs/overview.png" alt="Overview page of a reportingLabs report" width="900"></p>
|
|
12
12
|
|
|
13
13
|
## Quick start
|
|
14
14
|
|
|
@@ -81,6 +81,27 @@ reporter: process.env.CI
|
|
|
81
81
|
: [['list'], ['html', { open: 'never' }], ['reporting-labs', reportingLabs]],
|
|
82
82
|
```
|
|
83
83
|
|
|
84
|
+
## Examples you can copy
|
|
85
|
+
|
|
86
|
+
The [`examples/`](https://github.com/naveenautomationlabs/reporting-labs/tree/main/examples) folder has one small spec per feature. Each one runs offline in a few seconds, so you can read it, run it, and copy what you need.
|
|
87
|
+
|
|
88
|
+
| Spec | What it shows |
|
|
89
|
+
|---|---|
|
|
90
|
+
| [01-tag-your-tests.spec.ts](https://github.com/naveenautomationlabs/reporting-labs/blob/main/examples/01-tag-your-tests.spec.ts) | `meta()` with priority, severity, owner, feature, story; the same via tags and annotations |
|
|
91
|
+
| [02-logs-and-test-data.spec.ts](https://github.com/naveenautomationlabs/reporting-labs/blob/main/examples/02-logs-and-test-data.spec.ts) | `log()` lines and `testData()` as key/value, table and CSV, with secrets masked |
|
|
92
|
+
| [03-api-calls.spec.ts](https://github.com/naveenautomationlabs/reporting-labs/blob/main/examples/03-api-calls.spec.ts) | `recordApi()` around `request.post`, `api()` for manual records, a 404 in the API tab |
|
|
93
|
+
| [04-steps-and-attachments.spec.ts](https://github.com/naveenautomationlabs/reporting-labs/blob/main/examples/04-steps-and-attachments.spec.ts) | `test.step()` bars, screenshot / JSON attachments, visual comparison viewer |
|
|
94
|
+
| [05-outcomes.spec.ts](https://github.com/naveenautomationlabs/reporting-labs/blob/main/examples/05-outcomes.spec.ts) | skip with a reason, fixme, expected failure, timeout, a plain failure, a flaky test |
|
|
95
|
+
| [06-bdd-style.spec.ts](https://github.com/naveenautomationlabs/reporting-labs/blob/main/examples/06-bdd-style.spec.ts) | Given / When / Then steps rendered as Gherkin |
|
|
96
|
+
| [reporting-labs.config.ts](https://github.com/naveenautomationlabs/reporting-labs/blob/main/examples/reporting-labs.config.ts) | A complete reporter config, every option commented |
|
|
97
|
+
| [playwright.config.ts](https://github.com/naveenautomationlabs/reporting-labs/blob/main/examples/playwright.config.ts) | How the reporter sits next to the built-in reporters |
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
git clone https://github.com/naveenautomationlabs/reporting-labs
|
|
101
|
+
cd reporting-labs/examples && npm install && npx playwright test
|
|
102
|
+
open reporting-labs/index.html
|
|
103
|
+
```
|
|
104
|
+
|
|
84
105
|
## A tour of the report
|
|
85
106
|
|
|
86
107
|
### Overview: the state of the run in one screen
|
|
@@ -92,9 +113,9 @@ reporter: process.env.CI
|
|
|
92
113
|
- **Breakdown**: stacked bars per priority, severity, feature, owner, spec file, project or tag. Click a row to filter the test list. With more than one project you also get a feature × project heatmap.
|
|
93
114
|
- **Slowest tests** and **Got slower** (tests that took 2× longer than last run), **Flakiest tests**, **Skipped** (with reasons), **Environment** and the **Trend** across runs.
|
|
94
115
|
|
|
95
|
-
<p align="center"><img src="https://raw.githubusercontent.com/
|
|
116
|
+
<p align="center"><img src="https://raw.githubusercontent.com/naveenautomationlabs/reporting-labs/main/docs/heatmap.png" alt="Breakdown card with the feature by project heatmap" width="900"></p>
|
|
96
117
|
|
|
97
|
-
<p align="center"><img src="https://raw.githubusercontent.com/
|
|
118
|
+
<p align="center"><img src="https://raw.githubusercontent.com/naveenautomationlabs/reporting-labs/main/docs/trend.png" alt="Trend chart with hover tooltip" width="900"></p>
|
|
98
119
|
|
|
99
120
|
### Failures: everything you need to triage
|
|
100
121
|
|
|
@@ -103,7 +124,7 @@ reporter: process.env.CI
|
|
|
103
124
|
- **Copy summary**: a Slack/Teams-ready message with top failures, owners, ticket keys and an owner breakdown.
|
|
104
125
|
- The table shows every failed or flaky test with its history over the last runs as dots.
|
|
105
126
|
|
|
106
|
-
<p align="center"><img src="https://raw.githubusercontent.com/
|
|
127
|
+
<p align="center"><img src="https://raw.githubusercontent.com/naveenautomationlabs/reporting-labs/main/docs/failures.png" alt="Failures page" width="900"></p>
|
|
107
128
|
|
|
108
129
|
### Test detail: the error, the steps, the evidence
|
|
109
130
|
|
|
@@ -113,11 +134,11 @@ reporter: process.env.CI
|
|
|
113
134
|
- Retries as tabs, screenshots inline (click to zoom), videos, traces, console output, logs, test data and API calls.
|
|
114
135
|
- **Open in VS Code** jumps to the failing line.
|
|
115
136
|
|
|
116
|
-
<p align="center"><img src="https://raw.githubusercontent.com/
|
|
137
|
+
<p align="center"><img src="https://raw.githubusercontent.com/naveenautomationlabs/reporting-labs/main/docs/test-detail.png" alt="Test detail with expected vs received diff and step bars" width="900"></p>
|
|
117
138
|
|
|
118
139
|
### Timeline: how the run used its workers
|
|
119
140
|
|
|
120
|
-
<p align="center"><img src="https://raw.githubusercontent.com/
|
|
141
|
+
<p align="center"><img src="https://raw.githubusercontent.com/naveenautomationlabs/reporting-labs/main/docs/timeline.png" alt="Timeline by worker" width="900"></p>
|
|
121
142
|
|
|
122
143
|
## Make the report smarter: tag your tests
|
|
123
144
|
|
|
@@ -132,7 +153,7 @@ test('completes purchase', async ({ page }) => {
|
|
|
132
153
|
});
|
|
133
154
|
```
|
|
134
155
|
|
|
135
|
-
Tags work too: `{ tag: ['@P1', '@severity:critical', '@owner:priya'] }`. Plain annotations (`test.info().annotations.push({ type: 'priority', description: 'P1' })`) are picked up as well.
|
|
156
|
+
Full example: [examples/01-tag-your-tests.spec.ts](https://github.com/naveenautomationlabs/reporting-labs/blob/main/examples/01-tag-your-tests.spec.ts). Tags work too: `{ tag: ['@P1', '@severity:critical', '@owner:priya'] }`. Plain annotations (`test.info().annotations.push({ type: 'priority', description: 'P1' })`) are picked up as well.
|
|
136
157
|
|
|
137
158
|
Turn story, epic or issue keys into links:
|
|
138
159
|
|
|
@@ -157,7 +178,7 @@ test('creates an order', async ({ request }) => {
|
|
|
157
178
|
});
|
|
158
179
|
```
|
|
159
180
|
|
|
160
|
-
Passwords, tokens, API keys, `Authorization` / `Cookie` headers, JWTs and `Bearer …` values are masked as `****` everywhere. Add your own keys with `maskKeys: ['otp', 'pan']`.
|
|
181
|
+
Full examples: [02-logs-and-test-data.spec.ts](https://github.com/naveenautomationlabs/reporting-labs/blob/main/examples/02-logs-and-test-data.spec.ts) and [03-api-calls.spec.ts](https://github.com/naveenautomationlabs/reporting-labs/blob/main/examples/03-api-calls.spec.ts). Passwords, tokens, API keys, `Authorization` / `Cookie` headers, JWTs and `Bearer …` values are masked as `****` everywhere. Add your own keys with `maskKeys: ['otp', 'pan']`.
|
|
161
182
|
|
|
162
183
|
## Run history: new vs known, flaky, slower
|
|
163
184
|
|
|
@@ -257,7 +278,7 @@ Two things to set up:
|
|
|
257
278
|
1. **Publish the report.** Upload `reporting-labs/` as a build artifact (or archive it in Jenkins). Screenshots and fonts are inside `index.html`; videos and large files sit in `reporting-labs/assets/`.
|
|
258
279
|
2. **Keep the history.** `reporting-labs.history.json` is what powers the trend, new vs known failures, flaky history and duration regressions. On GitHub Actions restore and save it with `actions/cache`; on Jenkins the workspace usually persists on its own.
|
|
259
280
|
|
|
260
|
-
Ready-to-copy samples: [docs/ci/github-actions.yml](https://github.com/
|
|
281
|
+
Ready-to-copy samples: [docs/ci/github-actions.yml](https://github.com/naveenautomationlabs/reporting-labs/blob/main/docs/ci/github-actions.yml) and [docs/ci/Jenkinsfile](https://github.com/naveenautomationlabs/reporting-labs/blob/main/docs/ci/Jenkinsfile).
|
|
261
282
|
|
|
262
283
|
```yaml
|
|
263
284
|
# GitHub Actions, the two steps that matter
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "reporting-labs",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "reportingLabs – beautiful, customizable single-file HTML test reports. One line of config. Playwright adapter included, more runners on the way.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"test-report",
|
|
@@ -57,11 +57,11 @@
|
|
|
57
57
|
},
|
|
58
58
|
"repository": {
|
|
59
59
|
"type": "git",
|
|
60
|
-
"url": "git+https://github.com/
|
|
60
|
+
"url": "git+https://github.com/naveenautomationlabs/reporting-labs.git"
|
|
61
61
|
},
|
|
62
|
-
"homepage": "https://github.com/
|
|
62
|
+
"homepage": "https://github.com/naveenautomationlabs/reporting-labs#readme",
|
|
63
63
|
"bugs": {
|
|
64
|
-
"url": "https://github.com/
|
|
64
|
+
"url": "https://github.com/naveenautomationlabs/reporting-labs/issues"
|
|
65
65
|
},
|
|
66
66
|
"engines": {
|
|
67
67
|
"node": ">=18"
|