All Versions
131
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
    I.limitTime(5).click('Link');
    
    • 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 playwright.md. 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": [
      "./features/*.feature",
      "./features/api_features/*.feature"
    ],
    
    • ➕ 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 ...
    
      Examples:
      | productName          | customer              | email              | anythingMore |
      | {{commerce.product}} | Dr. {{name.findName}} | {{internet.email}} | 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