All Versions
Latest Version
Avg Release Cycle
17 days
Latest Release

Changelog History
Page 2

  • v3.2.1 Changes

    ๐Ÿš€ > โ™ป๏ธ This release fixes hanging of tests by reducing timeouts for automatic retries on failures.

    • ๐Ÿ†• [retryFailedStep plugin] New Defaults: retries steps up to 3 times with factor of 1.5 (previously 5 with factor 2)
    • [Playwright] - disabled retry on failed context actions (not needed anymore)
    • [Puppeteer] - reduced retries on context failures to 3 times.
    • [Playwright] Handling crash event to automatically close crashed pages.
  • v3.2.0 Changes

    ๐Ÿ›ฉ๏ธ Features:

    โฑ Timeouts implemented

    • global timeouts (via timeout config option).
      • Breaking change: timeout option expects timeout in seconds, not in milliseconds as it was previously.
    • test timeouts (via Scenario and Feature options)
      • Breaking change: Feature().timeout() and Scenario().timeout() calls has no effect and are deprecated
    // set timeout for every test in suite to 10 secs
    Feature('tests with timeout', { timeout: 10 });
    // set timeout for this test to 20 secs
    Scenario('a test with timeout', { timeout: 20 }, ({ I }) => {});
    • step timeouts (See #3059 by @nikocanvacom)
    // set step timeout to 5 secs
    • stepTimeout plugin introduced to automatically add timeouts for each step (#3059 by @nikocanvacom).

    retryTo plugin introduced to rerun a set of steps on failure:

    // editing in text in iframe
    // if iframe was not loaded - retry 5 times
    await retryTo(() => {
      I.switchTo('#editor frame');
      I.fillField('textarea', 'value');
    }, 5);
    • ๐Ÿ”ง [Playwright] added locale configuration
    • โฌ†๏ธ [WebDriver] upgraded to webdriverio v7

    ๐Ÿ›  ๐Ÿ› Bugfixes:

    • ๐Ÿ›  Fixed allure plugin "Unexpected endStep()" error in #3098 by @abhimanyupandian
    • ๐Ÿ‘€ [Puppeteer] always close remote browser on test end. See #3054 by @mattonem
    • ๐Ÿ‘€ stepbyStepReport Plugin: Disabled screenshots after test has failed. See #3119 by @ioannisChalkias
  • v3.1.3 Changes

    ๐Ÿ›ฉ๏ธ Features:

    • BDD Improvement. Added DataTableArgument class to work with table data structures.
    const { DataTableArgument } = require('codeceptjs');
    Given('I have an employee card', (table) => {
      const dataTableArgument = new DataTableArgument(table);
      const hashes = dataTableArgument.hashes(); 
      // hashes = [{ name: 'Harry', surname: 'Potter', position: 'Seeker' }];
      const rows = dataTableArgument.rows();
      // rows = [['Harry', 'Potter', Seeker]];

    โšก๏ธ See updated BDD section for more API options. Thanks to @EgorBodnar

    • ๐Ÿ‘Œ Support cjs file extensions for config file: codecept.conf.cjs. See #3052 by @kalvenschraut
    • โšก๏ธ API updates: Added test.file and suite.file properties to test and suite objects to use in helpers and plugins.

    ๐Ÿ›  ๐Ÿ› Bugfixes:

    • ๐Ÿ‘€ [Playwright] Fixed resetting test.artifacts for failing tests. See #3033 by @jancorvus. Fixes #3032
    • ๐Ÿ‘€ [Playwright] Apply basicAuth credentials to all opened browser contexts. See #3036 by @nikocanvacom. Fixes #3035
    • โšก๏ธ [WebDriver] Updated webdriverio default version to ^6.12.1. See #3043 by @sridhareaswaran
    • ๐Ÿ‘€ [Playwright] I.haveRequestHeaders affects all tabs. See #3049 by @jancorvus
    • ๐Ÿ›  BDD: Fixed unhandled empty feature files. Fix #3046 by @abhimanyupandian
    • ๐Ÿ›  Fixed RangeError: Invalid string length in recorder.js when running huge amount of tests.
    • ๐Ÿšš [Appium] Fixed definitions for touchPerform, hideDeviceKeyboard, removeApp by @mirao

    ๐Ÿ“š ๐Ÿ“– Documentation:

  • v3.1.2 Changes

    ๐Ÿ›ฉ๏ธ Features:

    • โž• Added coverage plugin to generate code coverage for Playwright & Puppeteer. By @anirudh-modi
    • โž• Added subtitle plugin to generate subtitles for videos recorded with Playwright. By @anirudh-modi
    • ๐Ÿ‘€ Configuration: config.tests to accept array of file patterns. See #2994 by @monsteramba
    exports.config = {
      tests: ['./*_test.js','./sampleTest.js'],
      // ... 
    • ๐Ÿ‘€ Notification is shown for test files without Feature(). See #3011 by @PeterNgTr

    ๐Ÿ›  ๐Ÿ› Bugfixes:

    • ๐Ÿ›  [Playwright] Fixed #2986 error is thrown when deleting a missing video. Fix by @hatufacci
    • ๐Ÿ›  Fixed false positive result when invalid function is called in a helper. See #2997 by @abhimanyupandian
    • ๐Ÿ‘€ [Appium] Removed full page mode for saveScreenshot. See #3002 by @nlespiaucq
    • โœ… [Playwright] Fixed #3003 saving trace for a test with a long name. Fix by @hatufacci

    ๐ŸŽฑ Other:

    • ๐Ÿ—„ Deprecated puppeteerCoverage plugin in favor of coverage plugin.
  • v3.1.1 Changes

    • ๐Ÿ›  [Appium] Fixed #2759 grabNumberOfVisibleElements, grabAttributeFrom, grabAttributeFromAll to allow id locators.
  • v3.1.0 Changes

    • โšก๏ธ [Plawyright] Updated to Playwright 1.13
    • [Playwright] Possible breaking change: BrowserContext is initialized before each test and closed after. This behavior matches recommendation from Playwright team to use different contexts for tests.
    • โšก๏ธ [Puppeteer] Updated to Puppeteer 10.2.
    • ๐Ÿ—„ [Protractor] Helper deprecated

    ๐Ÿ›ฉ๏ธ Features:

    • [Playwright] Added recording of video and traces by @davertmik
    • ๐Ÿคก [Playwritght] Mocking requests implemented via route API of Playwright by @davertmik
    • ๐Ÿ‘Œ [Playwright] Added support for React locators in #2912 by @AAAstorga

    ๐Ÿ›  ๐Ÿ› Bugfixes:

    • ๐Ÿ›  [Puppeteer] Fixed #2244 els[0]._clickablePoint is not a function by @karunandrii.
    • ๐Ÿ‘€ [Puppeteer] Fixed fillField to check for invisible elements. See #2916 by @anne-open-xchange
    • [Playwright] Reset of dialog event listener before registration of new one. #2946 by @nikocanvacom
    • ๐Ÿ›  Fixed running Gherkin features with run-multiple using chunks. See #2900 by @andrenoberto
    • ๐Ÿ›  Fixed #2937 broken typings for subfolders on Windows by @jancorvus
    • ๐Ÿ›  Fixed issue where cucumberJsonReporter not working with fakerTransform plugin. See #2942 by @ilangv
    • ๐Ÿ›  Fixed #2952 finished job with status code 0 when playwright cannot connect to remote wss url. By @davertmik
  • v3.0.7 Changes

    ๐Ÿ“š ๐Ÿ“– Documentation fixes:

    • โœ‚ Remove broken link from Nightmare helper. See #2860 by @Arhell
    • ๐Ÿ›  Fixed broken links in See #2848 by @johnhoodjr
    • ๐Ÿ›  Fix mocha-multi config example. See #2881 by @rimesc
    • ๐Ÿ›  Fix small errors in email documentation file. See #2884 by @mkrtchian
    • ๐Ÿ‘Œ Improve documentation for Sharing Data Between Workers section. See #2891 by @ngraf

    ๐Ÿ›ฉ๏ธ Features:

    • ๐Ÿ‘€ [WebDriver] Shadow DOM Support for Webdriver. See #2741 by @gkushang
    • ๐Ÿš€ [Release management] Introduce the versioning automatically, it follows the semantics versioning. See #2883 by @PeterNgTr
    • โž• Adding opts into Scenario.skip that it would be useful for building reports. See #2867 by @AlexKo4
    • โž• Added support for attaching screenshots to cucumberJsonReporter See #2888 by @fijijavis
    • ๐Ÿ‘Œ Supported config file for codeceptjs shell command. See #2895 by @PeterNgTr:
    npx codeceptjs shell -c foo.conf.js

    ๐Ÿ› Bug fixes:

    • ๐Ÿ‘€ [GraphQL] Use a helper-specific instance of Axios to avoid contaminating global defaults. See #2868 by @vanvoljg
    • ๐Ÿ‘€ A default system color is used when passing non supported system color when using I.say(). See #2874 by @PeterNgTr
    • ๐Ÿ‘€ [Playwright] Avoid the timout due to calling the click on invisible elements. See #2875 by cbayer97
  • v3.0.6 Changes

    • ๐Ÿ‘€ [Playwright] Added electron as a browser to config. See #2834 by @cbayer97
    • ๐Ÿ‘€ [Playwright] Implemented launchPersistentContext to be able to launch persistent remote browsers. See #2817 by @brunoqueiros. Fixes #2376.
    • ๐Ÿ›  Fixed printing logs and stack traces for run-workers. See #2857 by @haveac1gar. Fixes #2621, #2852
    • ๐Ÿ‘€ Emit custom messages from worker to the main thread. See #2824 by @jccguimaraes
    • ๐Ÿ‘Œ Improved workers processes output. See #2804 by @drfiresign
    • ๐Ÿ‘€ BDD. Added ability to use an array of feature files inside config in gherkin.features. See #2814 by @jbergeronjr
    "features": [
    • โž• Added getQueueId to reporter to rerun a specific promise. See #2837 by @jonatask
    • โž• Added fakerTransform plugin to use faker data in Gherkin scenarios. See #2854 by @adrielcodeco
    Scenario Outline: ...
      Given ...
      When ...
      Then ...
      | productName          | customer              | email              | anythingMore |
      | {{commerce.product}} | Dr. {{name.findName}} | {{}} | staticData   |
    • ๐Ÿ”ง [REST] Use class instance of axios, not the global instance, to avoid contaminating global configuration. #2846 by @vanvoljg
    • ๐Ÿ‘€ [Appium] Added tunnelIdentifier config option to provide tunnel for SauceLabs. See #2832 by @gurjeetbains
  • v3.0.5 Changes

    ๐Ÿ”‹ Features:

    • ๐Ÿณ Official Docker image for CodeceptJS v3. New Docker image is based on official Playwright image and supports Playwright, Puppeteer, WebDriver engines. Thanks @VikentyShevyrin
    • ๐Ÿ‘ Better support for Typescript codecept.conf.ts configuration files. See #2750 by @elaichenkov
    • ๐Ÿ‘€ Propagate more events for custom parallel script. See #2796 by @jccguimaraes
    • ๐Ÿ“š [mocha-junit-reporter] Now supports attachments, see documentation for details. See #2675 by @Shard
    • ๐Ÿ‘€ CustomLocators interface for TypeScript to extend from LocatorOrString. See #2798 by @danielrentz
    • ๐ŸŒฒ [REST] Mask sensitive data from log messages. js I.sendPatchRequest('/api/users.json', secret({ "email": "[email protected]" })); ๐Ÿ‘€ See #2786 by @PeterNgTr

    ๐Ÿ› Bug fixes:

    • ๐Ÿ›  Fixed reporting of nested steps with PageObjects and BDD scenarios. See #2800 by @davertmik. Fixes #2720 #2682
    • ๐Ÿ›  Fixed issue with codeceptjs shell which was broken since 3.0.0. See #2743 by @stedman
    • ๐Ÿ‘€ [Gherkin] Fixed issue suppressed or hidden errors in tests. See #2745 by @ktryniszewski-mdsol
    • ๐Ÿ‘€ [Playwright] fix grabCssPropertyFromAll serialization by using property names. See #2757 by @elaichenkov
    • ๐Ÿ‘€ [Allure] fix report for multi sessions. See #2771 by @cbayer97
    • ๐Ÿ‘€ [WebDriver] Fix locator object debug log messages in smart wait. See 2748 by @elaichenkov

    ๐Ÿ“š Documentation fixes:

    • ๐Ÿ›  Fixed some broken examples. See #2756 by @danielrentz
    • ๐Ÿ›  Fixed Typescript typings. See #2747, #2758 and #2769 by @elaichenkov
    • โž• Added missing type for xFeature. See #2754 by @PeterNgTr
    • ๐Ÿ›  Fixed code example in Page Object documentation. See #2793 by @mkrtchian

    โšก๏ธ Library updates:

    • โšก๏ธ Updated Axios to 0.21.1. See by @sseide
    • โšก๏ธ Updated @pollyjs/core @pollyjs/adapter-puppeteer. See #2760 by @Anikethana
  • v3.0.4 Changes

    • ๐Ÿš‘ Hotfix Fixed init script by adding cross-spawn package. By @vipulgupta2048
    • ๐Ÿ›  Fixed handling error during initialization of run-multiple. See #2730 by @wagoid