All Versions
Latest Version
Avg Release Cycle
17 days
Latest Release

Changelog History
Page 3

  • v2.6.1 Changes

    April 05, 2020
    • ๐Ÿ”Œ [screenshotOnFail plugin] Fixed saving screenshot of active session.
    • ๐Ÿ”Œ [screenshotOnFail plugin] Fix issue #2301 when having the flag uniqueScreenshotNames=true results in undefined in screenshot file name by @PeterNgTr
    • 0๏ธโƒฃ [WebDriver] Fixed waitForElement not applying the optional second argument to override the default timeout in webdriverio 6. Fix by @Mooksc
    • โšก๏ธ [WebDriver] Updated waitUntil method which is used by all of the wait* functions. This updates the waitForElement by the same convention used to update waitForVisible and waitInUrl to be compatible with both WebDriverIO v5 & v6. See #2313 by @Mooksc
  • v2.6.0 Changes

    March 31, 2020
    • โšก๏ธ [Playwright] Updated to Playwright 0.12 by @Georgegriff.

    โฌ†๏ธ Upgrade playwright to 0.12:

    npm i [email protected]^0.12 --save

    ๐Ÿš€ Notable changes:

    • Fixed opening two browsers on start
    • executeScript - passed function now accepts only one argument. Pass in objects or arrays if you need multtple arguments: js // Old style, does not work anymore: I.executeScript((x, y) => x + y, x, y); // New style, passing an object: I.executeScript(({x, y}) => x + y, {x, y});
    • click - automatically waits for element to become clickable (visible, not animated) and waits for navigation.
    • clickLink - deprecated
    • waitForClickable - deprecated
    • forceClick - added
    • Added support for custom locators. See #2277
    • Introduced device emulation:
      • globally via emulate config option
      • per session

    โšก๏ธ [WebDriver] Updated to webdriverio v6 by @PeterNgTr.

    ๐Ÿš€ Read release notes, then โฌ†๏ธ upgrade webdriverio to 6.0:

    npm i [email protected]^6.0 --save

    ๐Ÿšš (webdriverio v5 support is deprecated and will be removed in CodeceptJS 3.0)

    ๐Ÿ‘ [WebDriver] Introduced Shadow DOM support by @gkushang{ shadow: ['my-app', 'recipe-hello', 'button'] });
    • ๐Ÿ›  Fixed parallel execution of run-workers for Gherkin scenarios by @koushikmohan1996
    • ๐Ÿ“ฆ [MockRequest] Updated and moved to standalone package:
      • full support for record/replay mode for Puppeteer
      • added mockServer method to use flexible PollyJS API to define mocks
      • fixed stale browser screen in record mode.
    • ๐Ÿ”Œ [Playwright] Added support on for screenshotOnFail plugin by @amonkc
    • ๐Ÿ‘€ Gherkin improvement: setting different tags per examples. See #2208 by @acuper
    • โšก๏ธ [TestCafe] Updated click to take first visible element. Fixes #2226 by @theTainted
    • โšก๏ธ [Puppeteer][WebDriver] Updated waitForClickable method to check for element overlapping. See #2261 by @PiQx
    • ๐Ÿ‘ [Puppeteer] Dropped puppeteer-firefox support, as Puppeteer supports Firefox natively.
    • ๐Ÿ‘€ [REST] Rrespect Content-Type header. See #2262 by @pmarshall-legacy
    • ๐Ÿ‘€ [allure plugin] Fixes BeforeSuite failures in allure reports. See #2248 by @Georgegriff
    • ๐Ÿ‘€ [WebDriver][Puppeteer][Playwright] A screenshot of for an active session is saved in multi-session mode. See #2253 by @ChexWarrior
    • ๐Ÿ›  Fixed --profile option by @pablopaul. Profile value to be passed into run-multiple and run-workers:
    npx codecept run-workers 2 --profile firefox

    ๐Ÿ‘€ Value is available at process.env.profile (previously process.profile). See #2302. Fixes #1968 #1315

    I.see('You are logged out');
  • v2.5.0 Changes

    February 18, 2020

    ๐Ÿ’ป > Playwright is an alternative to Puppeteer which works very similarly to it but adds cross-browser support with Firefox and Webkit. Until v1.0 Playwright API is not stable but we introduce it to CodeceptJS so you could try it.

    • ๐Ÿ‘€ [Puppeteer] Fixed basic auth support when running in multiple sessions. See #2178 by @ian-bartholomew
    • ๐Ÿ‘€ [Puppeteer] Fixed waitForText when there is no body element on page (redirect). See #2181 by @Vorobeyko
    • ๐Ÿ”Œ [Selenoid plugin] Fixed overriding current capabilities by adding deepMerge. Fixes #2183 by @koushikmohan1996
    • โž• Added types for Scenario.todo by @Vorobeyko
    • โž• Added types for Mocha by @Vorobeyko. Fixed typing conflicts with Jest
    • [FileSystem] Added methods by @nitschSB
      • waitForFile
      • seeFileContentsEqualReferenceFile
    • โž• Added --colors option to run and run-multiple so you force colored output in dockerized environment. See #2189 by @mirao
    • ๐Ÿ‘€ [WebDriver] Added type command to enter value without focusing on a field. See #2198 by @xMutaGenx
    • ๐Ÿ›  Fixed codeceptjs gt command to respect config pattern for tests. See #2200 and #2204 by @matheo
  • v2.4.3 Changes

    January 27, 2020
    • ๐Ÿš‘ Hotfix for interactive pause
  • v2.4.2 Changes

    January 27, 2020
    • Interactive pause improvements by @koushikmohan1996
      • allows using in page objects and variables: pause({ loginPage, a })
      • enables custom commands inside pause with => prefix: =>
    • ๐Ÿ”Œ Selenoid plugin added by by @koushikmohan1996
      • uses Selenoid to launch browsers inside Docker containers
      • automatically records videos and attaches them to allure reports
      • can delete videos for successful tests
      • can automatically pull in and start Selenoid containers
      • works with WebDriver helper
    • ๐Ÿ‘ท Avoid failiure report on successful retry in worker by @koushikmohan1996
    • โž• Added translation ability to Scenario, Feature and other context methods by @koushikmohan1996
    • ๐Ÿ”Œ allurePlugin: Added say comments to allure reports by @PeterNgTr.
    • ๐Ÿ›  Fixed no custom output folder created when executed with run-worker. Fix by @PeterNgTr
    • ๐Ÿ‘€ [Puppeteer] Fixed error description for context element not found. See #2065. Fix by @PeterNgTr
    • ๐Ÿ›  [WebDriver] Fixed waitForClickable to wait for exact number of seconds by @mirao. Resolves #2166
    • ๐Ÿ›  Fixed setting compilerOptions in jsconfig.json file on init by @PeterNgTr
    • [Filesystem] Added method by @nitschSB
      • seeFileContentsEqualReferenceFile
      • waitForFile
  • v2.4.1 Changes

    January 13, 2020
    • ๐Ÿš‘ [Hotfix] - Add missing lib that prevents codeceptjs from initializing.
  • v2.4.0 Changes

    January 10, 2020
    • ๐Ÿ‘Œ Improved setup wizard with npx codecept init:
      • enabled retryFailedStep plugin for new setups.
      • enabled @codeceptjs/configure to toggle headless/window mode via env variable
      • creates a new test on init
      • removed question on "steps file", create it by default.
    • โœ… Added pauseOnFail plugin. Sponsored by Paul Vincent Beigang and his book "Practical End 2 End Testing with CodeceptJS".
    • โž• Added run-rerun command to run tests multiple times to detect and fix flaky tests. By @Ilrilan and @Vorobeyko.
    • โž• Added Scenario.todo() to declare tests as pending. See #2100 by @Vorobeyko
    • โž• Added support for absolute path for output dir. See #2049 by @elukoyanov
    • ๐Ÿ›  Fixed error in npx codecept init caused by calling console.print. See #2071 by @Atinux.
    • [Filesystem] Methods added by @aefluke:
      • seeFileNameMatching
      • grabFileNames
    • ๐Ÿ›  [Puppeteer] Fixed grabbing attributes with hyphen by @Holorium
    • โœ… [TestCafe] Fixed grabAttributeFrom method by @elukoyanov
    • ๐Ÿ”ง [MockRequest] Added support for Polly config options by @ecrmnn
    • โœ… [TestCafe] Fixes exiting with zero code on failure. Fixed #2090 with #2106 by @koushikmohan1996
    • ๐Ÿ‘€ [WebDriver][Puppeteer] Added basicAuth support via config. Example: basicAuth: {username: 'username', password: 'password'}. See #1962 by @PeterNgTr
    • ๐Ÿ‘• [WebDriver][Appium] Added scrollIntoView by @pablopaul
    • ๐Ÿ›  Fixed #2118: No error stack trace for syntax error by @senthillkumar
    • โž• Added parse() method to data table inside Cucumber tests. Use it to obtain rows and hashes for test data. See #2082 by @Sraime
  • v2.3.6 Changes

    November 23, 2019
    • ๐Ÿ‘ Create better Typescript definition file through JSDoc. By @lemnis
    • ๐Ÿ‘ท run-workers now can use glob pattern. By @Ilrilan js // Example: exports.config = { tests: '{./workers/base_test.workers.js,./workers/test_grep.workers.js}', }
    • โž• Added new command npx codeceptjs info which print information about your environment and CodeceptJS configs. By @jamesgeorge007
    • ๐Ÿ›  Fixed some typos in documantation. By @pablopaul @atomicpages @EricTendian
    • โž• Added PULL_REQUEST template.
    • [Puppeteer][WebDriver] Added waitForClickable for waiting clickable element on page.
    • โœ… [TestCafe] Added support for remote connection. By @jvdieten
    • ๐Ÿ›  [Puppeteer] Fixed waitForText XPath context now works correctly. By @Heavik
    • โœ… [TestCafe] Fixed clearField clear field now awaits TestCafe's promise. By @orihomie
    • ๐Ÿ‘€ [Puppeteer] Fixed fails when executing localStorage on services pages. See #2026
    • ๐Ÿ›  Fixed empty tags in test name. See #2038
  • v2.3.5 Changes

    October 21, 2019
    • ๐Ÿ“œ Set "parse-function" dependency to "5.2.11" to avoid further installation errors.
  • v2.3.4 Changes

    October 21, 2019
    • ๐Ÿ›  Fixed installation error "Cannot find module '@babel/runtime/helpers/interopRequireDefault'". The issue came from parse-function package. Fixed by @pablopaul.
    • ๐Ÿ‘€ [Puppeteer] Fixed switching to iframe without an ID by @johnyb. See #1974
    • โž• Added --profile option to run-workers by @orihomie
    • โž• Added a tag definition to FeatureConfig and ScenarioConfig by @sseliverstov