Skip to content

Commit d6a1dfb

Browse files
DavertMikclaude
andcommitted
feat(plugins): drop pauseOn/stepByStepReport, fold slides into screenshot
- Remove lib/plugin/pauseOn.js (never shipped in a public release). - Remove lib/plugin/stepByStepReport.js; slideshow generation moves into the screenshot plugin behind slides=true (e.g. -p screenshot:on=step;slides=true) with a modern, vanilla-CSS dark UI — no Bootstrap, no jQuery. - Drop the redundant screenshot blocks from the acceptance test configs; the default in lib/config.js already enables screenshot with on=fail. - Strip allure mentions from plugin code and plugin docs; refresh PR template, migration guide, debugging guide, plugins index, and commands docs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent b7284ba commit d6a1dfb

16 files changed

Lines changed: 362 additions & 565 deletions

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,17 @@ Applicable helpers:
1313

1414
Applicable plugins:
1515

16-
- [ ] allure
16+
- [ ] aiTrace
1717
- [ ] autoDelay
1818
- [ ] autoLogin
1919
- [ ] customLocator
20-
- [ ] pauseOnFail
20+
- [ ] pause
2121
- [ ] coverage
22+
- [ ] heal
2223
- [ ] retryFailedStep
23-
- [ ] screenshotOnFail
24+
- [ ] screenshot
2425
- [ ] selenoid
25-
- [ ] stepByStepReport
2626
- [ ] stepTimeout
27-
- [ ] wdio
2827
- [ ] subtitles
2928

3029
## Type of change

