Skip to content
Michael Bodnarchuk edited this page Nov 5, 2024 · 27 revisions

✅ 3.6

  • Healers
  • Refactored AI

3.7

  • Prepare for ESM, to allow importing CJS modules
  • Add named exports for all globals:
const{ debug, pause }=require('codeceptjs/debug');const{ inject, share, actor }=require('codeceptjs/container');const{ locate, secret, tryTo, retryTo, hopeThat, step, session, within }=require('codeceptjs/fns');const{eachElement: $, expectElement, expectElements }=require('codeceptjs/els');const{ Given, When, Then }=require('codeceptjs/bdd');
  • Add els module to work on Playwright / webdriverio elements in a native way
const{ expectElement }=require('codeceptjs/els');// perform assertionexpectElement('.item',el=>el.isVisible());
  • Add hopeTo plugin for soft-assertion
hopeThat(()=>I.see('asdsa'));hopeThat(()=>I.dontSee('asdsad'))
  • Remove SoftExpectHelper
  • Add ai-auto-suggestions when in pause() mode
  • ❓ Add editWithCopilot() function which is a pause that can update the test file

4.0

  • Disable promise chain globally or per test
  • Migrate to ESM

Explicitly import helpers:

// codecept.conf.jsimport{Playwright}from'codeceptjs/helpers'importExpectHelperfrom'@codeceptjs/expect-helper'config={helpers: {Playwright: {},ExpectHelper: {// maybe config here}}}

Explicitly use all global functions in tests:

import{debug,pause}from'codeceptjs/debug';import{inject,share,actor}from'codeceptjs/container';import{locate,secret,tryTo,retryTo,hopeThat,step,session,within}from'codeceptjs/fns';import{eachElementas$,expectElement,expectElements}from'codeceptjs/els';import{Given,When,Then}from'codeceptjs/bdd';

4.1

  • State management (similar to fixtures in Playwright)
close