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: CHANGELOG.md
+122-9Lines changed: 122 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,125 @@
1
+
## 3.7.4
2
+
3
+
❤️ Thanks all to those who contributed to make this release! ❤️
4
+
5
+
🛩️ _Features_
6
+
7
+
-**Test Suite Shuffling**: Randomize test execution order to discover test dependencies and improve test isolation (#5051) - by @NivYarmus
8
+
9
+
```bash
10
+
# Shuffle tests to find order-dependent failures using lodash.shuffle algorithm
11
+
npx codeceptjs run --shuffle
12
+
13
+
# Combined with grep and other options
14
+
npx codeceptjs run --shuffle --grep "@smoke" --steps
15
+
```
16
+
17
+
-**Enhanced Interactive Debugging**: Better logging for `I.grab*` methods in live interactive mode for clearer debugging output (#4986) - by @owenizedd
18
+
19
+
```js
20
+
// Interactive pause() now shows detailed grab results with JSON formatting
21
+
I.amOnPage('/checkout')
22
+
pause() // Interactive shell started
23
+
>I.grabTextFrom('.price')
24
+
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) - by @julien-ft-64@kobenguyent
console.log(testData.userData.preferences.theme) // 'dark' - deep nesting works
58
+
console.log(Object.keys(testData)) // ['userData', 'apiConfig'] - key enumeration works
59
+
60
+
// Dynamic sharing during test execution:
61
+
share({ newData:'shared across workers' })
62
+
```
63
+
64
+
-**Hook Exit Codes**: Fixed improper exit codes when test hooks fail, ensuring CI/CD pipelines properly detect failures (#5058) - by @kobenguyent
65
+
66
+
```bash
67
+
# Before: Exit code 0 even when beforeEach/afterEach failed
68
+
# After: Exit code 1 when any hook fails, properly failing CI builds
69
+
```
70
+
71
+
-**TypeScript Effects Support**: Added complete TypeScript definitions for effects functionality (#5027) - by @kobenguyent
72
+
73
+
```typescript
74
+
// Import effects with full TypeScript type definitions
75
+
import { tryTo, retryTo, within } from'codeceptjs/effects'
76
+
77
+
// tryTo returns Promise<boolean> for conditional actions
78
+
const success:boolean=awaittryTo(async () => {
79
+
awaitI.see('Cookie banner')
80
+
awaitI.click('Accept')
81
+
})
82
+
83
+
// retryTo with typed parameters for reliability
84
+
awaitretryTo(() => {
85
+
I.click('Submit')
86
+
I.see('Success')
87
+
}, 3) // retry up to 3 times
88
+
```
89
+
90
+
_Note: Replaces deprecated global plugins - import from 'codeceptjs/effects' module_
91
+
92
+
-**Mochawesome Screenshot Uniqueness**: Fixed screenshot naming to prevent test failures from being overwritten when multiple tests run at the same time (#4959) - by @Lando1n
93
+
94
+
```js
95
+
// Problem: When tests run in parallel, screenshots had identical names
96
+
// This caused later test screenshots to overwrite earlier ones
97
+
98
+
// Before: All failed tests saved as "screenshot.png"
99
+
// Result: Only the last failure screenshot was kept
100
+
101
+
// After: Each screenshot gets a unique name with timestamp
102
+
// Examples:
103
+
// - "login_test_1645123456.failed.png"
104
+
// - "checkout_test_1645123789.failed.png"
105
+
// - "profile_test_1645124012.failed.png"
106
+
107
+
// Configuration in codecept.conf.js:
108
+
helpers: {
109
+
Mochawesome: {
110
+
uniqueScreenshotNames:true// Enable unique naming
111
+
}
112
+
}
113
+
```
114
+
115
+
_Ensures every failed test keeps its own screenshot for easier debugging_
116
+
117
+
📖 _Documentation_
118
+
119
+
- Fixed Docker build issues and improved container deployment process (#4980) - by @thomashohn
120
+
- Updated dependency versions to maintain security and compatibility (#4957, #4950, #4943) - by @thomashohn
121
+
- Fixed automatic documentation generation system for custom plugins (#4973) - by @Lando1n
122
+
1
123
## 3.7.3
2
124
3
125
❤️ Thanks all to those who contributed to make this release! ❤️
@@ -481,7 +603,6 @@ I.flushSoftAssertions() // Throws an error if any soft assertions have failed. T
481
603
```
482
604
483
605
- feat(cli): print failed hooks (#4476) - by @kobenguyent
484
-
485
606
- run command
486
607

0 commit comments