codeceptjs 4.0.2-beta.8 → 4.0.2

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.
Files changed (326) hide show
  1. package/README.md +39 -28
  2. package/bin/codecept.js +15 -2
  3. package/bin/codeceptq.js +49 -0
  4. package/bin/mcp-server.js +1189 -0
  5. package/docs/advanced.md +201 -0
  6. package/docs/agents.md +181 -0
  7. package/docs/ai.md +489 -0
  8. package/docs/aitrace.md +266 -0
  9. package/docs/api.md +332 -0
  10. package/docs/architecture.md +235 -0
  11. package/docs/assertions.md +415 -0
  12. package/docs/auth.md +318 -0
  13. package/docs/basics.md +424 -0
  14. package/docs/bdd.md +539 -0
  15. package/docs/best.md +240 -0
  16. package/docs/bootstrap.md +132 -0
  17. package/docs/commands.md +352 -0
  18. package/docs/community-helpers.md +63 -0
  19. package/docs/configuration.md +185 -0
  20. package/docs/continuous-integration.md +431 -0
  21. package/docs/custom-helpers.md +297 -0
  22. package/docs/data.md +448 -0
  23. package/docs/debugging.md +332 -0
  24. package/docs/detox.md +235 -0
  25. package/docs/docker.md +107 -0
  26. package/docs/effects.md +179 -0
  27. package/docs/element-based-testing.md +295 -0
  28. package/docs/element-selection.md +125 -0
  29. package/docs/els.md +328 -0
  30. package/docs/environment-variables.md +131 -0
  31. package/docs/examples.md +160 -0
  32. package/docs/heal.md +213 -0
  33. package/docs/helpers/ApiDataFactory.md +267 -0
  34. package/docs/helpers/Appium.md +1419 -0
  35. package/docs/helpers/Detox.md +665 -0
  36. package/docs/helpers/ExpectHelper.md +275 -0
  37. package/docs/helpers/FileSystem.md +152 -0
  38. package/docs/helpers/GraphQL.md +152 -0
  39. package/docs/helpers/GraphQLDataFactory.md +226 -0
  40. package/docs/helpers/JSONResponse.md +255 -0
  41. package/docs/helpers/MockRequest.md +377 -0
  42. package/docs/helpers/Playwright.md +2970 -0
  43. package/docs/helpers/Puppeteer-firefox.md +86 -0
  44. package/docs/helpers/Puppeteer.md +2583 -0
  45. package/docs/helpers/REST.md +289 -0
  46. package/docs/helpers/WebDriver.md +2639 -0
  47. package/docs/hooks.md +148 -0
  48. package/docs/index.md +111 -0
  49. package/docs/installation.md +121 -0
  50. package/docs/internal-test-server.md +89 -0
  51. package/docs/locators.md +355 -0
  52. package/docs/mcp.md +485 -0
  53. package/docs/migrate-from-cypress.md +98 -0
  54. package/docs/migrate-from-java.md +108 -0
  55. package/docs/migrate-from-protractor.md +101 -0
  56. package/docs/migrate-from-testcafe.md +99 -0
  57. package/docs/migration-4.md +745 -0
  58. package/docs/mobile.md +338 -0
  59. package/docs/pageobjects.md +399 -0
  60. package/docs/parallel.md +187 -0
  61. package/docs/playwright.md +714 -0
  62. package/docs/plugins/aiTrace.md +49 -0
  63. package/docs/plugins/analyze.md +66 -0
  64. package/docs/plugins/auth.md +241 -0
  65. package/docs/plugins/autoDelay.md +48 -0
  66. package/docs/plugins/browser.md +41 -0
  67. package/docs/plugins/coverage.md +39 -0
  68. package/docs/plugins/customLocator.md +119 -0
  69. package/docs/plugins/customReporter.md +16 -0
  70. package/docs/plugins/expose.md +75 -0
  71. package/docs/plugins/heal.md +44 -0
  72. package/docs/plugins/junitReporter.md +51 -0
  73. package/docs/plugins/pageInfo.md +34 -0
  74. package/docs/plugins/pause.md +43 -0
  75. package/docs/plugins/pauseOnFail.md +18 -0
  76. package/docs/plugins/retryFailedStep.md +75 -0
  77. package/docs/plugins/screencast.md +55 -0
  78. package/docs/plugins/screenshot.md +58 -0
  79. package/docs/plugins/screenshotOnFail.md +18 -0
  80. package/docs/plugins/stepTimeout.md +65 -0
  81. package/docs/plugins.md +87 -0
  82. package/docs/puppeteer.md +314 -0
  83. package/docs/quickstart.md +120 -0
  84. package/docs/reports.md +195 -0
  85. package/docs/retry.md +311 -0
  86. package/docs/secrets.md +150 -0
  87. package/docs/sessions.md +80 -0
  88. package/docs/shadow.md +68 -0
  89. package/docs/store.md +94 -0
  90. package/docs/test-structure.md +275 -0
  91. package/docs/timeouts.md +183 -0
  92. package/docs/translation.md +247 -0
  93. package/docs/tutorial.md +323 -0
  94. package/docs/typescript.md +159 -0
  95. package/docs/web-element.md +251 -0
  96. package/docs/webdriver.md +641 -0
  97. package/docs/within.md +55 -0
  98. package/lib/actor.js +1 -36
  99. package/lib/ai.js +3 -2
  100. package/lib/aria.js +260 -0
  101. package/lib/assertions.js +18 -0
  102. package/lib/codecept.js +34 -25
  103. package/lib/command/check.js +2 -1
  104. package/lib/command/definitions.js +6 -7
  105. package/lib/command/dryRun.js +24 -5
  106. package/lib/command/generate.js +3 -1
  107. package/lib/command/gherkin/snippets.js +5 -4
  108. package/lib/command/init.js +249 -270
  109. package/lib/command/list.js +150 -10
  110. package/lib/command/query.js +218 -0
  111. package/lib/command/run-multiple.js +3 -1
  112. package/lib/command/run-workers.js +2 -14
  113. package/lib/command/run.js +3 -17
  114. package/lib/command/utils.js +14 -0
  115. package/lib/command/workers/runTests.js +91 -37
  116. package/lib/config.js +96 -18
  117. package/lib/container.js +115 -17
  118. package/lib/effects.js +17 -0
  119. package/lib/element/WebElement.js +246 -2
  120. package/lib/els.js +12 -6
  121. package/lib/globals.js +32 -19
  122. package/lib/heal.js +7 -4
  123. package/lib/helper/ApiDataFactory.js +2 -1
  124. package/lib/helper/Appium.js +8 -8
  125. package/lib/helper/FileSystem.js +3 -2
  126. package/lib/helper/GraphQLDataFactory.js +2 -1
  127. package/lib/helper/Playwright.js +358 -467
  128. package/lib/helper/Puppeteer.js +335 -192
  129. package/lib/helper/WebDriver.js +324 -111
  130. package/lib/helper/errors/ElementNotFound.js +5 -2
  131. package/lib/helper/errors/MultipleElementsFound.js +52 -0
  132. package/lib/helper/errors/NonFocusedType.js +8 -0
  133. package/lib/helper/extras/Download.js +45 -0
  134. package/lib/helper/extras/PlaywrightLocator.js +7 -107
  135. package/lib/helper/extras/elementSelection.js +58 -0
  136. package/lib/helper/extras/focusCheck.js +43 -0
  137. package/lib/helper/extras/richTextEditor.js +178 -0
  138. package/lib/helper/scripts/dropFile.js +11 -0
  139. package/lib/history.js +3 -2
  140. package/lib/html.js +103 -16
  141. package/lib/index.js +9 -1
  142. package/lib/listener/config.js +6 -4
  143. package/lib/listener/emptyRun.js +2 -1
  144. package/lib/listener/globalRetry.js +32 -6
  145. package/lib/listener/helpers.js +4 -1
  146. package/lib/listener/mocha.js +2 -1
  147. package/lib/listener/pageobjects.js +43 -0
  148. package/lib/listener/result.js +3 -2
  149. package/lib/locator.js +158 -16
  150. package/lib/mocha/cli.js +19 -1
  151. package/lib/mocha/factory.js +11 -1
  152. package/lib/mocha/inject.js +1 -1
  153. package/lib/mocha/scenarioConfig.js +2 -1
  154. package/lib/mocha/ui.js +5 -6
  155. package/lib/parser.js +2 -2
  156. package/lib/pause.js +38 -4
  157. package/lib/plugin/aiTrace.js +457 -0
  158. package/lib/plugin/analyze.js +9 -9
  159. package/lib/plugin/auth.js +5 -4
  160. package/lib/plugin/browser.js +77 -0
  161. package/lib/plugin/expose.js +159 -0
  162. package/lib/plugin/heal.js +47 -3
  163. package/lib/plugin/junitReporter.js +303 -0
  164. package/lib/plugin/pageInfo.js +54 -52
  165. package/lib/plugin/pause.js +131 -0
  166. package/lib/plugin/pauseOnFail.js +11 -33
  167. package/lib/plugin/retryFailedStep.js +43 -32
  168. package/lib/plugin/screencast.js +289 -0
  169. package/lib/plugin/screenshot.js +558 -0
  170. package/lib/plugin/screenshotOnFail.js +9 -170
  171. package/lib/plugin/stepTimeout.js +3 -2
  172. package/lib/recorder.js +1 -1
  173. package/lib/rerun.js +2 -1
  174. package/lib/result.js +2 -1
  175. package/lib/step/base.js +10 -9
  176. package/lib/step/comment.js +2 -2
  177. package/lib/step/config.js +15 -2
  178. package/lib/step/helper.js +4 -4
  179. package/lib/step/meta.js +3 -3
  180. package/lib/step/record.js +5 -5
  181. package/lib/store.js +72 -3
  182. package/lib/translation.js +2 -1
  183. package/lib/utils/loaderCheck.js +28 -0
  184. package/lib/utils/mask_data.js +2 -1
  185. package/lib/utils/pluginParser.js +151 -0
  186. package/lib/utils/trace.js +297 -0
  187. package/lib/utils/typescript.js +188 -23
  188. package/lib/utils.js +77 -3
  189. package/lib/workers.js +65 -40
  190. package/package.json +35 -30
  191. package/typings/index.d.ts +119 -8
  192. package/typings/promiseBasedTypes.d.ts +3158 -6065
  193. package/typings/types.d.ts +3453 -6494
  194. package/docs/webapi/amOnPage.mustache +0 -11
  195. package/docs/webapi/appendField.mustache +0 -11
  196. package/docs/webapi/attachFile.mustache +0 -12
  197. package/docs/webapi/blur.mustache +0 -18
  198. package/docs/webapi/checkOption.mustache +0 -13
  199. package/docs/webapi/clearCookie.mustache +0 -9
  200. package/docs/webapi/clearField.mustache +0 -9
  201. package/docs/webapi/click.mustache +0 -29
  202. package/docs/webapi/clickLink.mustache +0 -8
  203. package/docs/webapi/closeCurrentTab.mustache +0 -7
  204. package/docs/webapi/closeOtherTabs.mustache +0 -8
  205. package/docs/webapi/dontSee.mustache +0 -11
  206. package/docs/webapi/dontSeeCheckboxIsChecked.mustache +0 -10
  207. package/docs/webapi/dontSeeCookie.mustache +0 -8
  208. package/docs/webapi/dontSeeCurrentUrlEquals.mustache +0 -10
  209. package/docs/webapi/dontSeeElement.mustache +0 -8
  210. package/docs/webapi/dontSeeElementInDOM.mustache +0 -8
  211. package/docs/webapi/dontSeeInCurrentUrl.mustache +0 -4
  212. package/docs/webapi/dontSeeInField.mustache +0 -11
  213. package/docs/webapi/dontSeeInSource.mustache +0 -8
  214. package/docs/webapi/dontSeeInTitle.mustache +0 -8
  215. package/docs/webapi/dontSeeTraffic.mustache +0 -13
  216. package/docs/webapi/doubleClick.mustache +0 -13
  217. package/docs/webapi/downloadFile.mustache +0 -12
  218. package/docs/webapi/dragAndDrop.mustache +0 -9
  219. package/docs/webapi/dragSlider.mustache +0 -11
  220. package/docs/webapi/executeAsyncScript.mustache +0 -24
  221. package/docs/webapi/executeScript.mustache +0 -26
  222. package/docs/webapi/fillField.mustache +0 -16
  223. package/docs/webapi/flushNetworkTraffics.mustache +0 -5
  224. package/docs/webapi/focus.mustache +0 -13
  225. package/docs/webapi/forceClick.mustache +0 -28
  226. package/docs/webapi/forceRightClick.mustache +0 -18
  227. package/docs/webapi/grabAllWindowHandles.mustache +0 -7
  228. package/docs/webapi/grabAttributeFrom.mustache +0 -10
  229. package/docs/webapi/grabAttributeFromAll.mustache +0 -9
  230. package/docs/webapi/grabBrowserLogs.mustache +0 -9
  231. package/docs/webapi/grabCookie.mustache +0 -11
  232. package/docs/webapi/grabCssPropertyFrom.mustache +0 -11
  233. package/docs/webapi/grabCssPropertyFromAll.mustache +0 -10
  234. package/docs/webapi/grabCurrentUrl.mustache +0 -9
  235. package/docs/webapi/grabCurrentWindowHandle.mustache +0 -6
  236. package/docs/webapi/grabDataFromPerformanceTiming.mustache +0 -20
  237. package/docs/webapi/grabElementBoundingRect.mustache +0 -20
  238. package/docs/webapi/grabGeoLocation.mustache +0 -8
  239. package/docs/webapi/grabHTMLFrom.mustache +0 -10
  240. package/docs/webapi/grabHTMLFromAll.mustache +0 -9
  241. package/docs/webapi/grabNumberOfOpenTabs.mustache +0 -8
  242. package/docs/webapi/grabNumberOfVisibleElements.mustache +0 -9
  243. package/docs/webapi/grabPageScrollPosition.mustache +0 -8
  244. package/docs/webapi/grabPopupText.mustache +0 -5
  245. package/docs/webapi/grabRecordedNetworkTraffics.mustache +0 -10
  246. package/docs/webapi/grabSource.mustache +0 -8
  247. package/docs/webapi/grabTextFrom.mustache +0 -10
  248. package/docs/webapi/grabTextFromAll.mustache +0 -9
  249. package/docs/webapi/grabTitle.mustache +0 -8
  250. package/docs/webapi/grabValueFrom.mustache +0 -9
  251. package/docs/webapi/grabValueFromAll.mustache +0 -8
  252. package/docs/webapi/grabWebElement.mustache +0 -9
  253. package/docs/webapi/grabWebElements.mustache +0 -9
  254. package/docs/webapi/moveCursorTo.mustache +0 -12
  255. package/docs/webapi/openNewTab.mustache +0 -7
  256. package/docs/webapi/pressKey.mustache +0 -12
  257. package/docs/webapi/pressKeyDown.mustache +0 -12
  258. package/docs/webapi/pressKeyUp.mustache +0 -12
  259. package/docs/webapi/pressKeyWithKeyNormalization.mustache +0 -60
  260. package/docs/webapi/refreshPage.mustache +0 -6
  261. package/docs/webapi/resizeWindow.mustache +0 -6
  262. package/docs/webapi/rightClick.mustache +0 -14
  263. package/docs/webapi/saveElementScreenshot.mustache +0 -10
  264. package/docs/webapi/saveScreenshot.mustache +0 -12
  265. package/docs/webapi/say.mustache +0 -10
  266. package/docs/webapi/scrollIntoView.mustache +0 -11
  267. package/docs/webapi/scrollPageToBottom.mustache +0 -6
  268. package/docs/webapi/scrollPageToTop.mustache +0 -6
  269. package/docs/webapi/scrollTo.mustache +0 -12
  270. package/docs/webapi/see.mustache +0 -11
  271. package/docs/webapi/seeAttributesOnElements.mustache +0 -9
  272. package/docs/webapi/seeCheckboxIsChecked.mustache +0 -10
  273. package/docs/webapi/seeCookie.mustache +0 -8
  274. package/docs/webapi/seeCssPropertiesOnElements.mustache +0 -9
  275. package/docs/webapi/seeCurrentUrlEquals.mustache +0 -11
  276. package/docs/webapi/seeElement.mustache +0 -8
  277. package/docs/webapi/seeElementInDOM.mustache +0 -8
  278. package/docs/webapi/seeInCurrentUrl.mustache +0 -8
  279. package/docs/webapi/seeInField.mustache +0 -12
  280. package/docs/webapi/seeInPopup.mustache +0 -8
  281. package/docs/webapi/seeInSource.mustache +0 -7
  282. package/docs/webapi/seeInTitle.mustache +0 -8
  283. package/docs/webapi/seeNumberOfElements.mustache +0 -11
  284. package/docs/webapi/seeNumberOfVisibleElements.mustache +0 -10
  285. package/docs/webapi/seeTextEquals.mustache +0 -9
  286. package/docs/webapi/seeTitleEquals.mustache +0 -8
  287. package/docs/webapi/seeTraffic.mustache +0 -36
  288. package/docs/webapi/selectOption.mustache +0 -21
  289. package/docs/webapi/setCookie.mustache +0 -16
  290. package/docs/webapi/setGeoLocation.mustache +0 -12
  291. package/docs/webapi/startRecordingTraffic.mustache +0 -8
  292. package/docs/webapi/startRecordingWebSocketMessages.mustache +0 -8
  293. package/docs/webapi/stopRecordingTraffic.mustache +0 -5
  294. package/docs/webapi/stopRecordingWebSocketMessages.mustache +0 -7
  295. package/docs/webapi/switchTo.mustache +0 -9
  296. package/docs/webapi/switchToNextTab.mustache +0 -10
  297. package/docs/webapi/switchToPreviousTab.mustache +0 -10
  298. package/docs/webapi/type.mustache +0 -21
  299. package/docs/webapi/uncheckOption.mustache +0 -13
  300. package/docs/webapi/wait.mustache +0 -8
  301. package/docs/webapi/waitForClickable.mustache +0 -11
  302. package/docs/webapi/waitForCookie.mustache +0 -9
  303. package/docs/webapi/waitForDetached.mustache +0 -10
  304. package/docs/webapi/waitForDisabled.mustache +0 -6
  305. package/docs/webapi/waitForElement.mustache +0 -11
  306. package/docs/webapi/waitForEnabled.mustache +0 -6
  307. package/docs/webapi/waitForFunction.mustache +0 -17
  308. package/docs/webapi/waitForInvisible.mustache +0 -10
  309. package/docs/webapi/waitForNumberOfTabs.mustache +0 -9
  310. package/docs/webapi/waitForText.mustache +0 -13
  311. package/docs/webapi/waitForValue.mustache +0 -10
  312. package/docs/webapi/waitForVisible.mustache +0 -10
  313. package/docs/webapi/waitInUrl.mustache +0 -9
  314. package/docs/webapi/waitNumberOfVisibleElements.mustache +0 -10
  315. package/docs/webapi/waitToHide.mustache +0 -10
  316. package/docs/webapi/waitUrlEquals.mustache +0 -10
  317. package/lib/helper/AI.js +0 -214
  318. package/lib/helper/Mochawesome.js +0 -96
  319. package/lib/helper/extras/PlaywrightReactVueLocator.js +0 -52
  320. package/lib/helper/extras/React.js +0 -65
  321. package/lib/listener/enhancedGlobalRetry.js +0 -110
  322. package/lib/plugin/enhancedRetryFailedStep.js +0 -99
  323. package/lib/plugin/htmlReporter.js +0 -3648
  324. package/lib/plugin/stepByStepReport.js +0 -427
  325. package/lib/plugin/subtitles.js +0 -89
  326. package/lib/retryCoordinator.js +0 -207
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeceptjs",
3
- "version": "4.0.2-beta.8",
3
+ "version": "4.0.2",
4
4
  "type": "module",
