appium-webdriveragent 9.15.2 → 10.0.0

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 CHANGED
@@ -1,3 +1,21 @@
1
+ ## [10.0.0](https://github.com/appium/WebDriverAgent/compare/v9.15.3...v10.0.0) (2025-08-17)
2
+
3
+ ### ⚠ BREAKING CHANGES
4
+
5
+ * Required Node.js version has been bumped to ^20.19.0 || ^22.12.0 || >=24.0.0
6
+ * Required npm version has been bumped to >=10
7
+ * Required base driver version has been bumped to >=10.0.0-rc.1
8
+
9
+ ### Features
10
+
11
+ * Update server compatibility ([#1051](https://github.com/appium/WebDriverAgent/issues/1051)) ([f9ea1e5](https://github.com/appium/WebDriverAgent/commit/f9ea1e5e2f5306030387d5293f073b2a6fe658e7))
12
+
13
+ ## [9.15.3](https://github.com/appium/WebDriverAgent/compare/v9.15.2...v9.15.3) (2025-08-12)
14
+
15
+ ### Miscellaneous Chores
16
+
17
+ * Cache application instances for their PIDs ([#1049](https://github.com/appium/WebDriverAgent/issues/1049)) ([e9cbf64](https://github.com/appium/WebDriverAgent/commit/e9cbf640c21243c304b476a497f33802e0501a7d))
18
+
1
19
  ## [9.15.2](https://github.com/appium/WebDriverAgent/compare/v9.15.1...v9.15.2) (2025-08-04)
2
20
 
3
21
  ### Miscellaneous Chores
@@ -15,11 +15,11 @@
15
15
  <key>CFBundlePackageType</key>
16
16
  <string>FMWK</string>
17
17
  <key>CFBundleShortVersionString</key>
18
- <string>9.15.2</string>
18
+ <string>10.0.0</string>
19
19
  <key>CFBundleSignature</key>
20
20
  <string>????</string>
21
21
  <key>CFBundleVersion</key>
22
- <string>9.15.2</string>
22
+ <string>10.0.0</string>
23
23
  <key>NSPrincipalClass</key>
24
24
  <string/>
25
25
  </dict>
@@ -43,7 +43,7 @@ NS_ASSUME_NONNULL_BEGIN
43
43
  attributes:(NSArray *)attributes
44
44
  error:(NSError**)error;
45
45
 
46
- - (XCUIApplication *)monitoredApplicationWithProcessIdentifier:(int)pid;
46
+ - (nullable XCUIApplication *)monitoredApplicationWithProcessIdentifier:(int)pid;
47
47
 
48
48
  @end
49
49
 
@@ -14,9 +14,16 @@
14
14
  #import "FBMacros.h"
15
15
  #import "XCAXClient_iOS+FBSnapshotReqParams.h"
16
16
  #import "XCUIDevice.h"
17
+ #import "XCUIApplication.h"
17
18
 
18
19
  static id FBAXClient = nil;
19
20
 
21
+ @interface FBXCAXClientProxy ()
22
+
23
+ @property (nonatomic) NSMutableDictionary<NSNumber *, XCUIApplication *> *appsCache;
24
+
25
+ @end
26
+
20
27
  @implementation FBXCAXClientProxy
21
28
 
22
29
  + (instancetype)sharedClient
@@ -25,6 +32,7 @@ static id FBAXClient = nil;
25
32
  static dispatch_once_t onceToken;
26
33
  dispatch_once(&onceToken, ^{
27
34
  instance = [[self alloc] init];
35
+ instance.appsCache = [NSMutableDictionary dictionary];
28
36
  FBAXClient = [XCUIDevice.sharedDevice accessibilityInterface];
29
37
  });
30
38
  return instance;
@@ -85,7 +93,28 @@ static id FBAXClient = nil;
85
93
 
86
94
  - (XCUIApplication *)monitoredApplicationWithProcessIdentifier:(int)pid
87
95
  {
88
- return [[FBAXClient applicationProcessTracker] monitoredApplicationWithProcessIdentifier:pid];
96
+ NSMutableSet *terminatedAppIds = [NSMutableSet set];
97
+ for (NSNumber *appPid in self.appsCache) {
98
+ if (![self.appsCache[appPid] running]) {
99
+ [terminatedAppIds addObject:appPid];
100
+ }
101
+ }
102
+ for (NSNumber *appPid in terminatedAppIds) {
103
+ [self.appsCache removeObjectForKey:appPid];
104
+ }
105
+
106
+ XCUIApplication *result = [self.appsCache objectForKey:@(pid)];
107
+ if (nil != result) {
108
+ return result;
109
+ }
110
+
111
+ XCUIApplication *app = [[FBAXClient applicationProcessTracker]
112
+ monitoredApplicationWithProcessIdentifier:pid];
113
+ if (nil == app) {
114
+ return nil;
115
+ }
116
+ [self.appsCache setObject:app forKey:@(pid)];
117
+ return app;
89
118
  }
90
119
 
91
120
  @end
@@ -88,7 +88,7 @@ export function getXctestrunFilePath(deviceInfo: DeviceInfo, sdkVersion: string,
88
88
  * @param {import('teen_process').SubProcess} proc
89
89
  * @returns {Promise<void>}
90
90
  */
91
- export function killProcess(name: string, proc: import("teen_process").SubProcess): Promise<void>;
91
+ export function killProcess(name: string, proc: any): Promise<void>;
92
92
  /**
93
93
  * Generate a random integer.
94
94
  *
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.js"],"names":[],"mappings":"AAoCA,oCAA8C;;;;;;;;kBA+HhC,MAAM;;;;UACN,MAAM;;;;qBACN,MAAM;;;;kBACN,MAAM;;AAtDpB;;;;;GAKG;AACH,6CAHW,MAAM,eACN,MAAM,iBAchB;AAED;;;GAGG;AACH,4CAFW,MAAM,iBAiBhB;AAED,+FAKC;AAqCD;;;;;GAKG;AACH,sDAJW,MAAM,iBACN,MAAM,GAAC,MAAM,GACZ,MAAM,CAajB;AA4CD;;;;;GAKG;AACH,iDAJW,UAAU,WACV,MAAM,GACL,MAAM,CAOjB;AA3GD;;;;;;;EAOE;AACF;;;;;;;;;;;;;;;;GAgBG;AACH,6CATW,UAAU,cACV,MAAM,iBACN,MAAM,iBACN,MAAM,GAAC,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAa1B;AAqBD;;;;;;GAMG;AACH,iDALW,UAAU,cACV,MAAM,iBACN,MAAM,GACJ,OAAO,CAAC,MAAM,CAAC,CAkC3B;AAgBD;;;;;;GAMG;AACH,kCAJW,MAAM,QACN,OAAO,cAAc,EAAE,UAAU,GAC/B,OAAO,CAAC,IAAI,CAAC,CA8BzB;AAED;;;;GAIG;AACH,gDAFY,MAAM,CAIjB;AAED;;;;;GAKG;AACH,0CAHY,OAAO,CAAC,MAAM,OAAC,CAAC,CAU3B;AAED;;;;;GAKG;AACH,yCAHW,MAAM,eACN,OAAO,iBAWjB;AAED;;;;;;;;;;;;GAYG;AACH,6CARW,MAAM,GAAC,MAAM,kBACb,eAAS,GAKP,OAAO,CAAC,MAAM,EAAE,CAAC,CAgC7B;AA/UD,sEAqCC;AAED;;;;GAIG;AACH,qCAHW,MAAM,GACJ,OAAO,CAInB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.js"],"names":[],"mappings":"AAoCA,oCAA8C;;;;;;;;kBA+HhC,MAAM;;;;UACN,MAAM;;;;qBACN,MAAM;;;;kBACN,MAAM;;AAtDpB;;;;;GAKG;AACH,6CAHW,MAAM,eACN,MAAM,iBAchB;AAED;;;GAGG;AACH,4CAFW,MAAM,iBAiBhB;AAED,+FAKC;AAqCD;;;;;GAKG;AACH,sDAJW,MAAM,iBACN,MAAM,GAAC,MAAM,GACZ,MAAM,CAajB;AA4CD;;;;;GAKG;AACH,iDAJW,UAAU,WACV,MAAM,GACL,MAAM,CAOjB;AA3GD;;;;;;;EAOE;AACF;;;;;;;;;;;;;;;;GAgBG;AACH,6CATW,UAAU,cACV,MAAM,iBACN,MAAM,iBACN,MAAM,GAAC,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAa1B;AAqBD;;;;;;GAMG;AACH,iDALW,UAAU,cACV,MAAM,iBACN,MAAM,GACJ,OAAO,CAAC,MAAM,CAAC,CAkC3B;AAgBD;;;;;;GAMG;AACH,kCAJW,MAAM,cAEJ,OAAO,CAAC,IAAI,CAAC,CA8BzB;AAED;;;;GAIG;AACH,gDAFY,MAAM,CAIjB;AAED;;;;;GAKG;AACH,0CAHY,OAAO,CAAC,MAAM,OAAC,CAAC,CAU3B;AAED;;;;;GAKG;AACH,yCAHW,MAAM,eACN,OAAO,iBAWjB;AAED;;;;;;;;;;;;GAYG;AACH,6CARW,MAAM,GAAC,MAAM,kBACb,eAAS,GAKP,OAAO,CAAC,MAAM,EAAE,CAAC,CAgC7B;AA/UD,sEAqCC;AAED;;;;GAIG;AACH,qCAHW,MAAM,GACJ,OAAO,CAInB"}
@@ -97,5 +97,4 @@ export class XcodeBuild {
97
97
  quit(): Promise<void>;
98
98
  }
99
99
  export default XcodeBuild;
100
- import { SubProcess } from 'teen_process';
101
100
  //# sourceMappingURL=xcodebuild.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xcodebuild.d.ts","sourceRoot":"","sources":["../../lib/xcodebuild.js"],"names":[],"mappings":"AA2CA;IAIE;;;;;;OAMG;IACH,0BANW,OAAO,cAAc,EAAE,YAAY,UACnC,GAAG,SAEH,OAAO,eAAe,EAAE,YAAY,QACpC,OAAO,eAAe,EAAE,YAAY,OAAC,EAiD/C;IAzDD,yBAAyB;IACzB,YADW,UAAU,CACV;IAUT,kEAAgC;IAEhC,YAAoB;IACpB,0CAA+B;IAE/B,gBAAiC;IAEjC,eAA+B;IAC/B,mBAAuC;IAEvC,qBAA2C;IAC3C,kBAAqC;IACrC,mBAAuC;IAEvC,kBAAqC;IAErC,qBAA2C;IAC3C,gBAAiC;IACjC,oBAA+D;IAC/D,kBAAqC;IACrC,sBAA6C;IAE7C,iBAAmC;IACnC,oBAAyC;IACzC,wBAAiD;IAEjD,sBAA6C;IAE7C,mBAAuC;IAEvC,mBAAuC;IAEvC,wBAAiD;IACjD,qBAA2C;IAE3C,qBAA2C;IAE3C,sBAAyF;IAEzF,yCAAmF;IAEnF,sBAA6C;IAC7C,yBAAmD;IAEnD,uBAA0B;IAC1B,yBAA4B;IAG9B;;;;OAIG;IACH,qBAHW,GAAG,GACD,OAAO,CAAC,IAAI,CAAC,CA4BzB;IAzBC,oBAAoC;IASlC,sCAAuH;IAkB3H;;OAEG;IACH,2BAFa,OAAO,CAAC,MAAM,GAAC,SAAS,CAAC,CAkCrC;IAtBC,kDAoBI;IAIN;;OAEG;IACH,SAFa,OAAO,CAAC,IAAI,CAAC,CAOzB;IAED;;OAEG;IACH,YAFa,OAAO,CAAC,IAAI,CAAC,CAYzB;IAED;;OAEG;IACH,gBAFa,OAAO,CAAC,IAAI,CAAC,CAczB;IAED;;;;OAIG;IACH,uBAHW,OAAO,GACL;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAC,CA0EzC;IAED;;;OAGG;IACH,6BAHW,OAAO,GACL,OAAO,CAAC,UAAU,CAAC,CA4D/B;IAGD;;;OAGG;IACH,kBAHW,OAAO,GACL,OAAO,CAAC,OAAO,eAAe,EAAE,YAAY,CAAC,CA6CzD;IAlCK,oCAA0B;IAoChC;;;;OAIG;IACH,oBAHW,GAAG,GACD,OAAO,CAAC,OAAO,eAAe,EAAE,YAAY,OAAC,CAAC,CA4C1D;IAzBS,cAAoC;IA2B9C;;OAEG;IACH,QAFa,OAAO,CAAC,IAAI,CAAC,CAIzB;CACF;;2BA9cgC,cAAc"}
1
+ {"version":3,"file":"xcodebuild.d.ts","sourceRoot":"","sources":["../../lib/xcodebuild.js"],"names":[],"mappings":"AA2CA;IAIE;;;;;;OAMG;IACH,0BANW,OAAO,cAAc,EAAE,YAAY,UACnC,GAAG,SAEH,OAAO,eAAe,EAAE,YAAY,QACpC,OAAO,eAAe,EAAE,YAAY,OAAC,EAiD/C;IAzDD,yBAAyB;IACzB,YADW,UAAU,CACV;IAUT,kEAAgC;IAEhC,YAAoB;IACpB,0CAA+B;IAE/B,gBAAiC;IAEjC,eAA+B;IAC/B,mBAAuC;IAEvC,qBAA2C;IAC3C,kBAAqC;IACrC,mBAAuC;IAEvC,kBAAqC;IAErC,qBAA2C;IAC3C,gBAAiC;IACjC,oBAA+D;IAC/D,kBAAqC;IACrC,sBAA6C;IAE7C,iBAAmC;IACnC,oBAAyC;IACzC,wBAAiD;IAEjD,sBAA6C;IAE7C,mBAAuC;IAEvC,mBAAuC;IAEvC,wBAAiD;IACjD,qBAA2C;IAE3C,qBAA2C;IAE3C,sBAAyF;IAEzF,yCAAmF;IAEnF,sBAA6C;IAC7C,yBAAmD;IAEnD,uBAA0B;IAC1B,yBAA4B;IAG9B;;;;OAIG;IACH,qBAHW,GAAG,GACD,OAAO,CAAC,IAAI,CAAC,CA4BzB;IAzBC,oBAAoC;IASlC,sCAAuH;IAkB3H;;OAEG;IACH,2BAFa,OAAO,CAAC,MAAM,GAAC,SAAS,CAAC,CAkCrC;IAtBC,kDAoBI;IAIN;;OAEG;IACH,SAFa,OAAO,CAAC,IAAI,CAAC,CAOzB;IAED;;OAEG;IACH,YAFa,OAAO,CAAC,IAAI,CAAC,CAYzB;IAED;;OAEG;IACH,gBAFa,OAAO,CAAC,IAAI,CAAC,CAczB;IAED;;;;OAIG;IACH,uBAHW,OAAO,GACL;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAC,CA0EzC;IAED;;;OAGG;IACH,6BAHW,OAAO,GACL,OAAO,CAAC,UAAU,CAAC,CA4D/B;IAGD;;;OAGG;IACH,kBAHW,OAAO,GACL,OAAO,CAAC,OAAO,eAAe,EAAE,YAAY,CAAC,CA6CzD;IAlCK,oCAA0B;IAoChC;;;;OAIG;IACH,oBAHW,GAAG,GACD,OAAO,CAAC,OAAO,eAAe,EAAE,YAAY,OAAC,CAAC,CA4C1D;IAzBS,cAAoC;IA2B9C;;OAEG;IACH,QAFa,OAAO,CAAC,IAAI,CAAC,CAIzB;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-webdriveragent",
3
- "version": "9.15.2",
3
+ "version": "10.0.0",
4
4
  "description": "Package bundling WebDriverAgent",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
@@ -22,8 +22,8 @@
22
22
  "sync-wda-version": "node ./scripts/update-wda-version.js --package-version=${npm_package_version} && git add WebDriverAgentLib/Info.plist"
23
23
  },
24
24
  "engines": {
25
- "node": ">=14",
26
- "npm": ">=8"
25
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
26
+ "npm": ">=10"
27
27
  },
28
28
  "prettier": {
29
29
  "bracketSpacing": false,
@@ -48,22 +48,21 @@
48
48
  },
49
49
  "homepage": "https://github.com/appium/WebDriverAgent#readme",
50
50
  "devDependencies": {
51
- "@appium/eslint-config-appium-ts": "^1.0.0",
52
- "@appium/test-support": "^3.0.0",
53
- "@appium/tsconfig": "^0.x",
54
- "@appium/types": "^0.x",
51
+ "@appium/eslint-config-appium-ts": "^2.0.0-rc.1",
52
+ "@appium/test-support": "^4.0.0-rc.1",
53
+ "@appium/tsconfig": "^1.0.0-rc.1",
54
+ "@appium/types": "^1.0.0-rc.1",
55
55
  "@semantic-release/changelog": "^6.0.1",
56
56
  "@semantic-release/git": "^10.0.1",
57
57
  "@types/bluebird": "^3.5.38",
58
58
  "@types/lodash": "^4.14.196",
59
59
  "@types/mocha": "^10.0.1",
60
60
  "@types/node": "^24.0.0",
61
- "@types/teen_process": "^2.0.1",
62
- "appium-xcode": "^5.0.0",
61
+ "appium-xcode": "^6.0.0",
63
62
  "chai": "^5.1.1",
64
63
  "chai-as-promised": "^8.0.0",
65
64
  "conventional-changelog-conventionalcommits": "^9.0.0",
66
- "node-simctl": "^7.0.1",
65
+ "node-simctl": "^8.0.0",
67
66
  "mocha": "^11.0.1",
68
67
  "prettier": "^3.0.0",
69
68
  "semantic-release": "^24.0.0",
@@ -73,18 +72,18 @@
73
72
  "typescript": "^5.4.2"
74
73
  },
75
74
  "dependencies": {
76
- "@appium/base-driver": "^9.0.0",
77
- "@appium/strongbox": "^0.x",
78
- "@appium/support": "^6.0.0",
79
- "appium-ios-device": "^2.9.0",
80
- "appium-ios-simulator": "^6.2.2",
75
+ "@appium/base-driver": "^10.0.0-rc.1",
76
+ "@appium/strongbox": "^1.0.0-rc.1",
77
+ "@appium/support": "^7.0.0-rc.1",
78
+ "appium-ios-device": "^3.0.0",
79
+ "appium-ios-simulator": "^7.0.0",
81
80
  "async-lock": "^1.0.0",
82
81
  "asyncbox": "^3.0.0",
83
82
  "axios": "^1.4.0",
84
83
  "bluebird": "^3.5.5",
85
84
  "lodash": "^4.17.11",
86
85
  "source-map-support": "^0.x",
87
- "teen_process": "^2.2.0"
86
+ "teen_process": "^3.0.0"
88
87
  },
89
88
  "files": [
90
89
  "index.ts",