Compare commits

...
Author SHA1 Message Date
Mykola Mokhnach 5e1ec327c4 chore(deps): update dependency webdriverio to v10 (#23169) 2026-11-15 15:50:36 +01:00
Mykola Mokhnach 61bfbebe3c chore(deps): update dependency @types/node to v26 (#23168) 2026-11-15 15:23:37 +01:00
renovate[bot] 6447e97999 chore(http-server): update dependency path-to-regexp to v9 (#23113)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-11-15 15:23:05 +01:00
renovate[bot] 5cf9d9bba6 chore(support): update dependency teen_process to v5 (#23167)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-11-15 15:21:29 +01:00
renovate[bot] 0f5284f1f4 chore(support): update dependency asyncbox to v7 (#23166)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-11-15 15:11:51 +01:00
19 changed files with 1152 additions and 947 deletions
+1113 -917
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -88,7 +88,7 @@
"@types/method-override": "3.0.0",
"@types/mime-types": "3.0.1",
"@types/morgan": "1.9.10",
"@types/node": "24.19.2",
"@types/node": "26.6.6",
"@types/picomatch": "4.0.3",
"@types/pluralize": "0.0.33",
"@types/semver": "7.8.0",
@@ -97,7 +97,7 @@
"@types/which": "3.0.4",
"@types/ws": "8.18.1",
"@types/yargs": "17.0.35",
"asyncbox": "6.6.0",
"asyncbox": "7.0.0",
"axios": "1.20.0",
"conventional-changelog-conventionalcommits": "9.3.1",
"cross-env": "10.1.0",
@@ -105,10 +105,10 @@
"lerna": "10.1.1",
"npm-run-all2": "9.0.4",
"sinon": "22.1.0",
"teen_process": "4.2.1",
"teen_process": "5.0.1",
"tsd": "0.33.0",
"typescript": "6.0.3",
"webdriverio": "9.32.0",
"webdriverio": "10.2.0",
"ws": "8.22.0"
},
"overrides": {
+2 -2
View File
@@ -77,13 +77,13 @@
"ajv": "8.20.0",
"ajv-formats": "3.0.1",
"argparse": "3.0.3",
"asyncbox": "6.6.0",
"asyncbox": "7.0.0",
"axios": "1.20.0",
"lilconfig": "3.1.4",
"lru-cache": "11.5.3",
"normalize-package-data": "9.0.0",
"semver": "7.8.5",
"teen_process": "4.2.1",
"teen_process": "5.0.1",
"winston": "3.19.0",
"ws": "8.22.0",
"yaml": "2.9.1",
@@ -1,5 +1,5 @@
{
"devDependencies": {
"webdriverio": "9.32.0"
"webdriverio": "10.2.0"
}
}
+2 -2
View File
@@ -55,10 +55,10 @@
"dependencies": {
"@appium/support": "~8.0.0",
"@appium/types": "~2.0.0",
"asyncbox": "^6.6.0",
"asyncbox": "^7.0.0",
"axios": "^1.20.0",
"lru-cache": "^11.5.2",
"path-to-regexp": "^8.4.2",
"path-to-regexp": "^9.0.0",
"picomatch": "^4.0.7"
},
"devDependencies": {
+1 -1
View File
@@ -63,7 +63,7 @@
"diff": "^9.0.0",
"lilconfig": "^3.1.3",
"normalize-package-data": "^9.0.0",
"teen_process": "^4.2.1",
"teen_process": "^5.0.0",
"yaml": "^2.9.0",
"yargs": "^18.1.0",
"yargs-parser": "^22.0.0"
+1 -1
View File
@@ -54,7 +54,7 @@
},
"dependencies": {
"@appium/support": "~8.0.0",
"asyncbox": "^6.6.0"
"asyncbox": "^7.0.0"
},
"devDependencies": {
"@appium/types": "~2.0.0"
+1 -1
View File
@@ -49,7 +49,7 @@
"dependencies": {
"@appium/http-server": "1.0.0",
"@xmldom/xmldom": "0.9.12",
"asyncbox": "6.6.0",
"asyncbox": "7.0.0",
"xpath": "0.0.35",
"yocto-spinner": "1.2.2"
},
@@ -6,6 +6,8 @@ import {deleteSession, initSession, W3C_PREFIXED_CAPS} from '../helpers.js';
export function contextTests(context: {port: number}) {
describe('contexts, webviews, frames', function () {
let driver: Awaited<ReturnType<typeof initSession>>;
// wdio 10 types only accept elements, but numeric frame ids are still passed through
const switchToFrame = (id: number | null) => driver.switchFrame(id as unknown as null);
before(async function () {
driver = await initSession(W3C_PREFIXED_CAPS, {port: context.port});
});
@@ -29,14 +31,14 @@ export function contextTests(context: {port: number}) {
assert.strictEqual(await (await driver.$('//*')).getTagName(), 'html');
});
it('should not switch to a frame that is not there', async function () {
await assert.rejects(driver.switchToFrame(2), /frame could not be found/);
await assert.rejects(switchToFrame(2), /frame could not be found/);
});
it('should switch to an iframe', async function () {
await driver.switchToFrame(1);
await switchToFrame(1);
assert.strictEqual(await driver.getTitle(), 'Test iFrame');
});
it('should switch back to default frame', async function () {
await driver.switchToFrame(null);
await switchToFrame(null);
assert.strictEqual(await driver.getTitle(), 'Test Webview');
});
it('should go back to native context', async function () {
@@ -45,7 +47,7 @@ export function contextTests(context: {port: number}) {
});
it('should not set a frame in a native context', async function () {
await driver.switchContext('NATIVE_APP');
await assert.rejects(driver.switchToFrame(1), /could not be executed in the current context/);
await assert.rejects(switchToFrame(1), /could not be executed in the current context/);
});
});
}
+1
View File
@@ -33,6 +33,7 @@ const WD_OPTS: Partial<Parameters<typeof wdio>[0]> = {
hostname: TEST_HOST,
connectionRetryCount: 0,
logLevel: 'error',
strictSelectors: false,
};
async function initSession(w3cPrefixedCaps: StringRecord, wdioOpts: Partial<Parameters<typeof wdio>[0]> = {}) {
+1 -1
View File
@@ -46,7 +46,7 @@
"dependencies": {
"@appium/base-plugin": "4.0.0",
"@appium/support": "8.0.0",
"asyncbox": "6.6.0"
"asyncbox": "7.0.0"
},
"devDependencies": {
"@appium/types": "2.0.0",
+1 -1
View File
@@ -59,7 +59,7 @@
"express": "^5.2.1",
"method-override": "^3.0.0",
"morgan": "^1.12.1",
"path-to-regexp": "^8.4.2"
"path-to-regexp": "^9.0.0"
},
"engines": {
"node": "^22.22.2 || ^24.15.0 || >=26.0.0",
+1 -1
View File
@@ -52,7 +52,7 @@
"dependencies": {
"@appium/opencv": "6.0.0",
"@appium/support": "8.0.0",
"asyncbox": "6.6.0",
"asyncbox": "7.0.0",
"lru-cache": "11.5.3",
"sharp": "0.35.5"
},
@@ -31,6 +31,7 @@ type WebdriverIOConfig = Parameters<typeof wdio>[0];
const WDIO_OPTS: WebdriverIOConfig = {
hostname: TEST_HOST,
connectionRetryCount: 0,
strictSelectors: false,
capabilities: TEST_CAPS,
};
+2 -2
View File
@@ -51,8 +51,8 @@
"test:unit": "exit 0"
},
"dependencies": {
"asyncbox": "^6.6.0",
"teen_process": "^4.2.1"
"asyncbox": "^7.0.0",
"teen_process": "^5.0.0"
},
"devDependencies": {
"@appium/types": "~2.0.0"
+1 -1
View File
@@ -53,7 +53,7 @@
},
"dependencies": {
"@appium/support": "8.0.0",
"asyncbox": "6.6.0",
"asyncbox": "7.0.0",
"lru-cache": "11.5.3",
"ws": "8.22.0"
},
+6 -4
View File
@@ -5,6 +5,9 @@ import type {JsonValue} from '@appium/types';
import {isUnicodeSupported, NullWritable, streamSupportsColor, stripAnsi} from './internal/index.js';
/** @deprecated Has no effect in recent Node.js versions. Will be removed in a future release. */
export type DeprecatedTextStyle = 'framed' | 'overlined';
/** ANSI styles supported by Node's `util.styleText`. `grey` is accepted as an alias for `gray`. */
export type TextStyle =
| 'reset'
@@ -35,20 +38,19 @@ export type TextStyle =
| 'bgMagenta'
| 'bgCyan'
| 'bgWhite'
| 'framed'
| 'overlined'
| 'redBright'
| 'greenBright'
| 'yellowBright'
| 'blueBright'
| 'magentaBright'
| 'cyanBright'
| 'whiteBright';
| 'whiteBright'
| DeprecatedTextStyle;
/** Applies terminal styling via Node's `util.styleText`. */
export function styleText(style: TextStyle, text: string): string {
const format = style === 'grey' ? 'gray' : style;
return nodeStyleText(format, text);
return nodeStyleText(format as Parameters<typeof nodeStyleText>[0], text);
}
/** Removes ANSI escape sequences (CSI and OSC) from a string. */
@@ -67,7 +67,9 @@ export class MoveOperation {
// File and symlink moves replace the destination entry itself.
let toStat: BigIntStats | undefined;
try {
toStat = await (fromStat.isDirectory() ? fsPromises.stat : fsPromises.lstat)(to, {bigint: true});
toStat = fromStat.isDirectory()
? await fsPromises.stat(to, {bigint: true})
: await fsPromises.lstat(to, {bigint: true});
} catch (err) {
if (!isErrnoException(err) || err.code !== 'ENOENT') {
throw err;
+4 -3
View File
@@ -55,7 +55,7 @@
"@appium/logger": "~3.0.0",
"@appium/types": "~2.0.0",
"archiver": "^8.0.0",
"asyncbox": "^6.6.0",
"asyncbox": "^7.0.0",
"axios": "^1.20.0",
"lockfile": "^1.0.4",
"mime-types": "^3.0.2",
@@ -64,12 +64,13 @@
"sanitize-filename": "^1.6.4",
"semver": "^7.8.5",
"shell-quote": "^1.12.0",
"teen_process": "^4.2.1",
"teen_process": "^5.0.0",
"which": "^7.0.0",
"yauzl": "^3.4.0"
},
"devDependencies": {
"@appium/tsconfig": "~2.0.0"
"@appium/tsconfig": "~2.0.0",
"@types/yauzl": "^2.10.3"
},
"engines": {
"node": "^22.22.2 || ^24.15.0 || >=26.0.0",