5
5
  "description": "Supercharged End 2 End Testing Framework for NodeJS",
6
6
  "keywords": [
@@ -26,7 +26,9 @@
26
26
  "lib",
27
27
  "translations",
28
28
  "typings/**/*.d.ts",
29
- "docs/webapi/**"
29
+ "docs/*.md",
30
+ "docs/helpers/**",
31
+ "docs/plugins/**"
30
32
  ],
31
33
  "main": "lib/index.js",
32
34
  "module": "lib/index.js",
@@ -41,12 +43,15 @@
41
43
  "./els": "./lib/els.js",
42
44
  "./effects": "./lib/effects.js",
43
45
  "./steps": "./lib/steps.js",
44
- "./store": "./lib/store.js"
46
+ "./store": "./lib/store.js",
47
+ "./assertions": "./lib/assertions.js"
45
48
  },
46
49
  "bin": {
47
- "codeceptjs": "./bin/codecept.js"
50
+ "codeceptjs": "./bin/codecept.js",
51
+ "codeceptjs-mcp": "./bin/mcp-server.js",
52
+ "codeceptq": "./bin/codeceptq.js"
48
53
  },
49
- "repository": "Codeception/codeceptjs",
54
+ "repository": "codeceptjs/CodeceptJS",
50
55
  "scripts": {
51
56
  "test-server": "node bin/test-server.js test/data/rest/db.json --host 0.0.0.0 -p 8010 --read-only",
52
57
  "test-server:writable": "node bin/test-server.js test/data/rest/db.json --host 0.0.0.0 -p 8010",
@@ -85,34 +90,34 @@
85
90
  "publish-beta": "./runok.cjs publish:next-beta-version"
86
91
  },
