You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/changelog.md
+178-9Lines changed: 178 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,184 @@ layout: Section
7
7
8
8
# Releases
9
9
10
+
## 3.7.4
11
+
12
+
❤️ Thanks all to those who contributed to make this release! ❤️
13
+
14
+
🛩️ _Features_
15
+
16
+
-**Test Suite Shuffling**: Randomize test execution order to discover test dependencies and improve test isolation ([#5051](https://github.com/codeceptjs/CodeceptJS/issues/5051)) - by **[NivYarmus](https://github.com/NivYarmus)**
17
+
18
+
```bash
19
+
# Shuffle tests to find order-dependent failures using lodash.shuffle algorithm
20
+
npx codeceptjs run --shuffle
21
+
22
+
# Combined with grep and other options
23
+
npx codeceptjs run --shuffle --grep "@smoke" --steps
24
+
```
25
+
26
+
-**Enhanced Interactive Debugging**: Better logging for `I.grab*` methods in live interactive mode for clearer debugging output ([#4986](https://github.com/codeceptjs/CodeceptJS/issues/4986)) - by **[owenizedd](https://github.com/owenizedd)**
27
+
28
+
```js
29
+
// Interactive pause() now shows detailed grab results with JSON formatting
30
+
I.amOnPage('/checkout')
31
+
pause() // Interactive shell started
32
+
>I.grabTextFrom('.price')
33
+
Result $res="Grabbed text: $29.99"// Pretty-printed JSON output
-**Playwright Session Traces**: Fixed trace file naming convention and improved error handling for multi-session test scenarios ([#5073](https://github.com/codeceptjs/CodeceptJS/issues/5073)) - by **[julien-ft-64](https://github.com/julien-ft-64)****[kobenguyent](https://github.com/kobenguyent)**
_Trace files use UUID prefixes with `sessionName_testTitle.status.zip` format_
49
+
50
+
-**Worker Data Injection**: Resolved proxy object serialization preventing data sharing between parallel test workers ([#5072](https://github.com/codeceptjs/CodeceptJS/issues/5072)) - by **[kobenguyent](https://github.com/kobenguyent)**
51
+
52
+
```js
53
+
// Fixed: Complex objects can now be properly shared and injected between workers
console.log(testData.userData.preferences.theme) // 'dark' - deep nesting works
67
+
console.log(Object.keys(testData)) // ['userData', 'apiConfig'] - key enumeration works
68
+
69
+
// Dynamic sharing during test execution:
70
+
share({ newData:'shared across workers' })
71
+
```
72
+
73
+
-**Hook Exit Codes**: Fixed improper exit codes when test hooks fail, ensuring CI/CD pipelines properly detect failures ([#5058](https://github.com/codeceptjs/CodeceptJS/issues/5058)) - by **[kobenguyent](https://github.com/kobenguyent)**
74
+
75
+
```bash
76
+
# Before: Exit code 0 even when beforeEach/afterEach failed
77
+
# After: Exit code 1 when any hook fails, properly failing CI builds
78
+
```
79
+
80
+
-**TypeScript Effects Support**: Added complete TypeScript definitions for effects functionality ([#5027](https://github.com/codeceptjs/CodeceptJS/issues/5027)) - by **[kobenguyent](https://github.com/kobenguyent)**
81
+
82
+
```typescript
83
+
// Import effects with full TypeScript type definitions
84
+
import { tryTo, retryTo, within } from'codeceptjs/effects'
85
+
86
+
// tryTo returns Promise<boolean> for conditional actions
87
+
const success:boolean=awaittryTo(async () => {
88
+
awaitI.see('Cookie banner')
89
+
awaitI.click('Accept')
90
+
})
91
+
92
+
// retryTo with typed parameters for reliability
93
+
awaitretryTo(() => {
94
+
I.click('Submit')
95
+
I.see('Success')
96
+
}, 3) // retry up to 3 times
97
+
```
98
+
99
+
_Note: Replaces deprecated global plugins - import from 'codeceptjs/effects' module_
100
+
101
+
-**Mochawesome Screenshot Uniqueness**: Fixed screenshot naming to prevent test failures from being overwritten when multiple tests run at the same time ([#4959](https://github.com/codeceptjs/CodeceptJS/issues/4959)) - by **[Lando1n](https://github.com/Lando1n)**
102
+
103
+
```js
104
+
// Problem: When tests run in parallel, screenshots had identical names
105
+
// This caused later test screenshots to overwrite earlier ones
106
+
107
+
// Before: All failed tests saved as "screenshot.png"
108
+
// Result: Only the last failure screenshot was kept
109
+
110
+
// After: Each screenshot gets a unique name with timestamp
111
+
// Examples:
112
+
// - "login_test_1645123456.failed.png"
113
+
// - "checkout_test_1645123789.failed.png"
114
+
// - "profile_test_1645124012.failed.png"
115
+
116
+
// Configuration in codecept.conf.js:
117
+
helpers: {
118
+
Mochawesome: {
119
+
uniqueScreenshotNames:true// Enable unique naming
120
+
}
121
+
}
122
+
```
123
+
124
+
_Ensures every failed test keeps its own screenshot for easier debugging_
125
+
126
+
📖 _Documentation_
127
+
128
+
- Fixed Docker build issues and improved container deployment process ([#4980](https://github.com/codeceptjs/CodeceptJS/issues/4980)) - by **[thomashohn](https://github.com/thomashohn)**
129
+
- Updated dependency versions to maintain security and compatibility ([#4957](https://github.com/codeceptjs/CodeceptJS/issues/4957), [#4950](https://github.com/codeceptjs/CodeceptJS/issues/4950), [#4943](https://github.com/codeceptjs/CodeceptJS/issues/4943)) - by **[thomashohn](https://github.com/thomashohn)**
130
+
- Fixed automatic documentation generation system for custom plugins ([#4973](https://github.com/codeceptjs/CodeceptJS/issues/4973)) - by **[Lando1n](https://github.com/Lando1n)**
131
+
132
+
## 3.7.3
133
+
134
+
❤️ Thanks all to those who contributed to make this release! ❤️
135
+
136
+
🛩️ _Features_
137
+
138
+
- feat(cli): improve info command to return installed browsers ([#4890](https://github.com/codeceptjs/CodeceptJS/issues/4890)) - by **[kobenguyent](https://github.com/kobenguyent)**
139
+
140
+
```
141
+
➜ helloworld npx codeceptjs info
142
+
Environment information:
143
+
144
+
codeceptVersion: "3.7.2"
145
+
nodeInfo: 18.19.0
146
+
osInfo: macOS 14.4
147
+
cpuInfo: (8) x64 Apple M1 Pro
148
+
osBrowsers: "chrome: 133.0.6943.143, edge: 133.0.3065.92, firefox: not installed, safari: 17.4"
- fix: resolving path inconsistency in container.js and appium.js ([#4866](https://github.com/codeceptjs/CodeceptJS/issues/4866)) - by **[mjalav](https://github.com/mjalav)**
159
+
- fix: broken screenshot links in mochawesome reports ([#4889](https://github.com/codeceptjs/CodeceptJS/issues/4889)) - by **[kobenguyent](https://github.com/kobenguyent)**
160
+
- some internal fixes to make UTs more stable by **[thomashohn](https://github.com/thomashohn)**
161
+
- dependencies upgrades by **[thomashohn](https://github.com/thomashohn)**
162
+
163
+
## 3.7.2
164
+
165
+
❤️ Thanks all to those who contributed to make this release! ❤️
166
+
167
+
🛩️ _Features_
168
+
169
+
- feat(playwright): Clear cookie by name ([#4693](https://github.com/codeceptjs/CodeceptJS/issues/4693)) - by **[ngraf](https://github.com/ngraf)**
170
+
171
+
🐛 _Bug Fixes_
172
+
173
+
- fix(stepByStepReport): no records html is generated when running with run-workers ([#4638](https://github.com/codeceptjs/CodeceptJS/issues/4638))
174
+
- fix(webdriver): bidi error in log with webdriver ([#4850](https://github.com/codeceptjs/CodeceptJS/issues/4850))
175
+
- fix(types): TS types of methods (Feature|Scenario)Config.config ([#4851](https://github.com/codeceptjs/CodeceptJS/issues/4851))
- fix(webdriver): grab browser logs using bidi protocol ([#4754](https://github.com/codeceptjs/CodeceptJS/issues/4754))
178
+
- fix(webdriver): screenshots for sessions ([#4748](https://github.com/codeceptjs/CodeceptJS/issues/4748))
179
+
180
+
📖 _Documentation_
181
+
182
+
- fix(docs): mask sensitive data ([#4636](https://github.com/codeceptjs/CodeceptJS/issues/4636)) - by **[gkushang](https://github.com/gkushang)**
183
+
184
+
## 3.7.1
185
+
186
+
- Fixed `reading charAt` error in `asyncWrapper.js`
187
+
10
188
## 3.7.0
11
189
12
190
This release introduces major new features and internal refactoring. It is an important step toward the 4.0 release planned soon, which will remove all deprecations introduced in 3.7.
@@ -434,7 +612,6 @@ I.flushSoftAssertions() // Throws an error if any soft assertions have failed. T
434
612
```
435
613
436
614
- feat(cli): print failed hooks ([#4476](https://github.com/codeceptjs/CodeceptJS/issues/4476)) - by **[kobenguyent](https://github.com/kobenguyent)**
437
-
438
615
- run command
439
616

- feat(puppeteer): network traffic manipulation. See [#4263](https://github.com/codeceptjs/CodeceptJS/issues/4263) by **[KobeNguyenT](https://github.com/KobeNguyenT)**
708
-
709
884
- `startRecordingTraffic`
710
885
- `grabRecordedNetworkTraffics`
711
886
- `flushNetworkTraffics`
@@ -2043,7 +2218,6 @@ await I.seeTraffic({
2043
2218
2044
2219
-**🪄 [AI Powered Test Automation](/ai)** - use OpenAI as a copilot for test automation.[#3713](https://github.com/codeceptjs/CodeceptJS/issues/3713) By **[davertmik](https://github.com/davertmik)**
Copy file name to clipboardExpand all lines: docs/plugins.md
-1Lines changed: 0 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1032,7 +1032,6 @@ Run tests with plugin enabled:
1032
1032
- `overrideStepLimits` - whether to use timeouts set in plugin config to override step timeouts set in code with I.limitTime(x).action(...), default false
1033
1033
1034
1034
- `noTimeoutSteps` - an array of steps with no timeout. Default:
0 commit comments