codeceptjs 4.0.0-rc.2 → 4.0.0-rc.8

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 (40) hide show
  1. package/README.md +39 -27
  2. package/bin/mcp-server.js +610 -0
  3. package/docs/webapi/appendField.mustache +5 -0
  4. package/docs/webapi/attachFile.mustache +12 -0
  5. package/docs/webapi/checkOption.mustache +1 -1
  6. package/docs/webapi/clearField.mustache +5 -0
  7. package/docs/webapi/dontSeeElement.mustache +4 -0
  8. package/docs/webapi/dontSeeInField.mustache +5 -0
  9. package/docs/webapi/fillField.mustache +5 -0
  10. package/docs/webapi/moveCursorTo.mustache +5 -1
  11. package/docs/webapi/seeElement.mustache +4 -0
  12. package/docs/webapi/seeInField.mustache +5 -0
  13. package/docs/webapi/selectOption.mustache +5 -0
  14. package/docs/webapi/uncheckOption.mustache +1 -1
  15. package/lib/codecept.js +20 -17
  16. package/lib/command/init.js +0 -3
  17. package/lib/command/run-workers.js +1 -0
  18. package/lib/container.js +19 -4
  19. package/lib/element/WebElement.js +52 -0
  20. package/lib/helper/Appium.js +8 -8
  21. package/lib/helper/Playwright.js +169 -87
  22. package/lib/helper/Puppeteer.js +181 -64
  23. package/lib/helper/WebDriver.js +141 -53
  24. package/lib/helper/errors/MultipleElementsFound.js +27 -110
  25. package/lib/helper/scripts/dropFile.js +11 -0
  26. package/lib/html.js +14 -1
  27. package/lib/listener/globalRetry.js +32 -6
  28. package/lib/mocha/cli.js +10 -0
  29. package/lib/plugin/aiTrace.js +464 -0
  30. package/lib/plugin/retryFailedStep.js +28 -19
  31. package/lib/plugin/stepByStepReport.js +5 -1
  32. package/lib/utils.js +48 -0
  33. package/lib/workers.js +49 -7
  34. package/package.json +5 -3
  35. package/lib/listener/enhancedGlobalRetry.js +0 -110
  36. package/lib/plugin/enhancedRetryFailedStep.js +0 -99
  37. package/lib/plugin/htmlReporter.js +0 -3648
  38. package/lib/retryCoordinator.js +0 -207
  39. package/typings/promiseBasedTypes.d.ts +0 -9469
  40. package/typings/types.d.ts +0 -11402
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  [![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner-direct-single.svg)](https://stand-with-ukraine.pp.ua)
2
2
 
3
3
  [<img src="https://img.shields.io/badge/slack-@codeceptjs-purple.svg?logo=slack">](https://join.slack.com/t/codeceptjs/shared_invite/enQtMzA5OTM4NDM2MzA4LWE4MThhN2NmYTgxNTU5MTc4YzAyYWMwY2JkMmZlYWI5MWQ2MDM5MmRmYzZmYmNiNmY5NTAzM2EwMGIwOTNhOGQ) [<img src="https://img.shields.io/badge/discourse-codeceptjs-purple">](https://codecept.discourse.group) [![NPM version][npm-image]][npm-url] [<img src="https://img.shields.io/badge/dockerhub-images-blue.svg?logo=codeceptjs">](https://hub.docker.com/r/codeceptjs/codeceptjs)
4
- [![AI features](https://img.shields.io/badge/AI-features?logo=openai&logoColor=white)](https://github.com/codeceptjs/CodeceptJS/edit/3.x/docs/ai.md) [![StandWithUkraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md)
4
+ [![AI features](https://img.shields.io/badge/AI-features?logo=openai&logoColor=white)](https://github.com/codeceptjs/CodeceptJS/edit/3.x/docs/ai.md) [![MCP Server](https://img.shields.io/badge/MCP-server?logo=anthropic&logoColor=white)](https://github.com/codeceptjs/CodeceptJS/blob/main/docs/mcp.md) [![StandWithUkraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md)
5
5
 
6
6
  ## Build Status
7
7
 
@@ -233,48 +233,60 @@ Scenario('test title', () => {
233
233
  })
234
234
  ```
235
235
 
236
- ## HTML Reporter
236
+ ## HTML Reports
237
237
 
238
- CodeceptJS includes a powerful built-in HTML Reporter that generates comprehensive, interactive test reports with detailed information about your test runs. The HTML reporter is **enabled by default** for all new projects and provides:
238
+ Generate beautiful HTML reports using **[@testomatio/reporter](https://github.com/testomatio/reporter)** package.
239
239
 
240
- ### Features
241
-
242
- - **Interactive Dashboard**: Visual statistics, pie charts, and expandable test details
243
- - **Step-by-Step Execution**: Shows individual test steps with timing and status indicators
244
- - **BDD/Gherkin Support**: Full support for feature files with proper scenario formatting
245
- - **System Information**: Comprehensive environment details including browser versions
246
- - **Advanced Filtering**: Real-time filtering by status, tags, features, and test types
247
- - **History Tracking**: Multi-run history with trend visualization
248
- - **Error Details**: Clean formatting of error messages and stack traces
249
- - **Artifacts Support**: Display screenshots and other test artifacts
240
+ ### Installation
250
241
 
251
- ### Visual Examples
242
+ ```sh
243
+ npm install @testomatio/reporter --save-dev
244
+ ```
252
245
 
253
- #### Interactive Test Dashboard
246
+ ### Configuration
254
247
 
255
- The main dashboard provides a complete overview with interactive statistics and pie charts:
248
+ Add the `testomatio` plugin to your `codecept.conf.js`:
256
249
 
257
- ![HTML Reporter Dashboard](docs/shared/html-reporter-main-dashboard.png)
250
+ ```js
251
+ plugins: {
252
+ testomatio: {
253
+ enabled: true,
254
+ require: '@testomatio/reporter/lib/adapter/codecept',
255
+ },
256
+ }
257
+ ```
258
258
 
259
- #### Detailed Test Results
259
+ ### Usage
260
260
 
261
- Each test shows comprehensive execution details with expandable step information:
261
+ Generate HTML reports by setting the `TESTOMATIO_HTML_REPORT_SAVE` environment variable:
262
262
 
263
- ![HTML Reporter Test Details](docs/shared/html-reporter-test-details.png)
263
+ ```sh
264
+ TESTOMATIO_HTML_REPORT_SAVE=1 npx codeceptjs run
265
+ ```
264
266
 
265
- #### Advanced Filtering Capabilities
267
+ The report will be saved to `html-report/testomatio-report.html`.
266
268
 
267
- Real-time filtering allows quick navigation through test results:
269
+ ### Features
268
270
 
269
- ![HTML Reporter Filtering](docs/shared/html-reporter-filtering.png)
271
+ - Modern, responsive interface with real-time statistics
272
+ - Detailed test information with step-by-step breakdown
273
+ - Screenshots, videos, and artifacts display
274
+ - BDD/Gherkin support with proper scenario formatting
275
+ - Customizable output location and filename
276
+ - Optional integration with [Testomat.io](https://testomat.io) cloud
270
277
 
271
- #### BDD/Gherkin Support
278
+ ### Customization
272
279
 
273
- Full support for Gherkin scenarios with proper feature formatting:
280
+ ```sh
281
+ # Custom output folder
282
+ TESTOMATIO_HTML_REPORT_SAVE=1 TESTOMATIO_HTML_REPORT_FOLDER=./reports npx codeceptjs run
274
283
 
275
- ![HTML Reporter BDD Details](docs/shared/html-reporter-bdd-details.png)
284
+ # Custom filename
285
+ TESTOMATIO_HTML_REPORT_SAVE=1 TESTOMATIO_HTML_FILENAME=my-report.html npx codeceptjs run
276
286
 
277
- The HTML reporter generates self-contained reports that can be easily shared with your team. Learn more about configuration and features in the [HTML Reporter documentation](https://codecept.io/plugins/#htmlreporter).
287
+ # Integrate with Testomat.io cloud
288
+ TESTOMATIO_HTML_REPORT_SAVE=1 TESTOMATIO=your_api_key npx codeceptjs run
289
+ ```
278
290
 
279
291
  ## PageObjects
280
292