87
92
  "dependencies": {
88
- "@codeceptjs/configure": "1.0.6",
93
+ "@codeceptjs/configure": "^4.0.0-beta.4",
89
94
  "@codeceptjs/helper": "2.0.4",
90
95
  "@cucumber/cucumber-expressions": "18",
91
- "@cucumber/gherkin": "37.0.1",
92
- "@cucumber/messages": "31.1.0",
96
+ "@cucumber/gherkin": "38.0.0",
97
+ "@cucumber/messages": "32.0.1",
98
+ "@modelcontextprotocol/sdk": "^1.26.0",
93
99
  "@xmldom/xmldom": "0.9.8",
94
100
  "acorn": "8.15.0",
95
- "ai": "^5.0.60",
101
+ "ai": "^6.0.43",
96
102
  "arrify": "3.0.0",
97
103
  "axios": "1.13.2",
98
104
  "chalk": "4.1.2",
99
105
  "cheerio": "^1.0.0",
100
- "chokidar": "^4.0.3",
101
- "commander": "14.0.2",
106
+ "chokidar": "^5.0.0",
107
+ "commander": "14.0.3",
102
108
  "cross-spawn": "7.0.6",
103
109
  "css-to-xpath": "0.1.0",
104
110
  "csstoxpath": "1.6.0",
105
- "envinfo": "7.20.0",
111
+ "envinfo": "7.21.0",
106
112
  "escape-string-regexp": "4.0.0",
107
113
  "figures": "3.2.0",
108
114
  "fn-args": "4.0.0",
109
- "fs-extra": "11.3.2",
115
+ "fs-extra": "11.3.3",
110
116
  "fuse.js": "^7.0.0",
111
117
  "glob": ">=9.0.0 <14",
112
118
  "html-minifier-terser": "7.2.0",
113
119
  "inquirer": "^8.2.7",
114
120
  "invisi-data": "^1.0.0",
115
- "joi": "18.0.2",
116
121
  "js-beautify": "1.15.4",
117
122
  "lodash.clonedeep": "4.5.0",
118
123
  "lodash.merge": "4.6.2",
@@ -126,20 +131,21 @@
126
131
  "parse-function": "5.6.10",
127
132
  "parse5": "7.3.0",
128
133
  "promise-retry": "1.1.1",
129
- "resq": "1.11.0",
130
134
  "sprintf-js": "1.1.3",
131
- "uuid": "11.1.0"
135
+ "uuid": "11.1.0",
136
+ "xpath": "0.0.34",
137
+ "zod": "^4.1.11"
132
138
  },
