appium-xcuitest-driver 12.1.2 → 12.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/build/lib/commands/navigation.d.ts +3 -2
- package/build/lib/commands/navigation.d.ts.map +1 -1
- package/build/lib/commands/navigation.js +4 -2
- package/build/lib/commands/navigation.js.map +1 -1
- package/lib/commands/navigation.ts +5 -3
- package/npm-shrinkwrap.json +17 -17
- package/package.json +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [12.1.3](https://github.com/appium/appium-xcuitest-driver/compare/v12.1.2...v12.1.3) (2026-07-31)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* Make closeWindow return remaining window handles per W3C spec ([#2931](https://github.com/appium/appium-xcuitest-driver/issues/2931)) ([4687938](https://github.com/appium/appium-xcuitest-driver/commit/46879386d3d2b06bba1992db412ba73e2ee3b391))
|
|
6
|
+
|
|
1
7
|
## [12.1.2](https://github.com/appium/appium-xcuitest-driver/compare/v12.1.1...v12.1.2) (2026-07-30)
|
|
2
8
|
|
|
3
9
|
### Miscellaneous Chores
|
|
@@ -10,9 +10,10 @@ export declare function forward(this: XCUITestDriver): Promise<void>;
|
|
|
10
10
|
/**
|
|
11
11
|
* Closes the current window in a web context.
|
|
12
12
|
*
|
|
13
|
-
* @returns Promise
|
|
13
|
+
* @returns Promise resolving to the handles of the windows that remain open,
|
|
14
|
+
* as required by https://www.w3.org/TR/webdriver2/#close-window
|
|
14
15
|
*/
|
|
15
|
-
export declare function closeWindow(this: XCUITestDriver): Promise<
|
|
16
|
+
export declare function closeWindow(this: XCUITestDriver): Promise<string[]>;
|
|
16
17
|
/**
|
|
17
18
|
* Opens the given URL with the default application assigned to handle it based on the URL
|
|
18
19
|
* scheme, or the application provided as an optional parameter
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../lib/commands/navigation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAOjD;;GAEG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9D;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAMjE;AAED
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../lib/commands/navigation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAOjD;;GAEG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9D;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAMjE;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuBzE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxG;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCpE"}
|
|
@@ -28,7 +28,8 @@ export async function forward() {
|
|
|
28
28
|
/**
|
|
29
29
|
* Closes the current window in a web context.
|
|
30
30
|
*
|
|
31
|
-
* @returns Promise
|
|
31
|
+
* @returns Promise resolving to the handles of the windows that remain open,
|
|
32
|
+
* as required by https://www.w3.org/TR/webdriver2/#close-window
|
|
32
33
|
*/
|
|
33
34
|
export async function closeWindow() {
|
|
34
35
|
if (!this.isWebContext()) {
|
|
@@ -39,7 +40,7 @@ export async function closeWindow() {
|
|
|
39
40
|
const script = `setTimeout(function () {window.open('','_self').close();}, 0); return true;`;
|
|
40
41
|
const context = this.curContext;
|
|
41
42
|
try {
|
|
42
|
-
|
|
43
|
+
await this.executeAtom('execute_script', [script, []], true);
|
|
43
44
|
}
|
|
44
45
|
finally {
|
|
45
46
|
// wait for the window to successfully change...
|
|
@@ -53,6 +54,7 @@ export async function closeWindow() {
|
|
|
53
54
|
this.log.debug('Context has not yet been changed after closing window. Continuing...');
|
|
54
55
|
}
|
|
55
56
|
}
|
|
57
|
+
return await this.getWindowHandles();
|
|
56
58
|
}
|
|
57
59
|
/**
|
|
58
60
|
* Opens the given URL with the default application assigned to handle it based on the URL
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../lib/commands/navigation.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAG1C,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAEzC,uDAAuD;AACvD,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAClC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACzB,2BAA2B;QAC3B,OAAO;IACT,CAAC;IACD,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../lib/commands/navigation.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,9 +34,10 @@ export async function forward(this: XCUITestDriver): Promise<void> {
|
|
|
34
34
|
/**
|
|
35
35
|
* Closes the current window in a web context.
|
|
36
36
|
*
|
|
37
|
-
* @returns Promise
|
|
37
|
+
* @returns Promise resolving to the handles of the windows that remain open,
|
|
38
|
+
* as required by https://www.w3.org/TR/webdriver2/#close-window
|
|
38
39
|
*/
|
|
39
|
-
export async function closeWindow(this: XCUITestDriver): Promise<
|
|
40
|
+
export async function closeWindow(this: XCUITestDriver): Promise<string[]> {
|
|
40
41
|
if (!this.isWebContext()) {
|
|
41
42
|
throw new errors.NotImplementedError();
|
|
42
43
|
}
|
|
@@ -46,7 +47,7 @@ export async function closeWindow(this: XCUITestDriver): Promise<any> {
|
|
|
46
47
|
const script = `setTimeout(function () {window.open('','_self').close();}, 0); return true;`;
|
|
47
48
|
const context = this.curContext;
|
|
48
49
|
try {
|
|
49
|
-
|
|
50
|
+
await this.executeAtom('execute_script', [script, []], true);
|
|
50
51
|
} finally {
|
|
51
52
|
// wait for the window to successfully change...
|
|
52
53
|
try {
|
|
@@ -58,6 +59,7 @@ export async function closeWindow(this: XCUITestDriver): Promise<any> {
|
|
|
58
59
|
this.log.debug('Context has not yet been changed after closing window. Continuing...');
|
|
59
60
|
}
|
|
60
61
|
}
|
|
62
|
+
return await this.getWindowHandles();
|
|
61
63
|
}
|
|
62
64
|
|
|
63
65
|
/**
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-xcuitest-driver",
|
|
3
|
-
"version": "12.1.
|
|
3
|
+
"version": "12.1.3",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "appium-xcuitest-driver",
|
|
9
|
-
"version": "12.1.
|
|
9
|
+
"version": "12.1.3",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@appium/css-locator-to-native": "^1.0.1",
|
|
@@ -496,9 +496,9 @@
|
|
|
496
496
|
}
|
|
497
497
|
},
|
|
498
498
|
"node_modules/appium-ios-device": {
|
|
499
|
-
"version": "3.1.
|
|
500
|
-
"resolved": "https://registry.npmjs.org/appium-ios-device/-/appium-ios-device-3.1.
|
|
501
|
-
"integrity": "sha512-
|
|
499
|
+
"version": "3.1.20",
|
|
500
|
+
"resolved": "https://registry.npmjs.org/appium-ios-device/-/appium-ios-device-3.1.20.tgz",
|
|
501
|
+
"integrity": "sha512-ZF2HveeCNJ4kTd13Yf1HaNH+CZiIp4Vn3Tbv0efAd0fRTgr7X/PvFjBUZQ5iSvZ4vTufgmzMBYvZ9FVoWp7qtg==",
|
|
502
502
|
"license": "Apache-2.0",
|
|
503
503
|
"dependencies": {
|
|
504
504
|
"@appium/support": "^7.2.2",
|
|
@@ -553,9 +553,9 @@
|
|
|
553
553
|
}
|
|
554
554
|
},
|
|
555
555
|
"node_modules/appium-ios-simulator": {
|
|
556
|
-
"version": "9.1.
|
|
557
|
-
"resolved": "https://registry.npmjs.org/appium-ios-simulator/-/appium-ios-simulator-9.1.
|
|
558
|
-
"integrity": "sha512-
|
|
556
|
+
"version": "9.1.2",
|
|
557
|
+
"resolved": "https://registry.npmjs.org/appium-ios-simulator/-/appium-ios-simulator-9.1.2.tgz",
|
|
558
|
+
"integrity": "sha512-IVZKABOIvY8NZhYmNHVFc56MQhpoK1UXRSuzXrYW2jFu7jkb6n2szcfDefU4JS4rFOJOaA4LqOAQ9mcUUv+PSg==",
|
|
559
559
|
"license": "Apache-2.0",
|
|
560
560
|
"dependencies": {
|
|
561
561
|
"@appium/support": "^7.2.5",
|
|
@@ -611,9 +611,9 @@
|
|
|
611
611
|
}
|
|
612
612
|
},
|
|
613
613
|
"node_modules/appium-webdriveragent": {
|
|
614
|
-
"version": "16.0
|
|
615
|
-
"resolved": "https://registry.npmjs.org/appium-webdriveragent/-/appium-webdriveragent-16.0.
|
|
616
|
-
"integrity": "sha512-
|
|
614
|
+
"version": "16.1.0",
|
|
615
|
+
"resolved": "https://registry.npmjs.org/appium-webdriveragent/-/appium-webdriveragent-16.1.0.tgz",
|
|
616
|
+
"integrity": "sha512-RuH209vkPc8wlV4oRZqiSkSHpcOsEyJ58uOs0APBme5IGIqftRmE4je8HBEEokhgFXrlb+gJUcB85jJQwCnJbw==",
|
|
617
617
|
"license": "Apache-2.0",
|
|
618
618
|
"dependencies": {
|
|
619
619
|
"@appium/base-driver": "^10.3.0",
|
|
@@ -679,9 +679,9 @@
|
|
|
679
679
|
"license": "MIT"
|
|
680
680
|
},
|
|
681
681
|
"node_modules/asyncbox": {
|
|
682
|
-
"version": "6.4.
|
|
683
|
-
"resolved": "https://registry.npmjs.org/asyncbox/-/asyncbox-6.4.
|
|
684
|
-
"integrity": "sha512-
|
|
682
|
+
"version": "6.4.2",
|
|
683
|
+
"resolved": "https://registry.npmjs.org/asyncbox/-/asyncbox-6.4.2.tgz",
|
|
684
|
+
"integrity": "sha512-CXEnvX5i4UtAdu3Egtqn5At9C1O3bIqtS3EAQGz8bA5H11cvu9eO17IxOWiM8Q8DUFk9sD251s9vsAXFKXXFgg==",
|
|
685
685
|
"license": "Apache-2.0",
|
|
686
686
|
"dependencies": {
|
|
687
687
|
"p-limit": "^7.2.0"
|
|
@@ -2435,9 +2435,9 @@
|
|
|
2435
2435
|
}
|
|
2436
2436
|
},
|
|
2437
2437
|
"node_modules/node-addon-api": {
|
|
2438
|
-
"version": "8.9.
|
|
2439
|
-
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.9.
|
|
2440
|
-
"integrity": "sha512-
|
|
2438
|
+
"version": "8.9.1",
|
|
2439
|
+
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.9.1.tgz",
|
|
2440
|
+
"integrity": "sha512-4eUQWVPCUUUiBjLnHS3cXWeC6ryoPUc0U3rP7IuzapoGbzMqd/r6KKO0clr0b+snQhsrueFEhCZDdK+LK7hxKg==",
|
|
2441
2441
|
"license": "MIT",
|
|
2442
2442
|
"optional": true,
|
|
2443
2443
|
"engines": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-xcuitest-driver",
|
|
3
|
-
"version": "12.1.
|
|
3
|
+
"version": "12.1.3",
|
|
4
4
|
"description": "Appium driver for iOS using XCUITest for backend",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"appium",
|
|
@@ -57,14 +57,14 @@
|
|
|
57
57
|
"prepare": "npm run rebuild",
|
|
58
58
|
"rebuild": "npm run clean; npm run build",
|
|
59
59
|
"test": "node --enable-source-maps --test --test-force-exit --test-timeout=60000 \"./build/test/unit/**/*.spec.js\"",
|
|
60
|
-
"e2e-test": "node --enable-source-maps --test --test-force-exit --test-
|
|
61
|
-
"e2e-test:basic": "node --enable-source-maps --test --test-force-exit --test-
|
|
62
|
-
"e2e-test:device": "node --enable-source-maps --test --test-force-exit --test-
|
|
63
|
-
"e2e-test:driver": "node --enable-source-maps --test --test-force-exit --test-
|
|
64
|
-
"e2e-test:long": "node --enable-source-maps --test --test-force-exit --test-
|
|
65
|
-
"e2e-test:parallel": "node --enable-source-maps --test --test-force-exit --test-
|
|
66
|
-
"e2e-test:web": "node --enable-source-maps --test --test-force-exit --test-
|
|
67
|
-
"e2e-test:native-web-tap": "node --enable-source-maps --test --test-force-exit --test-
|
|
60
|
+
"e2e-test": "node --enable-source-maps --test --test-force-exit --test-concurrency=1 \"./build/test/functional/**/*.spec.js\"",
|
|
61
|
+
"e2e-test:basic": "node --enable-source-maps --test --test-force-exit --test-concurrency=1 \"./build/test/functional/basic/**/*.spec.js\"",
|
|
62
|
+
"e2e-test:device": "node --enable-source-maps --test --test-force-exit --test-concurrency=1 \"./build/test/functional/device/**/*.spec.js\"",
|
|
63
|
+
"e2e-test:driver": "node --enable-source-maps --test --test-force-exit --test-concurrency=1 \"./build/test/functional/driver/**/*.spec.js\"",
|
|
64
|
+
"e2e-test:long": "node --enable-source-maps --test --test-force-exit --test-concurrency=1 \"./build/test/functional/long/**/*.spec.js\"",
|
|
65
|
+
"e2e-test:parallel": "node --enable-source-maps --test --test-force-exit --test-concurrency=1 \"./build/test/functional/parallel/**/*.spec.js\"",
|
|
66
|
+
"e2e-test:web": "node --enable-source-maps --test --test-force-exit --test-concurrency=1 \"./build/test/functional/web/**/*.spec.js\"",
|
|
67
|
+
"e2e-test:native-web-tap": "node --enable-source-maps --test --test-force-exit --test-concurrency=1 \"./build/test/functional/web/safari-nativewebtap*.spec.js\"",
|
|
68
68
|
"start": "appium --relaxed-security --port 4567 --keep-alive-timeout 1200"
|
|
69
69
|
},
|
|
70
70
|
"dependencies": {
|