docs/commands.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ A few examples:
118118
npx codeceptjs run -p pause # pause on first failure (default on=fail)
119119
npx codeceptjs run -p pause:on=step # pause before every step
120120
npx codeceptjs run -p pause:on=url:pattern=/checkout/* # pause on URL match
121-
npx codeceptjs run -p stepByStepReport # produce a step-by-step HTML report
121+
npx codeceptjs run -p "screenshot:on=step;slides=true" # produce a step-by-step HTML report
122122
```
123123

124124
### Browser Control

docs/debugging.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ npx codeceptjs run -p pause:on=fail
123123

124124
This is the most common debug workflow — run your tests, and when one fails, you land in the interactive shell with the browser in the exact state of the failure. You can inspect elements, try different selectors, and figure out what went wrong.
125125

126-
> The legacy `pauseOnFail` and `pauseOn` plugins still work as deprecated aliases.
126+
> The legacy `pauseOnFail` plugin still works as a deprecated alias.
127127
128128
### Pause on Every Step
129129

@@ -270,20 +270,22 @@ plugins: {
270270

271271
### Step-by-Step Report
272272

273-
Generates a slideshow of screenshots taken after every step — a visual replay of what the test did:
273+
Generates a slideshow of screenshots taken after every step — a visual replay of what the test did. Set `slides: true` on the `screenshot` plugin (with `on=step`):
274274

275275
```js
276276
plugins: {
277-
stepByStepReport: {
277+
screenshot: {
278278
enabled: true,
279+
on: 'step',
280+
slides: true,
279281
deleteSuccessful: true, // keep only failed tests
280282
fullPageScreenshots: true,
281283
}
282284
}
283285
```
284286

285287
```bash
286-
npx codeceptjs run -p stepByStepReport
288+
npx codeceptjs run -p screenshot:on=step;slides=true
287289
```
288290

289291
After the run, open `output/records.html` to browse through the slideshows.

docs/migration-4.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -191,11 +191,11 @@ Inject `login` and call `login('admin')` — same as before.
191191

192192
4.x unifies four plugins (`screenshot`, `pause`, `aiTrace`, `heal`) under a shared `on=` parameter. The old names live on as deprecated aliases that emit a warning and forward to the new plugin.
193193

194-
| Old plugin | New plugin | Notes |
195-
| :------------------ | :----------- | :------------------------------------------------- |
196-
| `screenshotOnFail` | `screenshot` | Default `on='fail'`, same behavior |
197-
| `pauseOnFail` | `pause` | Default `on='fail'`, same behavior |
198-
| `pauseOn` | `pause` | Use `on=fail|test|step|file|url` instead |
194+
| Old plugin | New plugin | Notes |
195+
| :------------------ | :------------------------------- | :------------------------------------------------- |
196+
| `screenshotOnFail` | `screenshot` | Default `on='fail'`, same behavior |
197+
| `pauseOnFail` | `pause` | Default `on='fail'`, same behavior |
198+
| `stepByStepReport` | `screenshot` with `slides: true` | Use `on=step` to capture every step |
199199

200200
### New Plugins You Can Enable
201201

docs/plugins.md

Lines changed: 17 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -597,8 +597,8 @@ Additional config options:
597597
598598
## pause
599599
600-
Pauses test execution interactively. Replaces the legacy `pauseOn` and `pauseOnFail`
601-
plugins. Default `on=fail` matches the old `pauseOnFail` behavior.
600+
Pauses test execution interactively. Replaces the legacy `pauseOnFail` plugin.
601+
Default `on=fail` matches the old `pauseOnFail` behavior.
602602
603603
```js
604604
plugins: {
@@ -625,8 +625,8 @@ CLI examples:
625625
npx codeceptjs run -p pause:on=file:path=tests/login_test.js;line=43
626626
npx codeceptjs run -p pause:on=url:pattern=/users/*
627627
628-
> The legacy `pauseOn` and `pauseOnFail` plugins remain as deprecated aliases
629-
> that translate to the new syntax and emit a deprecation warning.
628+
> The legacy `pauseOnFail` plugin remains as a deprecated alias that emits a
629+
> deprecation warning and forwards to `pause` with `on=fail`.
630630
631631
### Parameters
632632
@@ -728,55 +728,32 @@ CLI examples:
728728
729729
npx codeceptjs run -p screenshot
730730
npx codeceptjs run -p screenshot:on=step
731+
npx codeceptjs run -p screenshot:on=step;slides=true
731732
npx codeceptjs run -p screenshot:on=file:path=tests/login_test.js
732733
npx codeceptjs run -p screenshot:on=url:pattern=/users/*
733734
734735
Possible config options:
735736
736737
* `uniqueScreenshotNames`: use unique names for screenshot. Default: false.
737738
* `fullPageScreenshots`: make full page screenshots. Default: false.
739+
* `slides`: generate a step-by-step slideshow report (works with `on=step|file|url`). Replaces the legacy `stepByStepReport` plugin. Default: false.
740+
* `deleteSuccessful`: when `slides=true`, drop slideshow folders for passing tests. Default: true.
741+
* `animateSlides`: when `slides=true`, animate transitions between slides. Default: true.
742+
* `ignoreSteps`: when `slides=true`, RegExps of step names to skip in the slideshow.
738743
739-
> The legacy `screenshotOnFail` plugin remains as a deprecated alias.
744+
#### Step-by-step slideshow
740745
741-
### Parameters
742-
743-
* `config` &#x20;
744-
745-
## stepByStepReport
746-
747-
![step-by-step-report][6]
748-
749-
Generates step by step report for a test.
750-
After each step in a test a screenshot is created. After test executed screenshots are combined into slideshow.
751-
By default, reports are generated only for failed tests.
746+
`screenshot:on=step;slides=true` writes a per-test `record_<hash>/index.html`
747+
slideshow and a top-level `records.html` index. The output is a self-contained
748+
HTML page with keyboard / dot navigation — no external assets, no JavaScript
749+
frameworks.
752750
753-
Run tests with plugin enabled:
754-
755-
npx codeceptjs run --plugins stepByStepReport
756-
757-
#### Configuration
758-
759-
```js
760-
"plugins": {
761-
"stepByStepReport": {
762-
"enabled": true
763-
}
764-
}
765-
```
766-
767-
Possible config options:
768-
769-
* `deleteSuccessful`: do not save screenshots for successfully executed tests. Default: true.
770-
* `animateSlides`: should animation for slides to be used. Default: true.
771-
* `ignoreSteps`: steps to ignore in report. Array of RegExps is expected. Recommended to skip `grab*` and `wait*` steps.
772-
* `fullPageScreenshots`: should full page screenshots be used. Default: false.
773-
* `output`: a directory where reports should be stored. Default: `output`.
774-
* `screenshotsForAllureReport`: If Allure plugin is enabled this plugin attaches each saved screenshot to allure report. Default: false.
775-
* \`disableScreenshotOnFail : Disables the capturing of screeshots after the failed step. Default: true.
751+
> The legacy `screenshotOnFail` plugin remains as a deprecated alias. The legacy
752+
> `stepByStepReport` plugin has been replaced by `screenshot:slides=true`.
776753
777754
### Parameters
778755
779-
* `config` **any**&#x20;
756+
* `config` &#x20;
780757
781758
## stepTimeout
782759

examples/codecept.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ export const config = {
5050
enabled: false,
5151
services: ['selenium-standalone'],
5252
},
53-
stepByStepReport: {},
53+
screenshot: { on: 'step', slides: true },
5454
autoDelay: {
5555
enabled: false,
5656
},

lib/plugin/pause.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ import {
1313
const VALID_MODES = new Set(['fail', 'test', 'step', 'file', 'url'])
1414

1515
/**
16-
* Pauses test execution interactively. Replaces the legacy `pauseOn` and `pauseOnFail`
17-
* plugins. The default `on=fail` matches the old `pauseOnFail` behavior.
16+
* Pauses test execution interactively. Replaces the legacy `pauseOnFail`
17+
* plugin. The default `on=fail` matches the old `pauseOnFail` behavior.
1818
*
1919
* #### Configuration
2020
*

lib/plugin/pauseOn.js

Lines changed: 0 additions & 43 deletions
This file was deleted.

0 commit comments

Comments
 (0)