133
139
  "optionalDependencies": {
134
140
  "@codeceptjs/detox-helper": "1.1.13"
135
141
  },
136
142
  "devDependencies": {
137
143
  "@apollo/server": "^5",
138
- "@codeceptjs/expect-helper": "^1.0.2",
144
+ "@codeceptjs/expect-helper": "^4.0.0-beta.5",
139
145
  "@codeceptjs/mock-request": "0.3.1",
140
146
  "@eslint/eslintrc": "3.3.3",
141
147
  "@eslint/js": "9.39.2",
142
- "@faker-js/faker": "9.8.0",
148
+ "@faker-js/faker": "10.2.0",
143
149
  "@inquirer/testing": "^3.0.3",
144
150
  "@pollyjs/adapter-puppeteer": "6.0.6",
145
151
  "@pollyjs/core": "6.0.6",
@@ -149,48 +155,46 @@
149
155
  "@types/node": "^25.0.3",
150
156
  "@wdio/sauce-service": "9.12.5",
151
157
  "@wdio/selenium-standalone-service": "8.15.0",
152
- "@wdio/utils": "9.21.0",
158
+ "@wdio/utils": "9.23.3",
153
159
  "@xmldom/xmldom": "0.9.8",
154
160
  "bunosh": "latest",
155
161
  "chai": "^6.2.1",
156
162
  "chai-as-promised": "^8.0.2",
157
163
  "chai-subset": "1.6.0",
158
164
  "documentation": "14.0.3",
159
- "electron": "38.2.0",
165
+ "electron": "40.1.0",
160
166
  "eslint": "^9.36.0",
161
167
  "eslint-plugin-import": "2.32.0",
162
- "eslint-plugin-mocha": "11.1.0",
168
+ "eslint-plugin-mocha": "11.2.0",
163
169
  "expect": "30.2.0",
164
170
  "express": "^5.1.0",
165
- "globals": "16.5.0",
171
+ "globals": "17.3.0",
166
172
  "graphql": "16.12.0",
167
173
  "graphql-tag": "^2.12.6",
168
174
  "husky": "9.1.7",
169
175
  "jsdoc": "^3.6.11",
170
176
  "jsdoc-typeof-plugin": "1.0.0",
171
177
  "json-server": "0.17.4",
172
- "mochawesome": "^7.1.3",
173
- "playwright": "1.55.1",
178
+ "playwright": "^1.59.0",
174
179
  "prettier": "^3.3.2",
175
- "puppeteer": "24.33.0",
180
+ "puppeteer": "24.36.0",
176
181
  "qrcode-terminal": "0.12.0",
177
182
  "rosie": "2.1.1",
178
183
  "runok": "^0.9.3",
179
184
  "semver": "7.7.3",
180
- "sinon": "21.0.0",
185
+ "sinon": "21.0.1",
181
186
  "sinon-chai": "^4.0.1",
182
187
  "ts-morph": "27.0.2",
183
188
  "ts-node": "10.9.2",
184
189
  "tsd": "^0.33.0",
185
190
  "tsd-jsdoc": "2.5.0",
186
191
  "tsx": "^4.19.2",
187
- "typedoc": "0.28.15",
192
+ "typedoc": "0.28.16",
188
193
  "typedoc-plugin-markdown": "4.9.0",
189
194
  "typescript": "5.9.3",
190
195
  "wdio-docker-service": "3.2.1",
191
196
  "webdriverio": "9.23.0",
192
- "xml2js": "0.6.2",
193
- "xpath": "0.0.34"
197
+ "xml2js": "0.6.2"
194
198
  },
