Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1856 commits
Select commit Hold shift + click to select a range
1e3964a
chore(deps): bump @cucumber/messages from 27.2.0 to 30.1.0 (#5262)
dependabot[bot] Oct 14, 2025
1a59408
chore(deps): bump fs-extra from 11.3.0 to 11.3.2 (#5263)
dependabot[bot] Oct 14, 2025
cd9270b
Feat/aria selectors (#5260)
DavertMik Oct 17, 2025
0642658
chore(deps-dev): bump electron from 38.2.0 to 38.2.1 (#5255)
dependabot[bot] Oct 20, 2025
1c66a0b
chore(deps-dev): bump puppeteer from 24.8.0 to 24.26.1 (#5277)
dependabot[bot] Oct 29, 2025
f461b3b
chore(deps-dev): bump playwright from 1.53.0 to 1.56.1 (#5270)
dependabot[bot] Oct 29, 2025
bb73778
fix(utils): resolve command injection vulnerability in `emptyFolder` …
mhassan1 Oct 29, 2025
f208304
chore(deps-dev): bump tsd from 0.32.0 to 0.33.0 (#5267)
dependabot[bot] Oct 29, 2025
a09a569
chore(deps): bump envinfo from 7.14.0 to 7.19.0 (#5268)
dependabot[bot] Oct 29, 2025
d615df2
chore(deps): bump actions/setup-node from 4 to 6 (#5269)
dependabot[bot] Oct 29, 2025
0155120
chore(deps-dev): bump typescript from 5.8.3 to 5.9.3 (#5271)
dependabot[bot] Oct 29, 2025
4d40c77
Rebase 3.x (#5282)
kobenguyent Nov 8, 2025
591c0dc
chore(deps-dev): bump @wdio/utils from 9.15.0 to 9.20.0 (#5284)
dependabot[bot] Nov 8, 2025
2ee81a6
chore(deps): bump envinfo from 7.19.0 to 7.20.0 (#5287)
dependabot[bot] Nov 8, 2025
270f946
chore(deps): bump mocha from 11.6.0 to 11.7.4 (#5285)
dependabot[bot] Nov 8, 2025
7395576
ci: enable workflows for 4.x (#5289)
kobenguyent Nov 8, 2025
ed0c381
DOC: Autogenerate and update documentation
actions-user Nov 8, 2025
d5cbab2
Update AppiumWeb_test.js
kobenguyent Nov 8, 2025
6d59918
Update Appium_test.js
kobenguyent Nov 8, 2025
604106f
fix: Appium esm migration (#5292)
kobenguyent Nov 10, 2025
f17abf5
feat: adding support for the `But` keyword (#5291)
mozillalives Nov 10, 2025
f623476
fix: global timeout before suite (#5275)
mirao Oct 29, 2025
c1635bb
chore(deps-dev): bump ts-morph from 26.0.0 to 27.0.2 (#5297)
dependabot[bot] Nov 10, 2025
60a2ff4
chore(deps-dev): bump semver from 7.7.2 to 7.7.3 (#5294)
dependabot[bot] Nov 10, 2025
8a2d58e
chore(deps): bump actions/setup-node from 5 to 6 (#5293)
dependabot[bot] Nov 10, 2025
159ca39
fix: add missing 'ai' package dependency for AI functionality
kobenguyent Nov 10, 2025
050669a
update beta version
kobenguyent Nov 10, 2025
ec6db29
fix: add TypeScript support for steps_file.ts and support objects
kobenguyent Nov 10, 2025
45b3081
fix: improve TypeScript support for steps_file with cross-file imports
kobenguyent Nov 10, 2025
482aba4
update beta version
kobenguyent Nov 10, 2025
1071207
fix: inject ESM globals for TypeScript files using __dirname/__filename
kobenguyent Nov 10, 2025
1160906
fix: htmlReporter plugin cannot set step.duration (getter-only property)
kobenguyent Nov 10, 2025
0a0ad4a
fix: TypeScript config files cannot import from other TypeScript files
kobenguyent Nov 10, 2025
981ec98
refactor: extract TypeScript transpilation logic into reusable utility
kobenguyent Nov 10, 2025
e519828
fix: TypeScript files with dynamic require() paths now work correctly
kobenguyent Nov 10, 2025
ba1aa04
version bump
kobenguyent Nov 10, 2025
b97fe90
fix: TypeScript files with directory-style imports (no .ts extension)…
kobenguyent Nov 10, 2025
c74a4ef
version bump
kobenguyent Nov 10, 2025
36c9d06
fix: TypeScript require() now tries extensions for paths with non-sta…
kobenguyent Nov 10, 2025
4ff9a23
feat: TypeScript configs now support top-level await with dynamic imp…
kobenguyent Nov 10, 2025
d08f9dc
feat: Add TypeScript test support with tsx loader (v4.0.0-beta.19)
kobenguyent Nov 11, 2025
69edd06
fix: Use named imports from @cucumber/gherkin for ESM compatibility
kobenguyent Nov 11, 2025
b249311
fix bugs (#5300)
kobenguyent Nov 16, 2025
75bf99e
fix: logging of steps in verbose and debug mode (#5312)
Copilot Nov 17, 2025
7ea74dc
version bump
kobenguyent Nov 17, 2025
1a6aef2
Fix TypeScript helper loading and import resolution (#5313)
Copilot Nov 17, 2025
cc81e97
chore(deps-dev): bump @types/chai from 5.2.2 to 5.2.3 (#5309)
dependabot[bot] Nov 18, 2025
715e262
chore(deps-dev): bump chai from 4.5.0 to 6.2.1 (#5311)
dependabot[bot] Nov 18, 2025
c21bfa6
chore(deps): bump commander from 11.1.0 to 14.0.2 (#5310)
dependabot[bot] Nov 18, 2025
b53bec7
Fix browser hanging during cleanup by not waiting for browser.close()…
Copilot Nov 19, 2025
90d53c2
Fix type definitions for custom helpers with ESM default exports (#5321)
Copilot Nov 19, 2025
23fad16
Fix TypeScript ESM module resolution docs - recommend tsx over ts-nod…
Copilot Nov 20, 2025
262935d
Fix TypeScript definitions generation when no helpers configured (#5325)
Copilot Nov 20, 2025
32d6a8b
chore(deps): bump axios from 1.12.2 to 1.13.2 (#5328)
dependabot[bot] Dec 3, 2025
26d44eb
chore(deps): bump @cucumber/gherkin from 35.1.0 to 37.0.0 (#5329)
dependabot[bot] Dec 3, 2025
cc9dd2b
chore(deps-dev): bump globals from 16.4.0 to 16.5.0 (#5330)
dependabot[bot] Dec 3, 2025
f7ae359
chore(deps): bump glob from 11.1.0 to 13.0.0 (#5331)
dependabot[bot] Dec 3, 2025
10b6a18
chore(deps): bump joi from 18.0.1 to 18.0.2 (#5332)
dependabot[bot] Dec 3, 2025
3247f48
chore(deps): bump actions/checkout from 5 to 6 (#5333)
dependabot[bot] Dec 3, 2025
d7f5ac3
chore(deps-dev): bump typedoc from 0.28.13 to 0.28.15 (#5342)
dependabot[bot] Dec 9, 2025
5c0359a
chore(deps-dev): bump @wdio/utils from 9.20.0 to 9.21.0 (#5341)
dependabot[bot] Dec 9, 2025
cb4ef26
chore(deps): bump @cucumber/messages from 29.0.1 to 31.0.0 (#5349)
dependabot[bot] Dec 15, 2025
644161e
chore(deps-dev): bump puppeteer from 24.15.0 to 24.33.0 (#5348)
dependabot[bot] Dec 15, 2025
7747f4c
chore(deps-dev): bump graphql from 16.11.0 to 16.12.0 (#5347)
dependabot[bot] Dec 15, 2025
279a20c
chore(deps-dev): bump typescript from 5.8.3 to 5.9.3 (#5353)
dependabot[bot] Dec 23, 2025
d336bf8
chore(deps-dev): bump @types/node from 24.10.4 to 25.0.3 (#5354)
dependabot[bot] Dec 23, 2025
af339c0
chore(deps): bump @cucumber/gherkin from 37.0.0 to 37.0.1 (#5355)
dependabot[bot] Dec 29, 2025
0f6a64b
chore(deps): bump @cucumber/messages from 31.0.0 to 31.1.0 (#5356)
dependabot[bot] Dec 30, 2025
7c6d58f
chore(deps-dev): bump webdriverio from 9.12.5 to 9.23.0 (#5366)
dependabot[bot] Jan 7, 2026
9cda907
chore(deps-dev): bump @inquirer/testing from 2.1.53 to 3.0.3 (#5365)
dependabot[bot] Jan 7, 2026
d970e22
Add 3.x commits (#5367)
kobenguyent Jan 7, 2026
850ee02
chore(deps-dev): bump @eslint/js from 9.36.0 to 9.39.2 (#5364)
dependabot[bot] Jan 7, 2026
6c916ce
DOC: Autogenerate and update documentation
actions-user Jan 7, 2026
550009e
fix several 4.x issues (#5368)
kobenguyent Jan 7, 2026
87fec45
chore(deps-dev): bump @eslint/eslintrc from 3.3.1 to 3.3.3 (#5339)
dependabot[bot] Jan 7, 2026
bff313a
fix workers crash (#5370)
kobenguyent Jan 9, 2026
20c0e8f
fix: import in config file (#5373)
kobenguyent Jan 9, 2026
b51b94e
chore(deps-dev): bump @wdio/utils from 9.21.0 to 9.23.0 (#5376)
dependabot[bot] Jan 12, 2026
505cd6d
chore(deps): bump envinfo from 7.20.0 to 7.21.0 (#5377)
dependabot[bot] Jan 12, 2026
b001712
chore(deps): bump @cucumber/messages from 31.1.0 to 31.2.0 (#5378)
dependabot[bot] Jan 12, 2026
0c43e5d
chore(deps-dev): bump @faker-js/faker from 9.8.0 to 10.2.0 (#5379)
dependabot[bot] Jan 12, 2026
d815dfc
chore(deps-dev): bump typedoc from 0.28.15 to 0.28.16 (#5380)
dependabot[bot] Jan 12, 2026
fe9ff24
Fix chaining cycle detected for promise error in Auth plugin (#5374)
DenysKuchma Jan 15, 2026
7b1c520
resolve TypeScript path aliases from tsconfig.json (#5375)
DenysKuchma Jan 15, 2026
d10f653
correct TypeScript type definitions for effect functions (#5395)
DenysKuchma Jan 18, 2026
314f46e
Improve waitUrlEquals error message to include actual error (#5383)
DenysKuchma Jan 18, 2026
6cedb9d
chore(deps): bump fs-extra from 11.3.2 to 11.3.3 (#5400)
dependabot[bot] Jan 19, 2026
4bad128
chore(deps-dev): bump @wdio/utils from 9.23.0 to 9.23.2 (#5398)
dependabot[bot] Jan 19, 2026
2454d9f
chore(deps-dev): bump sinon from 21.0.0 to 21.0.1 (#5397)
dependabot[bot] Jan 19, 2026
ea77b5d
chore(deps-dev): bump globals from 16.5.0 to 17.0.0 (#5396)
dependabot[bot] Jan 19, 2026
ee40437
fix TypeScript error stack traces (#5403)
DenysKuchma Jan 20, 2026
95c56ae
restore autocompletion for page objects in TypeScript (#5401)
DenysKuchma Jan 20, 2026
6f949c9
Export container as named export for ESM (#5382)
DenysKuchma Jan 20, 2026
9cca480
Add warning for ts-node/esm usage (#5381)
DenysKuchma Jan 20, 2026
061dc22
remove Custom Locator Strategy from playwright (#5405)
DenysKuchma Jan 21, 2026
98e0a5c
chore(deps): bump ai from 5.0.121 to 6.0.40 (#5399)
dependabot[bot] Jan 21, 2026
e8cf83a
chore(deps): bump @cucumber/gherkin from 37.0.1 to 38.0.0 (#5417)
dependabot[bot] Jan 26, 2026
ed579f4
chore(deps-dev): bump puppeteer from 24.33.0 to 24.36.0 (#5413)
dependabot[bot] Jan 26, 2026
1395271
chore(deps): bump chokidar from 4.0.3 to 5.0.0 (#5414)
dependabot[bot] Jan 26, 2026
1a58593
chore(deps-dev): bump electron from 38.2.0 to 40.0.0 (#5415)
dependabot[bot] Jan 26, 2026
5f7e6d9
chore(deps): bump @cucumber/messages from 31.2.0 to 32.0.1 (#5416)
dependabot[bot] Jan 27, 2026
b2e34ec
Feat/json locators esm (#5424)
DavertMik Feb 2, 2026
9d77feb
chore(deps-dev): bump globals from 17.0.0 to 17.3.0 (#5431)
dependabot[bot] Feb 2, 2026
b0caf47
chore(deps-dev): bump @wdio/utils from 9.23.2 to 9.23.3 (#5430)
dependabot[bot] Feb 2, 2026
fdbd8fa
chore(deps-dev): bump electron from 40.0.0 to 40.1.0 (#5429)
dependabot[bot] Feb 2, 2026
c7f6000
chore(deps-dev): bump eslint-plugin-mocha from 11.1.0 to 11.2.0 (#5428)
dependabot[bot] Feb 2, 2026
bb6410e
chore(deps): bump commander from 14.0.2 to 14.0.3 (#5427)
dependabot[bot] Feb 2, 2026
05d22f9
updated version to rc-1
Feb 9, 2026
20203f6
publish beta workflow
Feb 9, 2026
6326cdd
Add seeCurrentPathEquals method to ignore query strings (#5435)
DavertMik Feb 9, 2026
9512bb4
DOC: Autogenerate and update documentation
actions-user Feb 9, 2026
54f5c76
fixed publishing beta releases
Feb 9, 2026
5afd819
updated workflow
Feb 9, 2026
d91c695
Merge branch '4.x' of github.com:codeceptjs/CodeceptJS into 4.x
Feb 9, 2026
40f2efb
Simplify publish-beta workflow by removing steps
DavertMik Feb 9, 2026
9b9ba8b
Add --ignore-scripts option to npm publish command
DavertMik Feb 9, 2026
e011581
fix(publish): use OIDC and ignore-scripts env var for npm publish
Feb 10, 2026
72055f0
fixed publishing beta
Feb 15, 2026
83bb3c5
improved context methods (#5453)
DavertMik Feb 25, 2026
4a8b962
DOC: Autogenerate and update documentation
actions-user Feb 25, 2026
3a8ffa3
remove old logic and add testomatio reporter info (#5407)
DenysKuchma Mar 4, 2026
c64194a
Enhanced Retry Mechanisms - Remove Code Duplication (#5409)
DenysKuchma Mar 4, 2026
27eea12
Add AI Trace plugin for AI-assisted debugging (#5432)
DenysKuchma Mar 4, 2026
21e066c
Enable event dispatcher in workers (#5464)
DenysKuchma Mar 5, 2026
75b139f
implemented path normalization (#5451)
DavertMik Mar 6, 2026
aec3876
DOC: Autogenerate and update documentation
actions-user Mar 6, 2026
c61c2e5
fix: make XPath relative in buildLocatorString for within() scope (#5…
mirao Mar 8, 2026
c6a63d4
Fix aiTrace plugin (#5478)
DenysKuchma Mar 8, 2026
3f7d2bd
feat: add context parameter to appendField, clearField, attachFile (#…
DavertMik Mar 9, 2026
bdc5c67
DOC: Autogenerate and update documentation
actions-user Mar 9, 2026
ef6c3a9
feat: add dropzone support to attachFile (#5480)
DavertMik Mar 9, 2026
68a058d
DOC: Autogenerate and update documentation
actions-user Mar 9, 2026
8bc7722
fixed beta workflow
Mar 9, 2026
48efab6
Merge branch '4.x' of github.com:codeceptjs/CodeceptJS into 4.x
Mar 9, 2026
66368a3
fix: install dependencies before npm publish
Mar 9, 2026
0c0a519
fix: update repository URL for npm provenance
Mar 9, 2026
b6fe984
feat: add dropzone support to attachFile (#5486)
DavertMik Mar 17, 2026
9c9f5b6
feat: strict mode for all helpers + improved MultipleElementsFound er…
DavertMik Mar 17, 2026
04ae7f0
feat: add optional context parameter to moveCursorTo (#5492)
DavertMik Mar 17, 2026
1501b70
DOC: Autogenerate and update documentation
actions-user Mar 17, 2026
2f8bc5c
DOC: rewrite retry.md for clarity and concision (#5496)
DavertMik Mar 25, 2026
b6aed85
feat: wrap elements in WebElement for unified API across helpers (#5497)
DavertMik Mar 29, 2026
aed9f0e
feat: add elementIndex step option for targeting specific elements (#…
DavertMik Mar 30, 2026
eef9817
DOC: Autogenerate and update documentation
actions-user Mar 30, 2026
33f0c4d
add little upd (#5501)
DenysKuchma Mar 31, 2026
c5572aa
feat: detect unfocused element before type() and pressKey() (#5500)
DavertMik Mar 31, 2026
86ea01e
Fix for stepByStepReport: cheerio ESM import and missing screenshot c…
gololdf1sh Apr 8, 2026
a9cb979
fix: auth plugin loginAs injection broken in 4.x (#5502)
DavertMik Apr 8, 2026
a43b54e
refactor: eliminate internal globals in favor of store singleton (#5506)
DavertMik Apr 8, 2026
f059702
add yaml version upd (#5513)
DenysKuchma Apr 12, 2026
8e495d9
fix: process hangs when _beforeSuite helper hook throws an error (#5515)
DavertMik Apr 12, 2026
909c877
feat: add lifecycle hooks to page objects (_before, _after, _afterSui…
DavertMik Apr 12, 2026
49a3de5
4.x docs update (#5519)
DavertMik Apr 17, 2026
e782270
feat: add codeceptjs/assertions subpath and hopeThat.noErrors() (#5526)
DavertMik Apr 20, 2026
cfb64dd
feat(locator): add withClass, negation, and raw-predicate helpers to …
DavertMik Apr 20, 2026
fe7d41e
feat: fillField supports rich text editors (#5527)
DavertMik Apr 21, 2026
3dbef27
feat: pauseOn plugin with debug modes and CLI plugin arguments (#5520)
DavertMik Apr 21, 2026
7eb4906
Update publish-beta.yml
DavertMik Apr 21, 2026
6d8c234
fixed check command
Apr 22, 2026
f40a32c
fix(fillField): prevent rich-editor keystroke leak to sibling inputs …
DavertMik Apr 22, 2026
6ca126f
fix(locator): prevent click(text, container) from matching the contai…
DavertMik Apr 23, 2026
fb1a602
docs: 4.x migration guide and ESM-only code samples (#5538)
DavertMik Apr 28, 2026
5ce3c9f
feat(list): add -c, --docs, and --action flags (#5541)
DavertMik Apr 29, 2026
87a25ad
feat(plugins): unify screenshot/pause/aiTrace/heal under shared on= p…
DavertMik Apr 29, 2026
e0fe61f
feat(mcp): snapshot tool + run_code return/console capture + storage …
DavertMik Apr 29, 2026
6f791dc
feat(plugins): add screencast plugin (replaces subtitles) (#5543)
DavertMik Apr 29, 2026
7aef4e5
feat(mcp): pause_session tool + MCP-aware pause() yield mode (#5544)
DavertMik Apr 30, 2026
890ca6d
feat(dry-run): step numbering + --no-ansi flag (#5546)
DavertMik Apr 30, 2026
9a39deb
feat(mcp): per-test plugin overrides + shell session lifecycle (#5547)
DavertMik May 1, 2026
caf1a79
Fix/mcp fixes (#5548)
DavertMik May 4, 2026
c769274
feat(plugins): add `expose` plugin for direct helper-internals inject…
DavertMik May 4, 2026
4f0fa49
feat(codeceptq): CLI to query HTML with CodeceptJS locators (#5550)
DavertMik May 5, 2026
23b59f5
fix(mcp): timeout aborts Mocha runner so next run_test isn't blocked …
DavertMik May 6, 2026
b60be21
fix(playwright): reset cleanup state at start of _afterSuite to preve…
gololdf1sh May 8, 2026
49cf73f
updated docs for agents
DavertMik May 8, 2026
0c07a9c
updated agents docs
DavertMik May 9, 2026
fb28db2
Fix/refactor autoexit (#5556)
DavertMik May 10, 2026
8a1f081
Updated docs
May 10, 2026
4c0689f
fix(mcp): kill zombie Mocha state when timeout fires before pause() (…
DavertMik May 11, 2026
8d4478c
Fix/pr 5554 rebased (#5557)
DavertMik May 11, 2026
ee69b18
updated docs
May 12, 2026
222f360
fix(Playwright): preserve FrameLocator context across page load events
May 13, 2026
743f603
fix(playwright): replace constructor.name checks with stable public A…
mirao May 13, 2026
e6caee6
updated docs
May 13, 2026
f922ac8
fix(workers): do not exit worker on unhandled rejections (#5561)
gololdf1sh May 13, 2026
6ec6690
feat(plugin): add junitReporter plugin (JUnit XML with steps & meta) …
DavertMik May 13, 2026
4461316
refactor(step): rename Step.name to Step.title for consistency (#5564)
gololdf1sh May 14, 2026
55c5ce7
fix(analyze): use AI SDK ImagePart format for vision screenshots (#5566)
gololdf1sh May 15, 2026
04c92d7
added docs for migrations
May 15, 2026
7c3a83c
Merge branch '4.x' of github.com:codeceptjs/CodeceptJS into 4.x
May 15, 2026
54e2a49
changed how we start selenium server
May 15, 2026
0e52517
DOC: Autogenerate and update documentation
actions-user May 15, 2026
6588570
updated docs
May 16, 2026
b56292b
Merge branch '4.x' of github.com:codeceptjs/CodeceptJS into 4.x
May 16, 2026
94a8856
updated docs, removed deprecated helpers
May 16, 2026
974e241
DOC: Autogenerate and update documentation
actions-user May 16, 2026
e37977a
Remove deprecated I.retry() and I.limitTime() (#5567)
DavertMik May 17, 2026
54bd14e
minor docs update
May 17, 2026
a11fe4e
Chore/remove react (#5568)
DavertMik May 18, 2026
f0c7563
DOC: Autogenerate and update documentation
actions-user May 18, 2026
cb436bb
improved docs about store
May 18, 2026
ec22981
Merge branch '4.x' of github.com:codeceptjs/CodeceptJS into 4.x
May 18, 2026
4ef2af2
Fix recorder: stop mutating shared defaultRetryOptions (#5572)
gololdf1sh May 18, 2026
5761229
upd dock (#5573)
DenysKuchma May 18, 2026
8fb5de2
Fix retryFailedStep config: own retry timing, stop mutating shared de…
DavertMik May 18, 2026
20011d8
DOC: Autogenerate and update documentation
actions-user May 18, 2026
450ba82
add publishing docs to website
May 20, 2026
2094646
Merge branch '4.x' of github.com:codeceptjs/CodeceptJS into 4.x
May 20, 2026
8623b49
DOC: Autogenerate and update documentation
actions-user May 20, 2026
f92c331
Update publish-beta.yml
DavertMik May 20, 2026
a7683e7
updated release pipeline
May 20, 2026
f359421
Update migration-4.md
DavertMik May 21, 2026
f5adaa4
improved reporter docs
May 22, 2026
f677620
Merge branch '4.x' of github.com:codeceptjs/CodeceptJS into 4.x
May 22, 2026
c07b826
fixed esm compatible def (#5576)
DavertMik May 23, 2026
2c89828
Fix retryFailedStep ignoredSteps exact-name matching (#5571)
gololdf1sh May 23, 2026
16b2f32
fix(run-multiple): restore plugin loading and per-child reportDir (#5…
mirao May 24, 2026
989ad79
docs: fix typo in detoxs.md (#5579)
javigomez May 26, 2026
75f9afd
chore(deps): bump docker/login-action from 3 to 4 (#5485)
dependabot[bot] May 26, 2026
b63587e
chore(deps): bump docker/build-push-action from 6 to 7 (#5484)
dependabot[bot] May 26, 2026
204a0b0
chore(deps): bump docker/setup-buildx-action from 3 to 4 (#5483)
dependabot[bot] May 26, 2026
3e21c57
chore(deps): bump @codeceptjs/detox-helper from 1.1.13 to 1.1.14 (#5439)
dependabot[bot] May 26, 2026
0ce5349
chore(deps-dev): bump electron from 40.1.0 to 40.2.1 (#5441)
dependabot[bot] May 26, 2026
38f76bd
chore(deps-dev): bump @faker-js/faker from 10.2.0 to 10.3.0 (#5443)
dependabot[bot] May 26, 2026
675c608
chore(deps): bump actions/checkout from 4 to 6 (#5454)
dependabot[bot] May 26, 2026
080da45
chore(deps): bump actions/setup-node from 4 to 6 (#5455)
dependabot[bot] May 26, 2026
770749e
fix(gherkin): emit test.before/after with real current test (#5580)
danikkrapivnitskiy May 27, 2026
6c7e718
test(gherkin): cover event.test.before/after payload regression (#5582)
DavertMik May 27, 2026
d48558a
fix(appium): resolve "Unsupported helper type: unknown" in fillField …
DavertMik May 28, 2026
06cdb0c
chore: upgrade axios to 1.16.1 (#5584)
mscpdg May 28, 2026
d18924b
fix(init): emit ESM-compatible tsconfig for TypeScript projects (#5596)
DavertMik Jun 1, 2026
12c0f33
fix: support Playwright 1.58+ output format in `codeceptjs info` (4.x…
mirao Jun 3, 2026
4f1eb3f
fix: run-workers --by suite parallelization broken by test file sorti…
mirao Jun 3, 2026
dcfc530
fix: some path issues on windows (#5595)
kobenguyent Jun 4, 2026
b916eea
Fix: (index.d.ts) remove globals, add missing exports (#5597)
danielrentz Jun 4, 2026
a493212
Fix TypeScript import to handle default export (#5604)
kobenguyent Jun 5, 2026
0bbb626
chore(deps): bump commander from 14.0.3 to 15.0.0 (#5611)
dependabot[bot] Jun 7, 2026
7ba11c1
chore(deps-dev): bump typedoc-plugin-markdown from 4.9.0 to 4.12.0 (#…
dependabot[bot] Jun 7, 2026
5e0993f
chore(deps): bump @cucumber/messages from 32.0.1 to 32.3.1 (#5609)
dependabot[bot] Jun 7, 2026
eb00cd8
chore(deps-dev): bump ts-morph from 27.0.2 to 28.0.0 (#5608)
dependabot[bot] Jun 7, 2026
493f5ef
chore(deps-dev): bump sinon from 21.0.1 to 22.0.0 (#5607)
dependabot[bot] Jun 7, 2026
b0d4750
docs(agents): add Essential Setup section for skills + MCP
Jun 7, 2026
4491b3f
resolve #5461 (#5612)
incoming-th Jun 7, 2026
a70c814
docs(migration): fix skill name and add agent migration section
Jun 8, 2026
bc8211c
fix(init): missing file ext of step file when using typescript (#5615)
kobenguyent Jun 13, 2026
ed58d06
fix(deps): don't auto-install detox & react-native (#5620) (#5621)
DavertMik Jun 13, 2026
a615e9f
test(core): characterize promise-core error and hang paths (#5622)
DavertMik Jun 13, 2026
20607b7
fix(pause): remove leaked dispatcher listeners and guard session rest…
DavertMik Jun 14, 2026
eba4a62
fix(core): re-land asyncWrapper + promise-core error-path fixes onto …
DavertMik Jun 14, 2026
68c190a
fix: guard sort() with shuffle check in run() so --shuffle is not sil…
kapilvus Jun 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 0 additions & 5 deletions .circleci/build.sh

This file was deleted.

50 changes: 0 additions & 50 deletions .circleci/config.yml

This file was deleted.

12 changes: 0 additions & 12 deletions .circleci/test.sh

This file was deleted.

1 change: 0 additions & 1 deletion .eslintignore

This file was deleted.

43 changes: 0 additions & 43 deletions .eslintrc.json

This file was deleted.

35 changes: 18 additions & 17 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,12 @@ To start you need:

1. Fork the repo.
2. Run `npm install` to install all required libraries
3. Do the changes.
4. Add/Update Test (if possible)
5. Update documentation
6. Commit and Push to your fork
7. Make Pull Request
3. Run `npm run def`to generate types
4. Do the changes.
5. Add/Update Test (if possible)
6. Update documentation
7. Commit and Push to your fork
8. Make Pull Request

To run codeceptjs from this repo use:

Expand All @@ -29,9 +30,9 @@ Depending on a type of a change you should do the following.

## Helpers

Please keep in mind that CodeceptJS have **unified API** for WebDriverIO, Appium, Protractor, Nightmare, Puppeteer, TestCafe. Tests written using those helpers should be compatible at syntax level. However, some of helpers may contain unique methods. That happens. If, for instance, WebDriverIO has method XXX and Nightmare doesn't, you can implement XXX inside Nightmare using the same method signature.
Please keep in mind that CodeceptJS have **unified API** for WebDriver, Appium, Playwright, and Puppeteer. Tests written using those helpers should be compatible at syntax level. However, some of helpers may contain unique methods. That happens. If, for instance, WebDriver has method XXX and Playwright doesn't, you can implement XXX inside Playwright using the same method signature.

### Updating a WebDriverIO | Nightmare
### Updating a WebDriver | Playwright | Puppeteer

*Whenever a new method or new behavior is added it should be documented in a docblock. Valid JS-example is required! Do **not edit** `docs/helpers/`, those files are generated from docblocks in corresponding helpers! *

Expand Down Expand Up @@ -109,6 +110,16 @@ Appium tests are executed at **Semaphore CI**.
Before applying any Core changes please raise an issue to discuss that change with core team.
Please try to add corresponding testcase to runner or unit.

## Typings

Typings is generated in `typings/` directory via `jsdoc`

After you updated docblock in JS file, generate typing files with next command:

```
npm run def
```

## Documentation

Documentation is stored in `/docs` directory in markdown format.
Expand All @@ -134,16 +145,6 @@ Documentation parts can be shared accross helpers. Those parts are located in `d
}
```

## Typings

Typings is generated in `typings/` directory via `jsdoc`

After you updated docblock in JS file, generate typing files with next command:

```
npm run def
```

## Testing

Whenever you implemented a feature/bugfix
Expand Down
12 changes: 12 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: codeceptjs
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
* CodeceptJS version:
* NodeJS Version:
* Operating System:
* puppeteer || webdriverio || protractor || testcafe version (if related)
* puppeteer || webdriverio || playwright version (if related)
* Configuration file:

```js
Expand Down
21 changes: 10 additions & 11 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,35 +4,34 @@

Applicable helpers:

- [ ] WebDriver
- [ ] Playwright
- [ ] Puppeteer
- [ ] Nightmare
- [ ] WebDriver
- [ ] REST
- [ ] FileHelper
- [ ] Appium
- [ ] Protractor
- [ ] TestCafe
- [ ] Playwright

Applicable plugins:

- [ ] allure
- [ ] aiTrace
- [ ] autoDelay
- [ ] autoLogin
- [ ] customLocator
- [ ] pauseOnFail
- [ ] puppeteerCoverage
- [ ] pause
- [ ] coverage
- [ ] heal
- [ ] retryFailedStep
- [ ] screenshotOnFail
- [ ] screenshot
- [ ] selenoid
- [ ] stepByStepReport
- [ ] wdio
- [ ] stepTimeout
- [ ] subtitles

## Type of change

- [ ] :fire: Breaking changes
- [ ] :rocket: New functionality
- [ ] :bug: Bug fix
- [ ] 🧹 Chore
- [ ] :clipboard: Documentation changes/updates
- [ ] :hotsprings: Hot fix
- [ ] :hammer: Markdown files fix - not related to source code
Expand Down
96 changes: 96 additions & 0 deletions .github/SHARDING_WORKFLOWS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# Test Sharding Workflows

This document explains the GitHub Actions workflows that demonstrate the new test sharding functionality in CodeceptJS.

## Updated/Created Workflows

### 1. `acceptance-tests.yml` (Updated)

**Purpose**: Demonstrates sharding with acceptance tests across multiple browser configurations.

**Key Features**:

- Runs traditional docker-compose tests (for backward compatibility)
- Adds new sharded acceptance tests using CodeceptJS directly
- Tests across multiple browser configurations (Puppeteer, Playwright)
- Uses 2x2 matrix: 2 configs × 2 shards = 4 parallel jobs

**Example Output**:

```
- Sharded Tests: codecept.Puppeteer.js (Shard 1/2)
- Sharded Tests: codecept.Puppeteer.js (Shard 2/2)
- Sharded Tests: codecept.Playwright.js (Shard 1/2)
- Sharded Tests: codecept.Playwright.js (Shard 2/2)
```

### 2. `sharding-demo.yml` (New)

**Purpose**: Comprehensive demonstration of sharding features with larger test suite.

**Key Features**:

- Uses sandbox tests (2 main test files) for sharding demonstration
- Shows basic sharding with 2-way split (`1/2`, `2/2`)
- Demonstrates combination of `--shuffle` + `--shard` options
- Uses `DONT_FAIL_ON_EMPTY_RUN=true` to handle cases where some shards may be empty

### 3. `test.yml` (Updated)

**Purpose**: Clarifies which tests support sharding.

**Changes**:

- Added comment explaining that runner tests are mocha-based and don't support sharding
- Points to sharding-demo.yml for examples of CodeceptJS-based sharding

## Sharding Commands Used

### Basic Sharding

```bash
npx codeceptjs run --config ./codecept.js --shard 1/2
npx codeceptjs run --config ./codecept.js --shard 2/2
```

### Combined with Other Options

```bash
npx codeceptjs run --config ./codecept.js --shuffle --shard 1/2 --verbose
```

## Test Distribution

The sharding algorithm distributes tests evenly:

- **38 tests across 4 shards**: ~9-10 tests per shard
- **6 acceptance tests across 2 shards**: 3 tests per shard
- **Uneven splits handled gracefully**: Earlier shards get extra tests when needed

## Benefits Demonstrated

1. **Parallel Execution**: Tests run simultaneously across multiple CI workers
2. **No Manual Configuration**: Automatic test distribution without maintaining test lists
3. **Load Balancing**: Even distribution ensures balanced execution times
4. **Flexibility**: Works with any number of shards and test configurations
5. **Integration**: Compatible with existing CodeceptJS features (`--shuffle`, `--verbose`, etc.)

## CI Matrix Integration

The workflows show practical CI matrix usage:

```yaml
strategy:
matrix:
config: ['codecept.Puppeteer.js', 'codecept.Playwright.js']
shard: ['1/2', '2/2']
```

This creates 4 parallel jobs:

- Config A, Shard 1/2
- Config A, Shard 2/2
- Config B, Shard 1/2
- Config B, Shard 2/2

Perfect for scaling test execution across multiple machines and configurations.
17 changes: 17 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
version: 2
updates:
# github-actions
- package-ecosystem: 'github-actions'
directory: '/'
schedule:
interval: 'weekly'
target-branch: '4.x'
# npm
- package-ecosystem: 'npm'
directory: '/'
schedule:
interval: 'weekly'
target-branch: '4.x'
ignore:
- dependency-name: 'escape-string-regexp'
versions: ['>=5.0']
Loading