From b4e80690e40037e0fc7f4ab7f9aa5ccaf28a9ccc Mon Sep 17 00:00:00 2001 From: thomashohn Date: Mon, 3 Mar 2025 07:21:59 +0100 Subject: [PATCH 01/32] Bump axios to 1.8.1 (#4874) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e47101671..0f8dfd866 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,7 @@ "@xmldom/xmldom": "0.9.7", "acorn": "8.14.0", "arrify": "3.0.0", - "axios": "1.7.9", + "axios": "1.8.1", "chalk": "4.1.2", "cheerio": "^1.0.0", "commander": "11.1.0", From ce554a54f58c091a95f0a3b41376220cbb194d8b Mon Sep 17 00:00:00 2001 From: thomashohn Date: Mon, 3 Mar 2025 08:51:18 +0100 Subject: [PATCH 02/32] Bump uuid to 11.1.0 (#4872) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0f8dfd866..ceca63ee2 100644 --- a/package.json +++ b/package.json @@ -114,7 +114,7 @@ "promise-retry": "1.1.1", "resq": "1.11.0", "sprintf-js": "1.1.3", - "uuid": "11.0.5" + "uuid": "11.1.0" }, "optionalDependencies": { "@codeceptjs/detox-helper": "1.1.5" From 003d22dd02914d72a885b68011d46260f7138dee Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Mar 2025 11:19:07 +0100 Subject: [PATCH 03/32] chore(deps-dev): bump typedoc-plugin-markdown from 4.4.1 to 4.4.2 (#4858) Bumps [typedoc-plugin-markdown](https://github.com/typedoc2md/typedoc-plugin-markdown/tree/HEAD/packages/typedoc-plugin-markdown) from 4.4.1 to 4.4.2. - [Release notes](https://github.com/typedoc2md/typedoc-plugin-markdown/releases) - [Changelog](https://github.com/typedoc2md/typedoc-plugin-markdown/blob/main/packages/typedoc-plugin-markdown/CHANGELOG.md) - [Commits](https://github.com/typedoc2md/typedoc-plugin-markdown/commits/typedoc-plugin-markdown@4.4.2/packages/typedoc-plugin-markdown) --- updated-dependencies: - dependency-name: typedoc-plugin-markdown dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ceca63ee2..7160bc05c 100644 --- a/package.json +++ b/package.json @@ -168,7 +168,7 @@ "tsd": "^0.31.0", "tsd-jsdoc": "2.5.0", "typedoc": "0.27.7", - "typedoc-plugin-markdown": "4.4.1", + "typedoc-plugin-markdown": "4.4.2", "typescript": "5.7.3", "wdio-docker-service": "3.2.1", "webdriverio": "9.7.2", From ba26d5a15cf95a752ea1de96516aa7a7220c6211 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Mar 2025 11:19:22 +0100 Subject: [PATCH 04/32] chore(deps): bump @cucumber/gherkin from 31.0.0 to 32.0.0 (#4860) Bumps [@cucumber/gherkin](https://github.com/cucumber/gherkin) from 31.0.0 to 32.0.0. - [Release notes](https://github.com/cucumber/gherkin/releases) - [Changelog](https://github.com/cucumber/gherkin/blob/main/CHANGELOG.md) - [Commits](https://github.com/cucumber/gherkin/compare/v31.0.0...v32.0.0) --- updated-dependencies: - dependency-name: "@cucumber/gherkin" dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7160bc05c..71cb53d24 100644 --- a/package.json +++ b/package.json @@ -78,7 +78,7 @@ "@codeceptjs/configure": "1.0.2", "@codeceptjs/helper": "2.0.4", "@cucumber/cucumber-expressions": "18", - "@cucumber/gherkin": "31", + "@cucumber/gherkin": "32", "@cucumber/messages": "27.2.0", "@xmldom/xmldom": "0.9.7", "acorn": "8.14.0", From 36c9b91b8e758cdc668ef502ebce5f177305fdcf Mon Sep 17 00:00:00 2001 From: thomashohn Date: Wed, 5 Mar 2025 11:20:44 +0100 Subject: [PATCH 05/32] Updated @xmldom/xmldom to 0.9.8 (#4885) --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 71cb53d24..abc10c8bb 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "@cucumber/cucumber-expressions": "18", "@cucumber/gherkin": "32", "@cucumber/messages": "27.2.0", - "@xmldom/xmldom": "0.9.7", + "@xmldom/xmldom": "0.9.8", "acorn": "8.14.0", "arrify": "3.0.0", "axios": "1.8.1", @@ -134,7 +134,7 @@ "@wdio/sauce-service": "9.7.2", "@wdio/selenium-standalone-service": "8.15.0", "@wdio/utils": "9.7.2", - "@xmldom/xmldom": "0.9.7", + "@xmldom/xmldom": "0.9.8", "chai": "^4.0.0", "chai-as-promised": "7.1.2", "chai-subset": "1.6.0", From c313ef441122a69e71b4986cbf90dae07b191078 Mon Sep 17 00:00:00 2001 From: thomashohn Date: Wed, 5 Mar 2025 11:21:11 +0100 Subject: [PATCH 06/32] Update eslint and friends (#4883) --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index abc10c8bb..4d6b54239 100644 --- a/package.json +++ b/package.json @@ -123,8 +123,8 @@ "@apollo/server": "^4", "@codeceptjs/expect-helper": "^0.2.2", "@codeceptjs/mock-request": "0.3.1", - "@eslint/eslintrc": "3.2.0", - "@eslint/js": "9.19.0", + "@eslint/eslintrc": "3.3.0", + "@eslint/js": "9.21.0", "@faker-js/faker": "9.4.0", "@pollyjs/adapter-puppeteer": "6.0.6", "@pollyjs/core": "5.1.0", @@ -140,7 +140,7 @@ "chai-subset": "1.6.0", "documentation": "14.0.3", "electron": "34.0.2", - "eslint": "^9.19.0", + "eslint": "^9.21.0", "eslint-plugin-import": "2.31.0", "eslint-plugin-mocha": "10.5.0", "expect": "29.7.0", From f3cd36e0b10d5baf5ac52fe0adcac52f215500d0 Mon Sep 17 00:00:00 2001 From: Mj Alavi <41288915+mjalav@users.noreply.github.com> Date: Wed, 5 Mar 2025 23:22:54 +1300 Subject: [PATCH 07/32] Resolving path inconsistency in container.js and appium.js (#4866) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update Appium.js Fixed #4865 Enhancement: Prevent Double Slashes in Appium Endpoint URL Overview: This update improves the _buildAppiumEndpoint() function by ensuring the path does not end with a trailing slash. This prevents potential issues with double slashes when constructing the Appium REST API endpoint URL. Changes: Introduced normalizedPath, which removes a trailing slash from path using .replace(/\/$/, ''). Updated the return statement to use normalizedPath instead of path. Benefits: ✅ Prevents malformed URLs with double slashes. ✅ Improves consistency and reliability of API requests. ✅ Enhances code readability and maintainability. * Update container.js Fixed #4863 * Update lib/container.js Co-authored-by: kobenguyent <7845001+kobenguyent@users.noreply.github.com> --------- Co-authored-by: kobenguyent <7845001+kobenguyent@users.noreply.github.com> --- lib/container.js | 15 ++++++++++++++- lib/helper/Appium.js | 4 +++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/container.js b/lib/container.js index 66c7c1610..badc08ad9 100644 --- a/lib/container.js +++ b/lib/container.js @@ -469,7 +469,7 @@ function loadGherkinSteps(paths) { loadSupportObject(path, `Step Definition from ${path}`) } } else { - const folderPath = paths.startsWith('.') ? path.join(global.codecept_dir, paths) : '' + const folderPath = paths.startsWith('.') ? normalizeAndJoin(global.codecept_dir, paths) : '' if (folderPath !== '') { globSync(folderPath).forEach(file => { loadSupportObject(file, `Step Definition from ${file}`) @@ -562,3 +562,16 @@ function getHelperModuleName(helperName, config) { // built-in helpers return `./helper/${helperName}` } +function normalizeAndJoin(basePath, subPath) { + // Normalize and convert slashes to forward slashes in one step + const normalizedBase = path.posix.normalize(basePath.replace(/\\/g, '/')) + const normalizedSub = path.posix.normalize(subPath.replace(/\\/g, '/')) + + // If subPath is absolute (starts with "/"), return it as the final path + if (normalizedSub.startsWith('/')) { + return normalizedSub + } + + // Join the paths using POSIX-style + return path.posix.join(normalizedBase, normalizedSub) +} \ No newline at end of file diff --git a/lib/helper/Appium.js b/lib/helper/Appium.js index 2519d68eb..eb26ca56f 100644 --- a/lib/helper/Appium.js +++ b/lib/helper/Appium.js @@ -383,8 +383,10 @@ class Appium extends Webdriver { _buildAppiumEndpoint() { const { protocol, port, hostname, path } = this.browser.options + // Ensure path does NOT end with a slash to prevent double slashes + const normalizedPath = path.replace(/\/$/, ''); // Build path to Appium REST API endpoint - return `${protocol}://${hostname}:${port}${path}/session/${this.browser.sessionId}` + return `${protocol}://${hostname}:${port}${normalizedPath}/session/${this.browser.sessionId}` } /** From 7c83b53327f64a38e65fa0dbba3180cf693335a2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Mar 2025 16:05:16 +0100 Subject: [PATCH 08/32] chore(deps-dev): bump puppeteer from 24.1.1 to 24.3.1 (#4888) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4d6b54239..94861dfc3 100644 --- a/package.json +++ b/package.json @@ -155,7 +155,7 @@ "json-server": "0.17.4", "playwright": "1.50.1", "prettier": "^3.3.2", - "puppeteer": "24.1.1", + "puppeteer": "24.3.1", "qrcode-terminal": "0.12.0", "rosie": "2.1.1", "runok": "0.9.3", From 28f7837def417bafb0a9e98678abbc59f6c0f6a2 Mon Sep 17 00:00:00 2001 From: kobenguyent <7845001+kobenguyent@users.noreply.github.com> Date: Thu, 6 Mar 2025 05:10:17 +0100 Subject: [PATCH 09/32] fix: broken screenshot links in mochawesome reports (#4889) --- lib/helper/Mochawesome.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/helper/Mochawesome.js b/lib/helper/Mochawesome.js index abc143af4..9c20cd1d7 100644 --- a/lib/helper/Mochawesome.js +++ b/lib/helper/Mochawesome.js @@ -4,6 +4,7 @@ let currentSuite const Helper = require('@codeceptjs/helper') const { clearString } = require('../utils') +const { testToFileName } = require('../mocha/test') class Mochawesome extends Helper { constructor(config) { @@ -50,7 +51,7 @@ class Mochawesome extends Helper { fileName = clearString(`${test.title}_${currentTest.test.title}`) } else { currentTest = { test } - fileName = clearString(test.title) + fileName = `${testToFileName(test)}` } if (this.options.uniqueScreenshotNames) { const uuid = test.uuid || test.ctx.test.uuid From 3b4f87e9434112778ce66e7b86b18b347532c26d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Mar 2025 12:47:41 +0100 Subject: [PATCH 10/32] chore(deps): bump acorn from 8.14.0 to 8.14.1 (#4892) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 94861dfc3..7d9dad0e7 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "@cucumber/gherkin": "32", "@cucumber/messages": "27.2.0", "@xmldom/xmldom": "0.9.8", - "acorn": "8.14.0", + "acorn": "8.14.1", "arrify": "3.0.0", "axios": "1.8.1", "chalk": "4.1.2", From d5019b4f89ecb3d510bde6f16e928e2db11170c9 Mon Sep 17 00:00:00 2001 From: thomashohn Date: Mon, 10 Mar 2025 12:48:27 +0100 Subject: [PATCH 11/32] Update webdriverio etc. to 9.10.1 (#4876) --- lib/container.js | 2 +- lib/helper/Appium.js | 2 +- package.json | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/container.js b/lib/container.js index badc08ad9..68b26ecce 100644 --- a/lib/container.js +++ b/lib/container.js @@ -574,4 +574,4 @@ function normalizeAndJoin(basePath, subPath) { // Join the paths using POSIX-style return path.posix.join(normalizedBase, normalizedSub) -} \ No newline at end of file +} diff --git a/lib/helper/Appium.js b/lib/helper/Appium.js index eb26ca56f..fcb304263 100644 --- a/lib/helper/Appium.js +++ b/lib/helper/Appium.js @@ -384,7 +384,7 @@ class Appium extends Webdriver { _buildAppiumEndpoint() { const { protocol, port, hostname, path } = this.browser.options // Ensure path does NOT end with a slash to prevent double slashes - const normalizedPath = path.replace(/\/$/, ''); + const normalizedPath = path.replace(/\/$/, '') // Build path to Appium REST API endpoint return `${protocol}://${hostname}:${port}${normalizedPath}/session/${this.browser.sessionId}` } diff --git a/package.json b/package.json index 7d9dad0e7..734c120dd 100644 --- a/package.json +++ b/package.json @@ -131,10 +131,10 @@ "@types/chai": "4.3.19", "@types/inquirer": "9.0.7", "@types/node": "22.13.0", - "@wdio/sauce-service": "9.7.2", + "@wdio/sauce-service": "9.10.1", "@wdio/selenium-standalone-service": "8.15.0", - "@wdio/utils": "9.7.2", - "@xmldom/xmldom": "0.9.8", + "@wdio/utils": "9.10.1", + "@xmldom/xmldom": "0.9.7", "chai": "^4.0.0", "chai-as-promised": "7.1.2", "chai-subset": "1.6.0", @@ -171,7 +171,7 @@ "typedoc-plugin-markdown": "4.4.2", "typescript": "5.7.3", "wdio-docker-service": "3.2.1", - "webdriverio": "9.7.2", + "webdriverio": "9.10.1", "xml2js": "0.6.2", "xpath": "0.0.34" }, From 5ff6f88898edd84c50259d466cd1b392838e812d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Mar 2025 14:37:15 +0100 Subject: [PATCH 12/32] chore(deps-dev): bump puppeteer from 24.3.1 to 24.4.0 (#4893) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 734c120dd..5479b8c3c 100644 --- a/package.json +++ b/package.json @@ -155,7 +155,7 @@ "json-server": "0.17.4", "playwright": "1.50.1", "prettier": "^3.3.2", - "puppeteer": "24.3.1", + "puppeteer": "24.4.0", "qrcode-terminal": "0.12.0", "rosie": "2.1.1", "runok": "0.9.3", From e0fc2ac68ff369275e772c3921aeb7bf8b42974d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Mar 2025 10:27:38 +0100 Subject: [PATCH 13/32] chore(deps-dev): bump @wdio/utils from 9.7.2 to 9.11.0 (#4894) Bumps [@wdio/utils](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-utils) from 9.7.2 to 9.11.0. - [Release notes](https://github.com/webdriverio/webdriverio/releases) - [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md) - [Commits](https://github.com/webdriverio/webdriverio/commits/v9.11.0/packages/wdio-utils) --- updated-dependencies: - dependency-name: "@wdio/utils" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5479b8c3c..1ffe6d132 100644 --- a/package.json +++ b/package.json @@ -133,7 +133,7 @@ "@types/node": "22.13.0", "@wdio/sauce-service": "9.10.1", "@wdio/selenium-standalone-service": "8.15.0", - "@wdio/utils": "9.10.1", + "@wdio/utils": "9.11.0", "@xmldom/xmldom": "0.9.7", "chai": "^4.0.0", "chai-as-promised": "7.1.2", From a918755c63f6f55c3db7c7e6ebafef1296d71051 Mon Sep 17 00:00:00 2001 From: thomashohn Date: Tue, 11 Mar 2025 10:28:22 +0100 Subject: [PATCH 14/32] Update typescript to 5.8.2 (#4887) --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 1ffe6d132..68491dc5f 100644 --- a/package.json +++ b/package.json @@ -167,9 +167,9 @@ "ts-node": "10.9.2", "tsd": "^0.31.0", "tsd-jsdoc": "2.5.0", - "typedoc": "0.27.7", + "typedoc": "0.27.9", "typedoc-plugin-markdown": "4.4.2", - "typescript": "5.7.3", + "typescript": "5.8.2", "wdio-docker-service": "3.2.1", "webdriverio": "9.10.1", "xml2js": "0.6.2", From c0ddbe2b2d5efbc2ad0121e7959f7f81cdc24073 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Mar 2025 10:53:42 +0100 Subject: [PATCH 15/32] chore(deps-dev): bump playwright from 1.50.1 to 1.51.0 (#4891) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 68491dc5f..1fb7fa5f4 100644 --- a/package.json +++ b/package.json @@ -153,7 +153,7 @@ "jsdoc": "^3.6.11", "jsdoc-typeof-plugin": "1.0.0", "json-server": "0.17.4", - "playwright": "1.50.1", + "playwright": "1.51.0", "prettier": "^3.3.2", "puppeteer": "24.4.0", "qrcode-terminal": "0.12.0", From 6558b0adafdded77990871c583ff3c65897f15aa Mon Sep 17 00:00:00 2001 From: thomashohn Date: Thu, 13 Mar 2025 12:00:54 +0100 Subject: [PATCH 16/32] fix: Make tests more stable by using google (#4904) --- test/acceptance/session_test.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/acceptance/session_test.js b/test/acceptance/session_test.js index 98812a331..427cce264 100644 --- a/test/acceptance/session_test.js +++ b/test/acceptance/session_test.js @@ -46,8 +46,8 @@ Scenario('screenshots reflect the current page of current session @Puppeteer @Pl }) Scenario('Different cookies for different sessions @Playwright @Puppeteer', async ({ I }) => { - const cookiePage = 'https://www.microsoft.com/en-au/' - const cookieName = 'MUID' + const cookiePage = 'https://google.com/' + const cookieName = 'AEC' const cookies = {} I.amOnPage(cookiePage) @@ -68,7 +68,7 @@ Scenario('Different cookies for different sessions @Playwright @Puppeteer', asyn cookies.mary = (await I.grabCookie(cookieName)).value I.say(`${cookieName}: ${cookies.mary}`) }) - await I.seeInCurrentUrl('en-au') + await I.seeInCurrentUrl('google.com') assert(cookies.default) assert(cookies.john) assert(cookies.mary) From f3c9708a2f4e2d1cdc5b93e136986ae0e39389a0 Mon Sep 17 00:00:00 2001 From: thomashohn Date: Thu, 13 Mar 2025 12:01:25 +0100 Subject: [PATCH 17/32] chore: bump @codeceptjs/configure to 1.0.3 (#4902) * chore: bump @codeceptjs/configure to 1.0.3 * Tryout * Revert * Use google * Use another cookie * Fix contains --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1fb7fa5f4..2c1aa9e97 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "publish-beta": "./runok.js publish:next-beta-version" }, "dependencies": { - "@codeceptjs/configure": "1.0.2", + "@codeceptjs/configure": "1.0.3", "@codeceptjs/helper": "2.0.4", "@cucumber/cucumber-expressions": "18", "@cucumber/gherkin": "32", From 61ef10f69b586374b62d8c6d7a0508977c0aba02 Mon Sep 17 00:00:00 2001 From: thomashohn Date: Thu, 13 Mar 2025 12:31:12 +0100 Subject: [PATCH 18/32] chore(deps-dev): bump detox-helper to 1.1.7 (#4900) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2c1aa9e97..25f41f186 100644 --- a/package.json +++ b/package.json @@ -117,7 +117,7 @@ "uuid": "11.1.0" }, "optionalDependencies": { - "@codeceptjs/detox-helper": "1.1.5" + "@codeceptjs/detox-helper": "1.1.7" }, "devDependencies": { "@apollo/server": "^4", From 7ae2ecc22986cf20d7f0162a8ce497638cb0830e Mon Sep 17 00:00:00 2001 From: thomashohn Date: Thu, 13 Mar 2025 12:49:46 +0100 Subject: [PATCH 19/32] chore: bump axios from 1.8.1 to 1.8.3 (#4899) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 25f41f186..c54f30e9b 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,7 @@ "@xmldom/xmldom": "0.9.8", "acorn": "8.14.1", "arrify": "3.0.0", - "axios": "1.8.1", + "axios": "1.8.3", "chalk": "4.1.2", "cheerio": "^1.0.0", "commander": "11.1.0", From 49dd054f803734b4e94249fc0228114699949f8e Mon Sep 17 00:00:00 2001 From: thomashohn Date: Thu, 13 Mar 2025 15:49:39 +0100 Subject: [PATCH 20/32] chore: bump webdriverio to 9.12.0 and friends (#4907) --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index c54f30e9b..d4466ec4d 100644 --- a/package.json +++ b/package.json @@ -131,7 +131,7 @@ "@types/chai": "4.3.19", "@types/inquirer": "9.0.7", "@types/node": "22.13.0", - "@wdio/sauce-service": "9.10.1", + "@wdio/sauce-service": "9.12.0", "@wdio/selenium-standalone-service": "8.15.0", "@wdio/utils": "9.11.0", "@xmldom/xmldom": "0.9.7", @@ -171,7 +171,7 @@ "typedoc-plugin-markdown": "4.4.2", "typescript": "5.8.2", "wdio-docker-service": "3.2.1", - "webdriverio": "9.10.1", + "webdriverio": "9.12.0", "xml2js": "0.6.2", "xpath": "0.0.34" }, From 713778bd426c731a0de53f79c23869ef530db92d Mon Sep 17 00:00:00 2001 From: thomashohn Date: Thu, 13 Mar 2025 16:14:27 +0100 Subject: [PATCH 21/32] chore(deps-dev): bump globals 16.0.0 (#4914) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d4466ec4d..839dfbf32 100644 --- a/package.json +++ b/package.json @@ -145,7 +145,7 @@ "eslint-plugin-mocha": "10.5.0", "expect": "29.7.0", "express": "4.21.2", - "globals": "15.14.0", + "globals": "16.0.0", "graphql": "16.10.0", "graphql-tag": "^2.12.6", "husky": "9.1.7", From 80ae51b861ae8f1e68317ad71e5b21de0f35416f Mon Sep 17 00:00:00 2001 From: thomashohn Date: Thu, 13 Mar 2025 16:58:25 +0100 Subject: [PATCH 22/32] chore(deps-dev): bump @xmldom/xmldom to 0.9.8 (#4913) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 839dfbf32..364b2f1a6 100644 --- a/package.json +++ b/package.json @@ -134,7 +134,7 @@ "@wdio/sauce-service": "9.12.0", "@wdio/selenium-standalone-service": "8.15.0", "@wdio/utils": "9.11.0", - "@xmldom/xmldom": "0.9.7", + "@xmldom/xmldom": "0.9.8", "chai": "^4.0.0", "chai-as-promised": "7.1.2", "chai-subset": "1.6.0", From e13d5954f9d67667e4f5faac7c55ffad19a3d916 Mon Sep 17 00:00:00 2001 From: thomashohn Date: Thu, 13 Mar 2025 18:20:28 +0100 Subject: [PATCH 23/32] chore(deps-dev): bump @faker-js/faker 9.6.0 (#4915) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 364b2f1a6..96acf5f19 100644 --- a/package.json +++ b/package.json @@ -125,7 +125,7 @@ "@codeceptjs/mock-request": "0.3.1", "@eslint/eslintrc": "3.3.0", "@eslint/js": "9.21.0", - "@faker-js/faker": "9.4.0", + "@faker-js/faker": "9.6.0", "@pollyjs/adapter-puppeteer": "6.0.6", "@pollyjs/core": "5.1.0", "@types/chai": "4.3.19", From fe767d883868fadcd83114062e5e4b52f5e51dcf Mon Sep 17 00:00:00 2001 From: thomashohn Date: Fri, 14 Mar 2025 10:51:15 +0100 Subject: [PATCH 24/32] Chore/bump electron 4910 (#4916) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 96acf5f19..fac8891c9 100644 --- a/package.json +++ b/package.json @@ -139,7 +139,7 @@ "chai-as-promised": "7.1.2", "chai-subset": "1.6.0", "documentation": "14.0.3", - "electron": "34.0.2", + "electron": "35.0.1", "eslint": "^9.21.0", "eslint-plugin-import": "2.31.0", "eslint-plugin-mocha": "10.5.0", From 98adfeeb653517e3b71c3c02b680a8cde9c6979c Mon Sep 17 00:00:00 2001 From: kobenguyent <7845001+kobenguyent@users.noreply.github.com> Date: Fri, 14 Mar 2025 11:03:28 +0100 Subject: [PATCH 25/32] cli: improve get info (#4890) * improve get info * Update lib/command/info.js Co-authored-by: Michael Bodnarchuk * improve code * fix: wrong func name --------- Co-authored-by: Michael Bodnarchuk --- lib/command/info.js | 46 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 41 insertions(+), 5 deletions(-) diff --git a/lib/command/info.js b/lib/command/info.js index e0abe2433..05dff5bf9 100644 --- a/lib/command/info.js +++ b/lib/command/info.js @@ -3,6 +3,42 @@ const envinfo = require('envinfo') const { getConfig, getTestRoot } = require('./utils') const Codecept = require('../codecept') const output = require('../output') +const { execSync } = require('child_process') + +async function getPlaywrightBrowsers() { + try { + const regex = /(chromium|firefox|webkit)\s+version\s+([\d.]+)/gi + let versions = [] + + const info = execSync('npx playwright install --dry-run').toString().trim() + + const matches = [...info.matchAll(regex)] + + matches.forEach(match => { + const browser = match[1] + const version = match[2] + versions.push(`${browser}: ${version}`) + }) + + return versions.join(', ') + } catch (err) { + return 'Playwright not installed' + } +} + +async function getOsBrowsers() { + const chromeInfo = await envinfo.helpers.getChromeInfo() + const edgeInfo = await envinfo.helpers.getEdgeInfo() + const firefoxInfo = await envinfo.helpers.getFirefoxInfo() + const safariInfo = await envinfo.helpers.getSafariInfo() + + return [ + `chrome: ${chromeInfo ? chromeInfo[1] : 'not installed'}`, + `edge: ${edgeInfo ? edgeInfo[1] : 'not installed'}`, + `firefox: ${firefoxInfo ? firefoxInfo[1] : 'not installed'}`, + `safari: ${safariInfo ? safariInfo[1] : 'not installed'}`, + ].join(', ') +} module.exports = async function (path) { const testsPath = getTestRoot(path) @@ -10,16 +46,15 @@ module.exports = async function (path) { const codecept = new Codecept(config, {}) codecept.init(testsPath) - output.print('\n Environment information:-\n') + output.print('\n Environment information: \n') const info = {} info.codeceptVersion = Codecept.version() info.nodeInfo = await envinfo.helpers.getNodeInfo() info.osInfo = await envinfo.helpers.getOSInfo() info.cpuInfo = await envinfo.helpers.getCPUInfo() - info.chromeInfo = await envinfo.helpers.getChromeInfo() - info.edgeInfo = await envinfo.helpers.getEdgeInfo() - info.firefoxInfo = await envinfo.helpers.getFirefoxInfo() - info.safariInfo = await envinfo.helpers.getSafariInfo() + info.osBrowsers = await getOsBrowsers() + info.playwrightBrowsers = await getPlaywrightBrowsers() + const { helpers, plugins } = config info.helpers = helpers || "You don't use any helpers" info.plugins = plugins || "You don't have any enabled plugins" @@ -47,6 +82,7 @@ module.exports.getMachineInfo = async () => { edgeInfo: await envinfo.helpers.getEdgeInfo(), firefoxInfo: await envinfo.helpers.getFirefoxInfo(), safariInfo: await envinfo.helpers.getSafariInfo(), + playwrightBrowsers: await getPlaywrightBrowsers(), } output.print('***************************************') From 2327a820bf15fa8ac3736befc215bb70e04a7ca3 Mon Sep 17 00:00:00 2001 From: thomashohn Date: Fri, 14 Mar 2025 11:23:30 +0100 Subject: [PATCH 26/32] chore: bump non critical tooling (#4912) * chore: bump non critical tooling * Skip one package update --------- Co-authored-by: kobenguyent <7845001+kobenguyent@users.noreply.github.com> --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index fac8891c9..c521731ad 100644 --- a/package.json +++ b/package.json @@ -101,12 +101,12 @@ "inquirer": "8.2.6", "invisi-data": "^1.0.0", "joi": "17.13.3", - "js-beautify": "1.15.2", + "js-beautify": "1.15.4", "lodash.clonedeep": "4.5.0", "lodash.merge": "4.6.2", "mkdirp": "3.0.1", "mocha": "11.1.0", - "monocart-coverage-reports": "2.12.1", + "monocart-coverage-reports": "2.12.2", "ms": "2.1.3", "ora-classic": "5.4.2", "parse-function": "5.6.10", @@ -124,13 +124,13 @@ "@codeceptjs/expect-helper": "^0.2.2", "@codeceptjs/mock-request": "0.3.1", "@eslint/eslintrc": "3.3.0", - "@eslint/js": "9.21.0", + "@eslint/js": "9.22.0", "@faker-js/faker": "9.6.0", "@pollyjs/adapter-puppeteer": "6.0.6", "@pollyjs/core": "5.1.0", "@types/chai": "4.3.19", "@types/inquirer": "9.0.7", - "@types/node": "22.13.0", + "@types/node": "22.13.10", "@wdio/sauce-service": "9.12.0", "@wdio/selenium-standalone-service": "8.15.0", "@wdio/utils": "9.11.0", From b99e5464b3ef3c262cd4d09caf877e1e27d68bad Mon Sep 17 00:00:00 2001 From: thomashohn Date: Fri, 14 Mar 2025 12:58:49 +0100 Subject: [PATCH 27/32] chore: bump non critical tooling part 2 (#4918) --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index c521731ad..44eea75ae 100644 --- a/package.json +++ b/package.json @@ -106,7 +106,7 @@ "lodash.merge": "4.6.2", "mkdirp": "3.0.1", "mocha": "11.1.0", - "monocart-coverage-reports": "2.12.2", + "monocart-coverage-reports": "2.12.3", "ms": "2.1.3", "ora-classic": "5.4.2", "parse-function": "5.6.10", @@ -162,7 +162,7 @@ "semver": "7.7.1", "sinon": "19.0.2", "sinon-chai": "3.7.0", - "testcafe": "3.7.1", + "testcafe": "3.7.2", "ts-morph": "25.0.1", "ts-node": "10.9.2", "tsd": "^0.31.0", From 1a53dd9b9c146602d92d467e88cf31bd93fc0ff9 Mon Sep 17 00:00:00 2001 From: thomashohn Date: Fri, 14 Mar 2025 16:01:46 +0100 Subject: [PATCH 28/32] chore(deps-dev): bump @pollyjs/core to 6.0.6 (#4920) * chore(deps-dev): bump @pollyjs/core to 6.0.6 * Trigger Build --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 44eea75ae..fe26c74c0 100644 --- a/package.json +++ b/package.json @@ -127,7 +127,7 @@ "@eslint/js": "9.22.0", "@faker-js/faker": "9.6.0", "@pollyjs/adapter-puppeteer": "6.0.6", - "@pollyjs/core": "5.1.0", + "@pollyjs/core": "6.0.6", "@types/chai": "4.3.19", "@types/inquirer": "9.0.7", "@types/node": "22.13.10", From 084d45912a6837ab836d7f8c97e8f64412d6cad2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Mar 2025 13:04:59 +0100 Subject: [PATCH 29/32] chore(deps-dev): bump @codeceptjs/expect-helper from 0.2.2 to 1.0.1 (#4925) Bumps @codeceptjs/expect-helper from 0.2.2 to 1.0.1. --- updated-dependencies: - dependency-name: "@codeceptjs/expect-helper" dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fe26c74c0..c808b965b 100644 --- a/package.json +++ b/package.json @@ -121,7 +121,7 @@ }, "devDependencies": { "@apollo/server": "^4", - "@codeceptjs/expect-helper": "^0.2.2", + "@codeceptjs/expect-helper": "^1.0.1", "@codeceptjs/mock-request": "0.3.1", "@eslint/eslintrc": "3.3.0", "@eslint/js": "9.22.0", From 9ab1658ecd043ca05fe20858d70edb531f1277b1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Mar 2025 13:05:15 +0100 Subject: [PATCH 30/32] chore(deps-dev): bump @types/chai from 4.3.19 to 5.2.0 (#4922) Bumps [@types/chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chai) from 4.3.19 to 5.2.0. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chai) --- updated-dependencies: - dependency-name: "@types/chai" dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c808b965b..19a9f5232 100644 --- a/package.json +++ b/package.json @@ -128,7 +128,7 @@ "@faker-js/faker": "9.6.0", "@pollyjs/adapter-puppeteer": "6.0.6", "@pollyjs/core": "6.0.6", - "@types/chai": "4.3.19", + "@types/chai": "5.2.0", "@types/inquirer": "9.0.7", "@types/node": "22.13.10", "@wdio/sauce-service": "9.12.0", From 4a1b7f0dc88d22325c5d3ce791ad8307031fd376 Mon Sep 17 00:00:00 2001 From: thomashohn Date: Tue, 18 Mar 2025 11:32:53 +0100 Subject: [PATCH 31/32] chore(deps-dev): bump typedoc and friends (#4929) --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 19a9f5232..264d75c5a 100644 --- a/package.json +++ b/package.json @@ -167,8 +167,8 @@ "ts-node": "10.9.2", "tsd": "^0.31.0", "tsd-jsdoc": "2.5.0", - "typedoc": "0.27.9", - "typedoc-plugin-markdown": "4.4.2", + "typedoc": "0.28.0", + "typedoc-plugin-markdown": "4.5.0", "typescript": "5.8.2", "wdio-docker-service": "3.2.1", "webdriverio": "9.12.0", From 233838e779942d8065117c9d0d71edaf7b92b64a Mon Sep 17 00:00:00 2001 From: kobenguyent <7845001+kobenguyent@users.noreply.github.com> Date: Wed, 19 Mar 2025 10:29:31 +0100 Subject: [PATCH 32/32] release 3.7.3 (#4930) --- CHANGELOG.md | 31 +++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 46fb100df..9ce6dd1b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,34 @@ +## 3.7.3 + +❤️ Thanks all to those who contributed to make this release! ❤️ + +🛩️ _Features_ + +- feat(cli): improve info command to return installed browsers (#4890) - by @kobenguyent + +``` +➜ helloworld npx codeceptjs info +Environment information: + +codeceptVersion: "3.7.2" +nodeInfo: 18.19.0 +osInfo: macOS 14.4 +cpuInfo: (8) x64 Apple M1 Pro +osBrowsers: "chrome: 133.0.6943.143, edge: 133.0.3065.92, firefox: not installed, safari: 17.4" +playwrightBrowsers: "chromium: 133.0.6943.16, firefox: 134.0, webkit: 18.2" +helpers: { +"Playwright": { +"url": "http://localhost", +... +``` + +🐛 _Bug Fixes_ + +- fix: resolving path inconsistency in container.js and appium.js (#4866) - by @mjalav +- fix: broken screenshot links in mochawesome reports (#4889) - by @kobenguyent +- some internal fixes to make UTs more stable by @thomashohn +- dependencies upgrades by @thomashohn + ## 3.7.2 ❤️ Thanks all to those who contributed to make this release! ❤️ diff --git a/package.json b/package.json index 264d75c5a..14ce78aca 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "codeceptjs", - "version": "3.7.2", + "version": "3.7.3", "description": "Supercharged End 2 End Testing Framework for NodeJS", "keywords": [ "acceptance",