appium-uiautomator2-driver 7.5.2 → 7.6.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,9 @@
1
+ ## [7.6.0](https://github.com/appium/appium-uiautomator2-driver/compare/v7.5.2...v7.6.0) (2026-06-04)
2
+
3
+ ### Features
4
+
5
+ * Automatically terminate obsolete sessions using device id to be claimed by the current one ([#1006](https://github.com/appium/appium-uiautomator2-driver/issues/1006)) ([9f71e9f](https://github.com/appium/appium-uiautomator2-driver/commit/9f71e9f0d072dce2ec049fa219f57feb660c8bf6))
6
+
1
7
  ## [7.5.2](https://github.com/appium/appium-uiautomator2-driver/compare/v7.5.1...v7.5.2) (2026-05-24)
2
8
 
3
9
  ### Miscellaneous Chores
package/README.md CHANGED
@@ -10,6 +10,8 @@ Appium UiAutomator2 Driver is a test automation framework for Android devices. A
10
10
 
11
11
  UiAutomator2 Driver proxies most of the commands to [UiAutomator2 server](https://github.com/appium/appium-uiautomator2-server), which uses Google's [UiAutomator](https://developer.android.com/training/testing/ui-automator) framework under the hood. Some commands are proxied directly to [appium-adb](https://github.com/appium/appium-adb) and other helpers built on top of Android platform tools.
12
12
 
13
+ See the [end-to-end architecture diagram](./docs/architecture.md).
14
+
13
15
  > [!IMPORTANT]
14
16
  > Since major version *5.0.0*, this driver is only compatible with Appium 3. Use the `appium driver install uiautomator2`
15
17
  > command to add it to your distribution.
@@ -1070,6 +1070,7 @@ declare class AndroidUiautomator2Driver extends AndroidDriver implements Externa
1070
1070
  createSession(w3cCaps1: W3CUiautomator2DriverCaps, w3cCaps2?: W3CUiautomator2DriverCaps, w3cCaps3?: W3CUiautomator2DriverCaps, driverData?: DriverData[]): Promise<any>;
1071
1071
  getDeviceDetails(): Promise<Uiautomator2DeviceDetails>;
1072
1072
  getSession(): Promise<SingularSessionData<Uiautomator2Constraints>>;
1073
+ onIpcInit(): Promise<void>;
1073
1074
  deleteSession(): Promise<void>;
1074
1075
  onSettingsUpdate(): Promise<void>;
1075
1076
  proxyActive(sessionId: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ const navigation_1 = require("./commands/navigation");
28
28
  const screenshot_1 = require("./commands/screenshot");
29
29
  const viewport_1 = require("./commands/viewport");
30
30
  const execute_method_map_1 = require("./execute-method-map");
31
+ const session_claim_handler_1 = require("./session-claim-handler");
31
32
  // NO_PROXY contains the paths that we never want to proxy to UiAutomator2 server.
32
33
  // TODO: Add the list of paths that we never want to proxy to UiAutomator2 server.
33
34
  // TODO: Need to segregate the paths better way using regular expressions wherever applicable.
@@ -277,6 +278,8 @@ class AndroidUiautomator2Driver extends appium_android_driver_1.AndroidDriver {
277
278
  this.opts.udid = udid;
278
279
  // @ts-expect-error do not put random stuff on opts
279
280
  this.opts.emPort = emPort;
281
+ await session_claim_handler_1.sessionClaimHandler.registerActiveSession(this);
282
+ await session_claim_handler_1.sessionClaimHandler.claimSessionUdid(this);
280
283
  // now that we know our java version and device info, we can create our
281
284
  // ADB instance
282
285
  this.adb = await this.createADB();
@@ -333,7 +336,11 @@ class AndroidUiautomator2Driver extends appium_android_driver_1.AndroidDriver {
333
336
  const uia2Data = (await this.requireUiautomator2().jwproxy.command('/', 'GET', {}));
334
337
  return { ...sessionData, ...uia2Data };
335
338
  }
339
+ async onIpcInit() {
340
+ await session_claim_handler_1.sessionClaimHandler.registerActiveSession(this);
341
+ }
336
342
  async deleteSession() {
343
+ session_claim_handler_1.sessionClaimHandler.unregisterActiveSession(this);
337
344
  this.log.debug('Deleting UiAutomator2 session');
338
345
  const screenRecordingStopTasks = [
339
346
  async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
- export declare const log: import("@appium/types").AppiumLogger;
1
+ import type { AppiumLogger } from '@appium/types';
2
+ export declare const log: AppiumLogger;
2
3
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,GAAG,sCAAmC,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAEhD,eAAO,MAAM,GAAG,EAAE,YAA+C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":";;;AAAA,4CAAsC;AAEzB,QAAA,GAAG,GAAG,gBAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":";;;AAAA,4CAAsC;AAGzB,QAAA,GAAG,GAAiB,gBAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { IAppiumIpc } from '@appium/types';
2
+ import type { AndroidUiautomator2Driver } from './driver';
3
+ export type SessionUdidIpcMessage = {
4
+ udid: string;
5
+ sessionId: string;
6
+ };
7
+ type IpcProvider = () => Promise<IAppiumIpc | undefined>;
8
+ export declare class SessionClaimHandler {
9
+ private readonly getIpc;
10
+ static readonly CLAIMED_TOPIC = "uiautomator2:sessionUdidClaimed";
11
+ static readonly CONTENDED_TOPIC = "uiautomator2:sessionUdidContended";
12
+ static readonly RELEASED_TOPIC = "uiautomator2:sessionUdidReleased";
13
+ private static readonly CONTENTION_PROBE_MS;
14
+ private static readonly RELEASE_WAIT_MS;
15
+ private readonly subscriptionsBySessionId;
16
+ constructor(getIpc: IpcProvider);
17
+ /** Subscribe the current session to udid claim messages from other sessions. */
18
+ registerActiveSession(driver: AndroidUiautomator2Driver): Promise<void>;
19
+ /** Unsubscribe the current session from udid claim messages. */
20
+ unregisterActiveSession(driver: AndroidUiautomator2Driver): void;
21
+ /** Publish this session's udid so any existing session on the same device can terminate. */
22
+ claimSessionUdid(driver: AndroidUiautomator2Driver): Promise<void>;
23
+ private dispatchSessionUdidMessage;
24
+ private handleSessionUdidMessage;
25
+ private publishSessionUdidContended;
26
+ private terminateSessionOnRequest;
27
+ private publishSessionUdidReleased;
28
+ private getPublisherId;
29
+ private isMatchingSessionUdidMessage;
30
+ }
31
+ export declare const sessionClaimHandler: SessionClaimHandler;
32
+ export {};
33
+ //# sourceMappingURL=session-claim-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-claim-handler.d.ts","sourceRoot":"","sources":["../../lib/session-claim-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,UAAU,EAA+B,MAAM,eAAe,CAAC;AAI1F,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,UAAU,CAAC;AAGxD,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAGF,KAAK,WAAW,GAAG,MAAM,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;AAEzD,qBAAa,mBAAmB;IAalB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAZnC,MAAM,CAAC,QAAQ,CAAC,aAAa,qCAAqC;IAClE,MAAM,CAAC,QAAQ,CAAC,eAAe,uCAAuC;IACtE,MAAM,CAAC,QAAQ,CAAC,cAAc,sCAAsC;IAEpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAM;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAS;IAEhD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAGrC;gBAEyB,MAAM,EAAE,WAAW;IAEhD,gFAAgF;IAC1E,qBAAqB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB7E,gEAAgE;IAChE,uBAAuB,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI;IAUhE,4FAA4F;IACtF,gBAAgB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;YAyF1D,0BAA0B;YAc1B,wBAAwB;YA4BxB,2BAA2B;YAoB3B,yBAAyB;YAkBzB,0BAA0B;IAsBxC,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,4BAA4B;CAOrC;AAWD,eAAO,MAAM,mBAAmB,qBAAyC,CAAC"}
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sessionClaimHandler = exports.SessionClaimHandler = void 0;
4
+ exports.setSharedIpcForTesting = setSharedIpcForTesting;
5
+ exports.resetDriverInstanceIpcForTesting = resetDriverInstanceIpcForTesting;
6
+ const support_1 = require("appium/support");
7
+ const asyncbox_1 = require("asyncbox");
8
+ const promises_1 = require("node:timers/promises");
9
+ const utils_1 = require("./utils");
10
+ class SessionClaimHandler {
11
+ getIpc;
12
+ static CLAIMED_TOPIC = 'uiautomator2:sessionUdidClaimed';
13
+ static CONTENDED_TOPIC = 'uiautomator2:sessionUdidContended';
14
+ static RELEASED_TOPIC = 'uiautomator2:sessionUdidReleased';
15
+ static CONTENTION_PROBE_MS = 10;
16
+ static RELEASE_WAIT_MS = 15000;
17
+ subscriptionsBySessionId = new Map();
18
+ constructor(getIpc) {
19
+ this.getIpc = getIpc;
20
+ }
21
+ /** Subscribe the current session to udid claim messages from other sessions. */
22
+ async registerActiveSession(driver) {
23
+ const ipc = await this.getIpc();
24
+ const udid = driver.opts.udid;
25
+ const sessionId = driver.sessionId;
26
+ if (!ipc || !udid || !sessionId) {
27
+ return;
28
+ }
29
+ this.unregisterActiveSession(driver);
30
+ const subscription = ipc.subscribe(SessionClaimHandler.CLAIMED_TOPIC, this.getPublisherId(driver));
31
+ subscription.on('message', (message) => {
32
+ void this.dispatchSessionUdidMessage(driver, udid, sessionId, message);
33
+ });
34
+ this.subscriptionsBySessionId.set(sessionId, subscription);
35
+ }
36
+ /** Unsubscribe the current session from udid claim messages. */
37
+ unregisterActiveSession(driver) {
38
+ const sessionId = driver.sessionId;
39
+ if (!sessionId) {
40
+ return;
41
+ }
42
+ this.subscriptionsBySessionId.get(sessionId)?.unsubscribe();
43
+ this.subscriptionsBySessionId.delete(sessionId);
44
+ }
45
+ /** Publish this session's udid so any existing session on the same device can terminate. */
46
+ async claimSessionUdid(driver) {
47
+ const ipc = await this.getIpc();
48
+ if (!ipc) {
49
+ driver.log.debug('Driver-instance IPC is unavailable. Skipping publication of the session udid.');
50
+ return;
51
+ }
52
+ const udid = driver.opts.udid;
53
+ const sessionId = driver.sessionId;
54
+ if (!udid || !sessionId) {
55
+ driver.log.debug('The session udid is not known yet. Skipping udid publication.');
56
+ return;
57
+ }
58
+ const contendingSessionIds = new Set();
59
+ const releasedSessionIds = new Set();
60
+ const contendedSubscription = ipc.subscribe(SessionClaimHandler.CONTENDED_TOPIC, this.getPublisherId(driver));
61
+ const releasedSubscription = ipc.subscribe(SessionClaimHandler.RELEASED_TOPIC, this.getPublisherId(driver));
62
+ contendedSubscription.on('message', (message) => {
63
+ if (this.isMatchingSessionUdidMessage(message, udid, sessionId)) {
64
+ contendingSessionIds.add(message.data.sessionId);
65
+ }
66
+ });
67
+ releasedSubscription.on('message', (message) => {
68
+ if (this.isMatchingSessionUdidMessage(message, udid, sessionId)) {
69
+ releasedSessionIds.add(message.data.sessionId);
70
+ }
71
+ });
72
+ try {
73
+ await ipc.publish(SessionClaimHandler.CLAIMED_TOPIC, this.getPublisherId(driver), {
74
+ udid,
75
+ sessionId,
76
+ });
77
+ await (0, promises_1.setTimeout)(SessionClaimHandler.CONTENTION_PROBE_MS);
78
+ if (contendingSessionIds.size === 0) {
79
+ return;
80
+ }
81
+ try {
82
+ await (0, asyncbox_1.waitForCondition)(() => [...contendingSessionIds].every((id) => releasedSessionIds.has(id)), {
83
+ waitMs: SessionClaimHandler.RELEASE_WAIT_MS,
84
+ intervalMs: 50,
85
+ });
86
+ driver.log.debug(`Received release confirmation from ` +
87
+ `${support_1.util.pluralize('session', contendingSessionIds.size, true)} for udid '${udid}'`);
88
+ }
89
+ catch {
90
+ const pendingSessionIds = [...contendingSessionIds].filter((id) => !releasedSessionIds.has(id));
91
+ driver.log.warn(`Timed out after ${SessionClaimHandler.RELEASE_WAIT_MS}ms waiting for ` +
92
+ `${support_1.util.pluralize('session', pendingSessionIds.length, true)} ` +
93
+ `[${pendingSessionIds.join(', ')}] to release udid '${udid}'. ` +
94
+ `Proceeding with session startup.`);
95
+ }
96
+ }
97
+ finally {
98
+ contendedSubscription.unsubscribe();
99
+ releasedSubscription.unsubscribe();
100
+ }
101
+ }
102
+ /** @internal Exposed for unit tests. */
103
+ resetForTesting() {
104
+ for (const subscription of this.subscriptionsBySessionId.values()) {
105
+ subscription.unsubscribe();
106
+ }
107
+ this.subscriptionsBySessionId.clear();
108
+ }
109
+ async dispatchSessionUdidMessage(driver, udid, sessionId, message) {
110
+ try {
111
+ await this.handleSessionUdidMessage(driver, udid, message);
112
+ }
113
+ catch (err) {
114
+ const msg = err instanceof Error ? err.message : String(err);
115
+ driver.log.warn(`Could not handle udid claim IPC message for session '${sessionId}': ${msg}`);
116
+ }
117
+ }
118
+ async handleSessionUdidMessage(driver, udid, message) {
119
+ if (!this.isMatchingSessionUdidMessage(message, udid, driver.sessionId ?? undefined)) {
120
+ return;
121
+ }
122
+ try {
123
+ await this.publishSessionUdidContended(driver, udid);
124
+ }
125
+ catch (err) {
126
+ const msg = err instanceof Error ? err.message : String(err);
127
+ driver.log.warn(`Could not publish udid contention message for session '${driver.sessionId}': ${msg}`);
128
+ }
129
+ driver.log.warn(`Session '${message.data.sessionId}' is starting on udid '${udid}', which is already in use ` +
130
+ `by another session identified by ${driver.sessionId}. Running multiple parallel sessions on the same ` +
131
+ `device is highly discouraged. Consider enabling the Appium server's '--session-override' flag ` +
132
+ `and make sure to properly quit the previous session before starting a new one. ` +
133
+ `Terminating the obsolete session.`);
134
+ await this.terminateSessionOnRequest(driver, udid);
135
+ }
136
+ async publishSessionUdidContended(driver, udid) {
137
+ const ipc = await this.getIpc();
138
+ const sessionId = driver.sessionId ?? undefined;
139
+ if (!ipc || !udid || !sessionId) {
140
+ return;
141
+ }
142
+ await ipc.publish(SessionClaimHandler.CONTENDED_TOPIC, this.getPublisherId(driver), {
143
+ udid,
144
+ sessionId,
145
+ });
146
+ }
147
+ async terminateSessionOnRequest(driver, udid) {
148
+ const sessionId = driver.sessionId ?? undefined;
149
+ const publisherId = sessionId ? this.getPublisherId(driver) : undefined;
150
+ const { log } = driver;
151
+ try {
152
+ await driver.deleteSession();
153
+ }
154
+ catch (err) {
155
+ const msg = err instanceof Error ? err.message : String(err);
156
+ log.warn(`Could not terminate session '${sessionId}' on IPC request: ${msg}`);
157
+ }
158
+ await this.publishSessionUdidReleased(log, udid, sessionId, publisherId);
159
+ }
160
+ async publishSessionUdidReleased(log, udid, sessionId, publisherId) {
161
+ try {
162
+ const ipc = await this.getIpc();
163
+ if (!ipc || !udid || !sessionId || !publisherId) {
164
+ return;
165
+ }
166
+ await ipc.publish(SessionClaimHandler.RELEASED_TOPIC, publisherId, {
167
+ udid,
168
+ sessionId,
169
+ });
170
+ }
171
+ catch (err) {
172
+ const msg = err instanceof Error ? err.message : String(err);
173
+ log.warn(`Could not publish udid release message for session '${sessionId}': ${msg}`);
174
+ }
175
+ }
176
+ getPublisherId(driver) {
177
+ return support_1.node.getObjectId(driver);
178
+ }
179
+ isMatchingSessionUdidMessage(message, udid, sessionId) {
180
+ return message.data.udid === udid && message.data.sessionId !== sessionId;
181
+ }
182
+ }
183
+ exports.SessionClaimHandler = SessionClaimHandler;
184
+ const loadSharedIpc = (0, utils_1.memoize)(async function loadSharedIpc() {
185
+ try {
186
+ const { AppiumIpc } = (await import('appium/driver.js'));
187
+ return AppiumIpc ? new AppiumIpc() : undefined;
188
+ }
189
+ catch {
190
+ return undefined;
191
+ }
192
+ });
193
+ exports.sessionClaimHandler = new SessionClaimHandler(loadSharedIpc);
194
+ /**
195
+ * @internal Exposed for unit tests.
196
+ */
197
+ function setSharedIpcForTesting(ipc) {
198
+ loadSharedIpc.cache.set(undefined, Promise.resolve(ipc));
199
+ }
200
+ /**
201
+ * @internal Exposed for unit tests.
202
+ */
203
+ function resetDriverInstanceIpcForTesting() {
204
+ exports.sessionClaimHandler.resetForTesting();
205
+ loadSharedIpc.cache.clear();
206
+ }
207
+ //# sourceMappingURL=session-claim-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-claim-handler.js","sourceRoot":"","sources":["../../lib/session-claim-handler.ts"],"names":[],"mappings":"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"}
package/lib/driver.ts CHANGED
@@ -121,6 +121,7 @@ import {
121
121
  mobileViewPortRect,
122
122
  } from './commands/viewport';
123
123
  import {executeMethodMap} from './execute-method-map';
124
+ import {sessionClaimHandler} from './session-claim-handler';
124
125
 
125
126
  // NO_PROXY contains the paths that we never want to proxy to UiAutomator2 server.
126
127
  // TODO: Add the list of paths that we never want to proxy to UiAutomator2 server.
@@ -426,6 +427,10 @@ class AndroidUiautomator2Driver
426
427
  this.opts.udid = udid;
427
428
  // @ts-expect-error do not put random stuff on opts
428
429
  this.opts.emPort = emPort;
430
+
431
+ await sessionClaimHandler.registerActiveSession(this);
432
+ await sessionClaimHandler.claimSessionUdid(this);
433
+
429
434
  // now that we know our java version and device info, we can create our
430
435
  // ADB instance
431
436
  this.adb = await this.createADB();
@@ -499,7 +504,13 @@ class AndroidUiautomator2Driver
499
504
  return {...sessionData, ...uia2Data};
500
505
  }
501
506
 
507
+ async onIpcInit(): Promise<void> {
508
+ await sessionClaimHandler.registerActiveSession(this);
509
+ }
510
+
502
511
  override async deleteSession() {
512
+ sessionClaimHandler.unregisterActiveSession(this);
513
+
503
514
  this.log.debug('Deleting UiAutomator2 session');
504
515
 
505
516
  const screenRecordingStopTasks = [
package/lib/logger.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  import {logger} from 'appium/support';
2
+ import type {AppiumLogger} from '@appium/types';
2
3
 
3
- export const log = logger.getLogger('UiAutomator2');
4
+ export const log: AppiumLogger = logger.getLogger('UiAutomator2');