All Versions
131
Latest Version
Avg Release Cycle
17 days
Latest Release
-
Changelog History
Page 1
Changelog History
Page 1
-
v3.3.7 Changes
π©οΈ Features
- Promise-based typings for TypeScript definitions in #3465 by @nlespiaucq. If you use TypeScript or use linters check how it may be useful to you.
- π Translation improved to use custom vocabulary.
- [Playwright] Added methods in #3398 by @mirao
restartBrowser
- to restart a browser (with different config)_createContextPage
- to create a new browser context with a page from a helper
- β Added Cucumber custom types for BDD in #3435 by @Likstern
- β Propose using JSONResponse helper when initializing project for API testing. #3455 by @PeterNgTr
- π When translation enabled, generate tests using localized aliases. By @davertmik
- [Appium] Added
checkIfAppIsInstalled
in #3507 by @PeterNgTr
π π Bugfixes
- π Fixed #3462
TypeError: Cannot read properties of undefined (reading 'setStatus')
by @dwentland24 in #3438 - π Fixed creating steps file for TypeScript setup #3459 by @PeterNgTr
- π Fixed issue of after all event in
run-rerun
command after complete execution #3464 by @jain-neeeraj - π [Playwright][WebDriver][Appium] Do not change
waitForTimeout
value on validation. See #3478 by @pmajewski24. Fixes #2589 - π [Playwright][WebDriver][Protractor][Puppeteer][TestCafe] Fixes
Element "{null: undefined}" was not found
andelement ([object Object]) still not present
messages when using object locators. See #3501 and #3502 by @pmajewski24 - π [Playwright] Improved file names when downloading file in #3449 by @PeterNgTr. Fixes #3412 and #3409
- β Add default value to
profile
env variable. See #3443 by @dwentland24. Resolves #3339 - [Playwright] Using system-native path separator when saving artifacts in #3460 by @PeterNgTr
- [Playwright] Saving videos and traces from multiple sessions in #3505 by @davertmik
- π [Playwright] Fixed
amOnPage
to navigate toabout:blank
by @zaxoavoki in #3470 Fixes #2311 - Various typing improvements by @AWolf81 @PeterNgTr @mirao
π π Documentation
- β‘οΈ Updated Quickstart with detailed explanation of questions in init
- β Added Translation guide
- β‘οΈ Updated TypeScript guide for promise-based typings
- Reordered guides list on a website
-
v3.3.6 Changes
- β
run-rerun
command was re-introduced by @dwentland24 in #3436. Use it to perform run multiple times and detect flaky tests - π Enabled
retryFailedStep
by default in@codeceptjs/configure
v 0.10. See https://github.com/codeceptjs/configure/pull/26 - π [Playwright] Fixed properties types "waitForNavigation" and "firefox" by @mirao in #3401
- [REST] Changed "endpoint" to optional by @mirao in #3404
- [REST] Use
secret
for form encoded string by @PeterNgTr:
const secretData = secret('name=john&password=123456'); const response = await I.sendPostRequest('/user', secretData);
- π [Playwright]Fixed docs related to fixed properties types "waitForNavigation" and "firefox" by @mirao in #3407
- π [Playwright]Fixed parameters of startActivity() by @mirao in #3408
- π Move semver to prod dependencies by @timja in #3413
- π» check if browser is W3C instead of Android by @mikk150 in #3414
- π» Pass service configs with options and caps as array for browsersβ¦ by @07souravkunda in #3418
- π fix for type of "webdriver.port" by @ngraf in #3421
- π fix for type of "webdriver.smartWait" by @pmajewski24 in #3426
- π fix(datatable): mask secret text by @PeterNgTr in #3432
- π fix(playwright) - video name and missing type by @PeterNgTr in #3430
- π fix for expected type of "bootstrap", "teardown", "bootstrapAll" and "teardownAll" by @ngraf in #3424
- π Improve generate pageobject
gpo
command to work with TypeScript by @PeterNgTr in #3411 - π Fixed dry-run to always return 0 code and exit
- β Added minimal version notice for NodeJS >= 12
- π fix(utils): remove . of test title to avoid confusion by @PeterNgTr in #3431
- β
-
v3.3.5 Changes
π©οΈ Features
- Added TypeScript option for installation via
codeceptjs init
to initialize new projects in TS (by @PeterNgTr and @davertmik) - Include
node-ts
automatically when using TypeScript setup - β Added TS types for CodeceptJS config. Update
codecept.conf.js
to get intellisense when writing config file:
// inside codecept.conf.js /** @type {CodeceptJS.MainConfig} */ exports.config = { //... }
- β Added TS types for helpers config:
- Playwright
- Puppeteer
- WebDriver
- REST
π π Bugfixes
- π [Puppeteer] Fixed support for Puppeteer > 14.4 by @PeterNgTr
- π Don't report files as existing when non-directory is in path by @jonathanperret. See #3374
- π Fixed TS type for
secret
function by @PeterNgTr - π Fixed wrong order for async MetaSteps by @dwentland24. See #3393
- π Fixed same param substitution in BDD step. See #3385 by @snehabhandge
π π Documentation
- β‘οΈ Updated configuration options to match TypeScript types
- π Updated TypeScript documentation on simplifying TS installation
- β Added codecept-tesults plugin documentation by @ajeetd
- Added TypeScript option for installation via
-
v3.3.4 Changes
- β Added support for masking fields in objects via
secret
function:
I.sendPostRequest('/auth', secret({ name: 'jon', password: '123456' }, 'password'));
- β Added a guide about using of
secret
function - π [Appium] Use
touchClick
when interacting with elements in iOS. See #3317 by @mikk150 - π [Playwright] Added
cdpConnection
option to connect over CDP. See #3309 by @Hmihaly - π [customLocator plugin] Allowed to specify multiple attributes for custom locator. Thanks to @aruiz-caritsqa
plugins: { customLocator: { enabled: true, prefix: '$', attribute: ['data-qa', 'data-test'], } }
- π [retryTo plugin] Fixed #3147 using
pollInterval
option. See #3351 by @cyonkee - π» [Playwright] Fixed grabbing of browser console messages and window resize in new tab. Thanks to @mirao
- π¨ [REST] Added
prettyPrintJson
option to print JSON in nice way by @PeterNgTr - β‘οΈ [JSONResponse] Updated response validation to iterate over array items if response is array. Thanks to @PeterNgTr
// response.data == [ // { user: { name: 'jon', email: '[email protected]' } }, // { user: { name: 'matt', email: '[email protected]' } }, //] I.seeResponseContainsKeys(['user']); I.seeResponseContainsJson({ user: { email: '[email protected]' } }); I.seeResponseContainsJson({ user: { email: '[email protected]' } }); I.dontSeeResponseContainsJson({ user: 2 });
- β Added support for masking fields in objects via
-
v3.3.3 Changes
- π Fixed
DataCloneError: () => could not be cloned
when running data tests in run-workers - πΊπ¦ Added #StandWithUkraine notice to CLI
- π Fixed
-
v3.3.2 Changes
- π [REST] Fixed override of headers/token in
haveRequestHeaders()
andamBearerAuthenticated()
. See #3304 by @mirao - βͺ Reverted typings change introduced in #3245. More details on this
- π [REST] Fixed override of headers/token in
-
v3.3.1 Changes
π©οΈ Features:
- β Add option to avoid duplicate gherkin step definitions (#3257) - @raywiis
- β Added
step.*
for run-workers #3272. Thanks to @abhimanyupandian - π Fixed loading tests for
codecept run
using glob patterns. By @jayudey-wf
npx codeceptjs run test-dir/*"
- [Playwright] Possible breaking change. By default
timeout
is changed to 5000ms. The value set in 3.3.0 was too low. Please settimeout
explicitly to not depend on release values. - [Playwright] Added for color scheme option by @PeterNgTr
helpers: { Playwright : { url: "http://localhost", colorScheme: "dark", } }
π π Bugfixes:
- π [Playwright] Fixed
Cannot read property 'video' of undefined
- π Fixed haveRequestHeaders() and amBearerAuthenticated() of REST helper (#3260) - @mirao
- π Fixed: allure attachment fails if screenshot failed #3298 by @ruudvanderweijde
- π Fixed #3105 using autoLogin() plugin with TypeScript. Fix #3290 by @PeterNgTr
- [Playwright] Added extra params for click and dragAndDrop to type definitions by @mirao
π π Documentation
- Improving the typings in many places
- Improving the return type of helpers for TS users (#3245) - @nlespiaucq
-
v3.3.0 Changes
π©οΈ Features:
- β
API Testing introduced
- Introduced
JSONResponse
helper which connects to REST, GraphQL or Playwright helper - [REST] Added
amBearerAuthenticated
method - [REST] Added
haveRequestHeaders
method - Added dependency on
joi
andchai
- Introduced
- 0οΈβ£ [Playwright] Added
timeout
option to set timeout for all Playwright actions. If an action fails, Playwright keeps retrying it for a time set by timeout. - [Playwright] Possible breaking change. By default
timeout
is set to 1000ms. Previous default was set by Playwright internally to 30s. This was causing contradiction to CodeceptJS retries, so triggered up to 3 retries for 30s of time. This timeout option was lowered so retryFailedStep plugin would not cause long delays. - β‘οΈ [Playwright] Updated
restart
config option to include 3 restart strategies:- 'context' or false - restarts browser context but keeps running browser. Recommended by Playwright team to keep tests isolated.
- 'browser' or true - closes browser and opens it again between tests.
- 'session' or 'keep' - keeps browser context and session, but cleans up cookies and localStorage between tests. The fastest option when running tests in windowed mode. Works with
keepCookies
andkeepBrowserState
options. This behavior was default prior CodeceptJS 3.1
- β‘οΈ [Playwright] Extended methods to provide more options from engine. These methods were updated so additional options can be be passed as the last argument:
// use Playwright click options as 3rd argument I.click('canvas', '.model', { position: { x: 20, y: 40 } }) // check option also has options I.checkOption('Agree', '.signup', { position: { x: 5, y: 5 } })
- π
eachElement
plugin introduced. It allows you to iterate over elements and perform some action on them using direct engines API
await eachElement('click all links in .list', '.list a', (el) => { await el.click(); })
- π [Playwright] Added support to
playwright-core
package ifplaywright
is not installed. See #3190, fixes #2663. - [Playwright] Added
makeApiRequest
action to perform API requests. Requires Playwright >= 1.18 - β Added support to
codecept.config.js
for name consistency across other JS tools. See motivation at #3195 by @JiLiZART - π [ApiDataFactory] Added options arg to
have
method. See #3197 by @JJlokidoki - π Improved pt-br translations to include keywords: 'Funcionalidade', 'CenΓ‘rio', 'Antes', 'Depois', 'AntesDaSuite', 'DepoisDaSuite'. See #3206 by @danilolutz
- π [allure plugin] Introduced
addStep
method to add comments and attachments. See #3104 by @EgorBodnar
π π Bugfixes:
- π Fixed #3212: using Regex flags for Cucumber steps. See #3214 by @anils92
π π Documentation
- β Added Testomat.io reporter
- β Added api testing guides
- β Added internal api guides
- π [Appium] Fixed documentation for
performSwipe
- β‘οΈ [Playwright] update docs for
usePlaywrightTo
method by @dbudzins
- β
API Testing introduced
-
v3.2.3 Changes
- π Documentation improvements by @maojunxyz
- Guard mocha cli reporter from registering step logger multiple times #3180 by @nikocanvacom
- π [Playwright] Fixed "tracing.stop: tracing.stop: ENAMETOOLONG: name too long" by @hatufacci
- π Fixed #2889: return always the same error contract from simplifyTest. See #3168 by @andremoah
-
v3.2.2 Changes
- βͺ [Playwright] Reverted removal of retry on context errors. Fixes #3130
- β± Timeout improvements by @nikocanvacom:
- Added priorites to timeouts
- Added
overrideStepLimits
to stepTimeout plugin to override steps timeouts set bylimitTime
. - Fixed step timeout not working due to override by NaN by test timeout #3126
- π [Appium] Fixed logging error when
manualStart
is true. See #3140 by @nikocanvacom