195
199
  "peerDependencies": {
196
200
  "tsx": "^4.0.0"
@@ -212,6 +216,7 @@
212
216
  }
213
217
  },
214
218
  "overrides": {
215
- "tmp": "0.2.5"
219
+ "tmp": "0.2.5",
220
+ "js-yaml": "^4.1.1"
216
221
  }
217
222
  }
@@ -4,7 +4,6 @@
4
4
  /// <reference path="./promiseBasedTypes.d.ts" />
5
5
  /// <reference types="webdriverio" />
6
6
  /// <reference path="./Mocha.d.ts" />
7
- /// <reference types="joi" />
8
7
  /// <reference types="playwright" />
9
8
 
10
9
  declare namespace CodeceptJS {
@@ -211,9 +210,6 @@ declare namespace CodeceptJS {
211
210
  */
212
211
  JSONResponse?: any
213
212
 
214
- /** Enable AI features for development purposes */
215
- AI?: any
216
-
217
213
  [key: string]: any
218
214
  }
219
215
  /**
@@ -465,7 +461,6 @@ declare namespace CodeceptJS {
465
461
  | { ios: string }
466
462
  | { android: string; ios: string }
467
463
  | { react: string }
468
- | { vue: string }
469
464
  | { shadow: string[] }
470
465
  | { custom: string }
471
466
  | { pw: string }
@@ -522,9 +517,9 @@ declare namespace CodeceptJS {
522
517
  function addStep(step: string | RegExp, fn: Function): Promise<void>
523
518
  }
524
519
 
525
- type TryTo = <T>(fn: () => Promise<T> | T) => Promise<T | false>
526
- type HopeThat = <T>(fn: () => Promise<T> | T) => Promise<T | false>
527
- type RetryTo = <T>(fn: () => Promise<T> | T, retries?: number) => Promise<T>
520
+ type TryTo = (fn: () => void) => Promise<boolean>
521
+ type HopeThat = (fn: () => void) => Promise<boolean>
522
+ type RetryTo = (fn: (tries: number) => Promise<void> | void, maxTries: number, pollInterval?: number) => Promise<boolean>
528
523
 
529
524
  // Globals
530
525
  declare const codecept_dir: string
@@ -635,8 +630,105 @@ declare namespace Mocha {
635
630
  }
636
631
  }
637
632
 
633
+ // Internal API types
638
634
  declare module 'codeceptjs' {
639
635
  export default codeceptjs
636
+
637
+ /**
638
+ * Dependency Injection Container
639
+ * Provides access to helpers, support objects, plugins, and translation
640
+ */
641
+ export const container: typeof CodeceptJS.Container
642
+
643
+ /**
644
+ * Test runner class
645
+ */
646
+ export const codecept: typeof CodeceptJS.Codecept
647
+
648
+ /**
649
+ * Output module for printing messages
650
+ */
651
+ export const output: typeof CodeceptJS.output
652
+
653
+ /**
654
+ * Event dispatcher for listening to CodeceptJS events
655
+ */
656
+ export const event: typeof CodeceptJS.event
657
+
658
+ /**
659
+ * Global promise chain recorder
660
+ */
661
+ export const recorder: CodeceptJS.recorder
662
+
663
+ /**
664
+ * Configuration module
665
+ */
666
+ export const config: typeof CodeceptJS.Config
667
+
668
+ /**
669
+ * Actor (I) constructor
670
+ */
671
+ export const actor: CodeceptJS.actor
672
+
673
+ /**
674
+ * Base Helper class
675
+ */
676
+ export const helper: typeof CodeceptJS.Helper
677
+
678
+ /**
679
+ * Pause execution until user input
680
+ */
681
+ export const pause: typeof CodeceptJS.pause
682
+
683
+ /**
684
+ * Execute steps within specific context
685
+ */
686
+ export const within: typeof CodeceptJS.within
687
+
688
+ /**
689
+ * Create data tables for data-driven tests
690
+ */
691
+ export const dataTable: typeof CodeceptJS.DataTable
692
+
693
+ /**
694
+ * Create data table arguments
695
+ */
696
+ export const dataTableArgument: typeof CodeceptJS.DataTableArgument
697
+
698
+ /**
699
+ * Shared store for test data
700
+ */
701
+ export const store: typeof CodeceptJS.store
702
+
703
+ /**
704
+ * Locator builder
705
+ */
706
+ export const locator: typeof CodeceptJS.Locator
707
+
708
+ /**
709
+ * Auto-healing module
710
+ */
711
+ export const heal: any
712
+
713
+ /**
714
+ * AI assistant module
715
+ */
716
+ export const ai: any
717
+
718
+ /**
719
+ * Workers for parallel execution
720
+ */
721
+ export const Workers: any
722
+
723
+ /**
724
+ * Secret value type for sensitive data
725
+ */
726
+ export const Secret: typeof CodeceptJS.Secret
727
+
728
+ /**
729
+ * Create a secret value
730
+ */
731
+ export const secret: typeof CodeceptJS.Secret.secret
640
732
  }
641
733
 
642
734
  declare module '@codeceptjs/helper' {
@@ -648,3 +740,22 @@ declare module 'codeceptjs/effects' {
648
740
  export const retryTo: RetryTo
649
741
  export const hopeThat: HopeThat
650
742
  }
743
+
744
+ declare module 'codeceptjs/steps' {
745
+ const step: {
746
+ opts(opts: CodeceptJS.StepOptions): CodeceptJS.StepConfig;
747
+ timeout(timeout: number): CodeceptJS.StepConfig;
748
+ retry(retry: number): CodeceptJS.StepConfig;
749
+ stepOpts(opts: CodeceptJS.StepOptions): CodeceptJS.StepConfig;
750
+ stepTimeout(timeout: number): CodeceptJS.StepConfig;
751
+ stepRetry(retry: number): CodeceptJS.StepConfig;
752
+ section(name: string): any;
753
+ endSection(): any;
754
+ Section(name: string): any;
755
+ EndSection(): any;
756
+ Given(): any;
757
+ When(): any;
758
+ Then(): any;
759
+ }
760
+ export default step
761
+ }