appium-android-driver 15.1.4 → 15.1.6

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
@@ -3,6 +3,20 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [15.1.6](https://github.com/appium/appium-android/compare/appium-android-driver@15.1.5...appium-android-driver@15.1.6) (2026-11-06)
7
+
8
+ ### Bug Fixes
9
+
10
+ * **driver-lib:** report an empty selector as an invalid selector ([#86](https://github.com/appium/appium-android/issues/86)) ([8daa770](https://github.com/appium/appium-android/commit/8daa770bb7f87b294567e3a689f55278a08e59f6))
11
+
12
+
13
+ ## [15.1.5](https://github.com/appium/appium-android/compare/appium-android-driver@15.1.4...appium-android-driver@15.1.5) (2026-11-06)
14
+
15
+ ### Bug Fixes
16
+
17
+ * **driver-lib:** wait for the keyguard to go away after a simple unlock ([#87](https://github.com/appium/appium-android/issues/87)) ([e221988](https://github.com/appium/appium-android/commit/e221988c0f45d00fbded38eff4e2802b61d81251))
18
+
19
+
6
20
  ## [15.1.4](https://github.com/appium/appium-android/compare/appium-android-driver@15.1.3...appium-android-driver@15.1.4) (2026-11-05)
7
21
 
8
22
  **Note:** Version bump only for package appium-android-driver
@@ -16,7 +16,7 @@ declare module '../driver.js' {
16
16
  * @param context The context (e.g., webview) in which to search. Defaults to empty string (native context).
17
17
  * @returns If `mult` is `false`, returns a single `Element` object.
18
18
  * If `mult` is `true`, returns an array of `Element` objects (may be empty).
19
- * @throws {Error} If `selector` is not provided.
19
+ * @throws {errors.InvalidSelectorError} If `selector` is not provided.
20
20
  * @throws {errors.NoSuchElementError} If a single element search fails and no element is found.
21
21
  */
22
22
  export declare function findElOrEls(this: AndroidDriver, strategy: string, selector: string, mult: true, context?: string): Promise<Element[]>;
@@ -2,7 +2,7 @@ import { util } from '@appium/support';
2
2
  import { errors, isErrorType } from 'appium/driver.js';
3
3
  export async function findElOrEls(strategy, selector, mult, context = '') {
4
4
  if (!selector) {
5
- throw new Error('Must provide a selector when finding elements');
5
+ throw new errors.InvalidSelectorError('Must provide a selector when finding elements');
6
6
  }
7
7
  const params = {
8
8
  strategy,
@@ -1 +1 @@
1
- {"version":3,"file":"find.js","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAsCrD,MAAM,CAAC,KAAK,UAAU,WAAW,CAE/B,QAAgB,EAChB,QAAgB,EAChB,IAAa,EACb,OAAO,GAAG,EAAE;IAEZ,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,MAAM,GAAoB;QAC9B,QAAQ;QACR,QAAQ;QACR,OAAO;QACP,QAAQ,EAAE,IAAI;KACf,CAAC;IAEF,IAAI,OAAwC,CAAC;IAC7C,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACxB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,qEAAqE;YACrE,+CAA+C;YAC/C,IAAI,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC/C,GAAG,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,mCAAmC;YACjE,CAAC;YAED,mEAAmE;YACnE,6DAA6D;YAC7D,gBAAgB;YAChB,IAAI,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAChD,+CAA+C;gBAC/C,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,8DAA8D;QAC9D,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAAU,CAAC;QACvB,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC1C,wDAAwD;YACxD,mDAAmD;YACnD,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,OAAoB,CAAC;IAC9B,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,OAAkB,CAAC;AAC5B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAsB,MAAuB;IACnF,KAAK,MAAM,CAAC;IACZ,MAAM,IAAI,MAAM,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"find.js","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAsCrD,MAAM,CAAC,KAAK,UAAU,WAAW,CAE/B,QAAgB,EAChB,QAAgB,EAChB,IAAa,EACb,OAAO,GAAG,EAAE;IAEZ,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,MAAM,CAAC,oBAAoB,CAAC,+CAA+C,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,MAAM,GAAoB;QAC9B,QAAQ;QACR,QAAQ;QACR,OAAO;QACP,QAAQ,EAAE,IAAI;KACf,CAAC;IAEF,IAAI,OAAwC,CAAC;IAC7C,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACxB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,qEAAqE;YACrE,+CAA+C;YAC/C,IAAI,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC/C,GAAG,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,mCAAmC;YACjE,CAAC;YAED,mEAAmE;YACnE,6DAA6D;YAC7D,gBAAgB;YAChB,IAAI,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAChD,+CAA+C;gBAC/C,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,8DAA8D;QAC9D,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAAU,CAAC;QACvB,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC1C,wDAAwD;YACxD,mDAAmD;YACnD,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,OAAoB,CAAC;IAC9B,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,OAAkB,CAAC;AAC5B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAsB,MAAuB;IACnF,KAAK,MAAM,CAAC;IACZ,MAAM,IAAI,MAAM,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;AAC1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../../lib/commands/lock/exports.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAC,aAAa,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AACtE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAkB5C,OAAO,QAAQ,iBAAiB,CAAC;IAC/B,UAAU,aAAa,CAAC,CAAC,SAAS,wBAAwB;QACxD,IAAI,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;QAChE,MAAM,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;QACtE,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;QACxF,QAAQ,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;KAC7E;CACF;AAED;;;;GAIG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY/E;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAEpE;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/D;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,aAAa,EACnB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,UAAU,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAWf;AAID;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,GAAE,iBAAiB,GAAG,IAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CjH"}
1
+ {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../../lib/commands/lock/exports.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAC,aAAa,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AACtE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAkB5C,OAAO,QAAQ,iBAAiB,CAAC;IAC/B,UAAU,aAAa,CAAC,CAAC,SAAS,wBAAwB;QACxD,IAAI,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;QAChE,MAAM,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;QACtE,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;QACxF,QAAQ,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;KAC7E;CACF;AAED;;;;GAIG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY/E;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAEpE;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/D;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,aAAa,EACnB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,UAAU,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAWf;AAID;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,GAAE,iBAAiB,GAAG,IAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAuDjH"}
@@ -72,6 +72,13 @@ export async function unlockWithOptions(caps = null) {
72
72
  this.log.info(`Neither 'unlockType' nor 'unlockKey' capability is provided. ` +
73
73
  `Assuming the device is locked with a simple lock screen.`);
74
74
  await this.adb.dismissKeyguard();
75
+ try {
76
+ await verifyUnlock.bind(this)(capabilities.unlockSuccessTimeout);
77
+ }
78
+ catch {
79
+ this.log.warn(`The device is still locked after dismissing the keyguard. ` +
80
+ `Provide 'unlockType' and 'unlockKey' if it has a secure lock screen.`);
81
+ }
75
82
  return;
76
83
  }
77
84
  const validated = validateUnlockCapabilities(capabilities);
@@ -1 +1 @@
1
- {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../../lib/commands/lock/exports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../../lib/commands/lock/exports.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ declare module '../driver.js' {
21
21
  * @param context The context (e.g., webview) in which to search. Defaults to empty string (native context).
22
22
  * @returns If `mult` is `false`, returns a single `Element` object.
23
23
  * If `mult` is `true`, returns an array of `Element` objects (may be empty).
24
- * @throws {Error} If `selector` is not provided.
24
+ * @throws {errors.InvalidSelectorError} If `selector` is not provided.
25
25
  * @throws {errors.NoSuchElementError} If a single element search fails and no element is found.
26
26
  */
27
27
  export async function findElOrEls(
@@ -46,7 +46,7 @@ export async function findElOrEls(
46
46
  context = '',
47
47
  ) {
48
48
  if (!selector) {
49
- throw new Error('Must provide a selector when finding elements');
49
+ throw new errors.InvalidSelectorError('Must provide a selector when finding elements');
50
50
  }
51
51
 
52
52
  const params: FindElementOpts = {
@@ -115,6 +115,14 @@ export async function unlockWithOptions(this: AndroidDriver, caps: AndroidDriver
115
115
  `Assuming the device is locked with a simple lock screen.`,
116
116
  );
117
117
  await this.adb.dismissKeyguard();
118
+ try {
119
+ await verifyUnlock.bind(this)(capabilities.unlockSuccessTimeout);
120
+ } catch {
121
+ this.log.warn(
122
+ `The device is still locked after dismissing the keyguard. ` +
123
+ `Provide 'unlockType' and 'unlockKey' if it has a secure lock screen.`,
124
+ );
125
+ }
118
126
  return;
119
127
  }
120
128
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-android-driver",
3
- "version": "15.1.4",
3
+ "version": "15.1.6",
4
4
  "description": "Android UiAutomator and Chrome support for Appium",
5
5
  "keywords": [
6
6
  "android",
@@ -79,5 +79,5 @@
79
79
  "node": "^22.22.2 || ^24.15.0 || >=26.0.0",
80
80
  "npm": ">=10"
81
81
  },
82
- "gitHead": "dfe10bc251ed9ad1d821ea1b71e7f1682e07662b"
82
+ "gitHead": "be954142af9e30822fd9220e0941e5e9cd4a19ac"
83
83
  }