appium-uiautomator2-driver 6.7.7 → 6.7.9

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.
Files changed (131) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/lib/doctor/optional-checks.d.ts +4 -4
  3. package/build/lib/doctor/optional-checks.d.ts.map +1 -1
  4. package/build/lib/doctor/optional-checks.js.map +1 -1
  5. package/build/lib/doctor/required-checks.d.ts +5 -21
  6. package/build/lib/doctor/required-checks.d.ts.map +1 -1
  7. package/build/lib/doctor/required-checks.js.map +1 -1
  8. package/build/lib/index.d.ts +4 -0
  9. package/build/lib/index.d.ts.map +1 -0
  10. package/build/{index.js → lib/index.js} +1 -1
  11. package/build/lib/index.js.map +1 -0
  12. package/build/test/functional/commands/file-movement-e2e-specs.d.ts +2 -0
  13. package/build/test/functional/commands/file-movement-e2e-specs.d.ts.map +1 -0
  14. package/build/test/functional/commands/file-movement-e2e-specs.js +100 -0
  15. package/build/test/functional/commands/file-movement-e2e-specs.js.map +1 -0
  16. package/build/test/functional/commands/find/by-accessibility-id-e2e-specs.d.ts +2 -0
  17. package/build/test/functional/commands/find/by-accessibility-id-e2e-specs.d.ts.map +1 -0
  18. package/build/test/functional/commands/find/by-accessibility-id-e2e-specs.js +64 -0
  19. package/build/test/functional/commands/find/by-accessibility-id-e2e-specs.js.map +1 -0
  20. package/build/test/functional/commands/find/by-css-e2e-specs.d.ts +2 -0
  21. package/build/test/functional/commands/find/by-css-e2e-specs.d.ts.map +1 -0
  22. package/build/test/functional/commands/find/by-css-e2e-specs.js +107 -0
  23. package/build/test/functional/commands/find/by-css-e2e-specs.js.map +1 -0
  24. package/build/test/functional/commands/find/by-id-e2e-specs.d.ts +2 -0
  25. package/build/test/functional/commands/find/by-id-e2e-specs.d.ts.map +1 -0
  26. package/build/test/functional/commands/find/by-id-e2e-specs.js +61 -0
  27. package/build/test/functional/commands/find/by-id-e2e-specs.js.map +1 -0
  28. package/build/test/functional/commands/find/by-image-e2e-specs.d.ts +2 -0
  29. package/build/test/functional/commands/find/by-image-e2e-specs.d.ts.map +1 -0
  30. package/build/test/functional/commands/find/by-image-e2e-specs.js +116 -0
  31. package/build/test/functional/commands/find/by-image-e2e-specs.js.map +1 -0
  32. package/build/test/functional/commands/find/by-uiautomator-e2e-specs.d.ts +2 -0
  33. package/build/test/functional/commands/find/by-uiautomator-e2e-specs.d.ts.map +1 -0
  34. package/build/test/functional/commands/find/by-uiautomator-e2e-specs.js +171 -0
  35. package/build/test/functional/commands/find/by-uiautomator-e2e-specs.js.map +1 -0
  36. package/build/test/functional/commands/find/by-xpath-e2e-specs.d.ts +2 -0
  37. package/build/test/functional/commands/find/by-xpath-e2e-specs.d.ts.map +1 -0
  38. package/build/test/functional/commands/find/by-xpath-e2e-specs.js +115 -0
  39. package/build/test/functional/commands/find/by-xpath-e2e-specs.js.map +1 -0
  40. package/build/test/functional/commands/find/find-basic-e2e-specs.d.ts +2 -0
  41. package/build/test/functional/commands/find/find-basic-e2e-specs.d.ts.map +1 -0
  42. package/build/test/functional/commands/find/find-basic-e2e-specs.js +99 -0
  43. package/build/test/functional/commands/find/find-basic-e2e-specs.js.map +1 -0
  44. package/build/test/functional/commands/find/find-system-ui-el-e2e-specs.d.ts +2 -0
  45. package/build/test/functional/commands/find/find-system-ui-el-e2e-specs.d.ts.map +1 -0
  46. package/build/test/functional/commands/find/find-system-ui-el-e2e-specs.js +66 -0
  47. package/build/test/functional/commands/find/find-system-ui-el-e2e-specs.js.map +1 -0
  48. package/build/test/functional/commands/find/from-el-e2e-specs.d.ts +2 -0
  49. package/build/test/functional/commands/find/from-el-e2e-specs.d.ts.map +1 -0
  50. package/build/test/functional/commands/find/from-el-e2e-specs.js +65 -0
  51. package/build/test/functional/commands/find/from-el-e2e-specs.js.map +1 -0
  52. package/build/test/functional/commands/find/invalid-strategy-e2e-specs.d.ts +2 -0
  53. package/build/test/functional/commands/find/invalid-strategy-e2e-specs.d.ts.map +1 -0
  54. package/build/test/functional/commands/find/invalid-strategy-e2e-specs.js +56 -0
  55. package/build/test/functional/commands/find/invalid-strategy-e2e-specs.js.map +1 -0
  56. package/build/test/functional/commands/general/attribute-e2e-specs.d.ts +2 -0
  57. package/build/test/functional/commands/general/attribute-e2e-specs.d.ts.map +1 -0
  58. package/build/test/functional/commands/general/attribute-e2e-specs.js +94 -0
  59. package/build/test/functional/commands/general/attribute-e2e-specs.js.map +1 -0
  60. package/build/test/functional/commands/general/context-e2e-specs.d.ts +2 -0
  61. package/build/test/functional/commands/general/context-e2e-specs.d.ts.map +1 -0
  62. package/build/test/functional/commands/general/context-e2e-specs.js +106 -0
  63. package/build/test/functional/commands/general/context-e2e-specs.js.map +1 -0
  64. package/build/test/functional/commands/general/element-e2e-specs.d.ts +2 -0
  65. package/build/test/functional/commands/general/element-e2e-specs.d.ts.map +1 -0
  66. package/build/test/functional/commands/general/element-e2e-specs.js +84 -0
  67. package/build/test/functional/commands/general/element-e2e-specs.js.map +1 -0
  68. package/build/test/functional/commands/general/general-e2e-specs.d.ts +2 -0
  69. package/build/test/functional/commands/general/general-e2e-specs.d.ts.map +1 -0
  70. package/build/test/functional/commands/general/general-e2e-specs.js +92 -0
  71. package/build/test/functional/commands/general/general-e2e-specs.js.map +1 -0
  72. package/build/test/functional/commands/general/mobile-command-e2e-specs.d.ts +2 -0
  73. package/build/test/functional/commands/general/mobile-command-e2e-specs.d.ts.map +1 -0
  74. package/build/test/functional/commands/general/mobile-command-e2e-specs.js +79 -0
  75. package/build/test/functional/commands/general/mobile-command-e2e-specs.js.map +1 -0
  76. package/build/test/functional/commands/general/network-e2e-specs.d.ts +2 -0
  77. package/build/test/functional/commands/general/network-e2e-specs.d.ts.map +1 -0
  78. package/build/test/functional/commands/general/network-e2e-specs.js +62 -0
  79. package/build/test/functional/commands/general/network-e2e-specs.js.map +1 -0
  80. package/build/test/functional/commands/general/source-e2e-specs.d.ts +2 -0
  81. package/build/test/functional/commands/general/source-e2e-specs.d.ts.map +1 -0
  82. package/build/test/functional/commands/general/source-e2e-specs.js +84 -0
  83. package/build/test/functional/commands/general/source-e2e-specs.js.map +1 -0
  84. package/build/test/functional/commands/general/url-e2e-specs.d.ts +2 -0
  85. package/build/test/functional/commands/general/url-e2e-specs.d.ts.map +1 -0
  86. package/build/test/functional/commands/general/url-e2e-specs.js +77 -0
  87. package/build/test/functional/commands/general/url-e2e-specs.js.map +1 -0
  88. package/build/test/functional/commands/keyboard/keyboard-e2e-specs.d.ts +2 -0
  89. package/build/test/functional/commands/keyboard/keyboard-e2e-specs.d.ts.map +1 -0
  90. package/build/test/functional/commands/keyboard/keyboard-e2e-specs.js +335 -0
  91. package/build/test/functional/commands/keyboard/keyboard-e2e-specs.js.map +1 -0
  92. package/build/test/functional/commands/orientation-e2e-specs.d.ts +2 -0
  93. package/build/test/functional/commands/orientation-e2e-specs.d.ts.map +1 -0
  94. package/build/test/functional/commands/orientation-e2e-specs.js +105 -0
  95. package/build/test/functional/commands/orientation-e2e-specs.js.map +1 -0
  96. package/build/test/functional/commands/strings-e2e-specs.d.ts +2 -0
  97. package/build/test/functional/commands/strings-e2e-specs.d.ts.map +1 -0
  98. package/build/test/functional/commands/strings-e2e-specs.js +77 -0
  99. package/build/test/functional/commands/strings-e2e-specs.js.map +1 -0
  100. package/build/test/functional/commands/viewport-e2e-specs.d.ts +2 -0
  101. package/build/test/functional/commands/viewport-e2e-specs.d.ts.map +1 -0
  102. package/build/test/functional/commands/viewport-e2e-specs.js +114 -0
  103. package/build/test/functional/commands/viewport-e2e-specs.js.map +1 -0
  104. package/build/test/functional/desired.d.ts +21 -0
  105. package/build/test/functional/desired.d.ts.map +1 -0
  106. package/build/test/functional/desired.js +64 -0
  107. package/build/test/functional/desired.js.map +1 -0
  108. package/build/test/functional/driver-e2e-specs.d.ts +2 -0
  109. package/build/test/functional/driver-e2e-specs.d.ts.map +1 -0
  110. package/build/test/functional/driver-e2e-specs.js +117 -0
  111. package/build/test/functional/driver-e2e-specs.js.map +1 -0
  112. package/build/test/functional/helpers/constants.d.ts +3 -0
  113. package/build/test/functional/helpers/constants.d.ts.map +1 -0
  114. package/build/test/functional/helpers/constants.js +6 -0
  115. package/build/test/functional/helpers/constants.js.map +1 -0
  116. package/build/test/functional/helpers/session.d.ts +6 -0
  117. package/build/test/functional/helpers/session.d.ts.map +1 -0
  118. package/build/test/functional/helpers/session.js +78 -0
  119. package/build/test/functional/helpers/session.js.map +1 -0
  120. package/build/tsconfig.tsbuildinfo +1 -1
  121. package/lib/doctor/optional-checks.ts +7 -0
  122. package/lib/doctor/required-checks.ts +8 -0
  123. package/{index.js → lib/index.ts} +2 -1
  124. package/npm-shrinkwrap.json +25 -25
  125. package/package.json +5 -9
  126. package/scripts/run-functional-tests.sh +1 -1
  127. package/build/index.d.ts +0 -4
  128. package/build/index.d.ts.map +0 -1
  129. package/build/index.js.map +0 -1
  130. package/lib/doctor/optional-checks.js +0 -5
  131. package/lib/doctor/required-checks.js +0 -6
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [6.7.9](https://github.com/appium/appium-uiautomator2-driver/compare/v6.7.8...v6.7.9) (2026-01-13)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * Bump appium-android-driver ([92ff8c7](https://github.com/appium/appium-uiautomator2-driver/commit/92ff8c7cc94aa6dd595d40cfc97055998503f4a1))
6
+
7
+ ## [6.7.8](https://github.com/appium/appium-uiautomator2-driver/compare/v6.7.7...v6.7.8) (2025-12-25)
8
+
9
+ ### Miscellaneous Chores
10
+
11
+ * Migrate index to typescript ([#972](https://github.com/appium/appium-uiautomator2-driver/issues/972)) ([381fadd](https://github.com/appium/appium-uiautomator2-driver/commit/381fadd7b3e53ad7fa9bd16e8e60d563ebfc8c24))
12
+
1
13
  ## [6.7.7](https://github.com/appium/appium-uiautomator2-driver/compare/v6.7.6...v6.7.7) (2025-12-24)
2
14
 
3
15
  ### Miscellaneous Chores
@@ -1,5 +1,5 @@
1
- export const optionalBundletoolCheck: doctor.OptionalBundletoolCheck;
2
- export const optionalGstreamerCheck: doctor.OptionalGstreamerCheck;
3
- export const optionalFfmpegCheck: doctor.OptionalFfmpegCheck;
4
- import { doctor } from 'appium-android-driver';
1
+ import type { IDoctorCheck } from '@appium/types';
2
+ export declare const optionalBundletoolCheck: IDoctorCheck;
3
+ export declare const optionalGstreamerCheck: IDoctorCheck;
4
+ export declare const optionalFfmpegCheck: IDoctorCheck;
5
5
  //# sourceMappingURL=optional-checks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"optional-checks.d.ts","sourceRoot":"","sources":["../../../lib/doctor/optional-checks.js"],"names":[],"mappings":"AAEA,qEAAsE;AACtE,mEAAoE;AACpE,6DAA8D;uBAJvC,uBAAuB"}
1
+ {"version":3,"file":"optional-checks.d.ts","sourceRoot":"","sources":["../../../lib/doctor/optional-checks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAEhD,eAAO,MAAM,uBAAuB,EAAE,YAA6C,CAAC;AACpF,eAAO,MAAM,sBAAsB,EAAE,YAA4C,CAAC;AAClF,eAAO,MAAM,mBAAmB,EAAE,YAAyC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"optional-checks.js","sourceRoot":"","sources":["../../../lib/doctor/optional-checks.js"],"names":[],"mappings":";;;AAAA,iEAA+C;AAElC,QAAA,uBAAuB,GAAG,8BAAM,CAAC,uBAAuB,CAAC;AACzD,QAAA,sBAAsB,GAAG,8BAAM,CAAC,sBAAsB,CAAC;AACvD,QAAA,mBAAmB,GAAG,8BAAM,CAAC,mBAAmB,CAAC"}
1
+ {"version":3,"file":"optional-checks.js","sourceRoot":"","sources":["../../../lib/doctor/optional-checks.ts"],"names":[],"mappings":";;;AAAA,iEAA6C;AAGhC,QAAA,uBAAuB,GAAiB,8BAAM,CAAC,uBAAuB,CAAC;AACvE,QAAA,sBAAsB,GAAiB,8BAAM,CAAC,sBAAsB,CAAC;AACrE,QAAA,mBAAmB,GAAiB,8BAAM,CAAC,mBAAmB,CAAC"}
@@ -1,22 +1,6 @@
1
- export const androidHomeCheck: {
2
- log: import("@appium/types").AppiumLogger;
3
- varName: string;
4
- opts: doctor.EnvVarCheckOptions;
5
- diagnose(): Promise<import("@appium/types").DoctorCheckResult>;
6
- fix(): Promise<string>;
7
- hasAutofix(): boolean;
8
- isOptional(): boolean;
9
- };
10
- export const javaHomeCheck: {
11
- log: import("@appium/types").AppiumLogger;
12
- varName: string;
13
- opts: doctor.EnvVarCheckOptions;
14
- diagnose(): Promise<import("@appium/types").DoctorCheckResult>;
15
- fix(): Promise<string>;
16
- hasAutofix(): boolean;
17
- isOptional(): boolean;
18
- };
19
- export const javaHomeValueCheck: doctor.JavaHomeValueCheck;
20
- export const androidSdkCheck: doctor.AndroidSdkCheck;
21
- import { doctor } from 'appium-android-driver';
1
+ import type { IDoctorCheck } from '@appium/types';
2
+ export declare const androidHomeCheck: IDoctorCheck;
3
+ export declare const javaHomeCheck: IDoctorCheck;
4
+ export declare const javaHomeValueCheck: IDoctorCheck;
5
+ export declare const androidSdkCheck: IDoctorCheck;
22
6
  //# sourceMappingURL=required-checks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"required-checks.d.ts","sourceRoot":"","sources":["../../../lib/doctor/required-checks.js"],"names":[],"mappings":"AAEA;;;;;;;;EAAwD;AACxD;;;;;;;;EAAkD;AAClD,2DAA4D;AAC5D,qDAAsD;uBAL/B,uBAAuB"}
1
+ {"version":3,"file":"required-checks.d.ts","sourceRoot":"","sources":["../../../lib/doctor/required-checks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAEhD,eAAO,MAAM,gBAAgB,EAAE,YAAsC,CAAC;AACtE,eAAO,MAAM,aAAa,EAAE,YAAmC,CAAC;AAChE,eAAO,MAAM,kBAAkB,EAAE,YAAwC,CAAC;AAC1E,eAAO,MAAM,eAAe,EAAE,YAAqC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"required-checks.js","sourceRoot":"","sources":["../../../lib/doctor/required-checks.js"],"names":[],"mappings":";;;AAAA,iEAA+C;AAElC,QAAA,gBAAgB,GAAG,8BAAM,CAAC,gBAAgB,CAAC;AAC3C,QAAA,aAAa,GAAG,8BAAM,CAAC,aAAa,CAAC;AACrC,QAAA,kBAAkB,GAAG,8BAAM,CAAC,kBAAkB,CAAC;AAC/C,QAAA,eAAe,GAAG,8BAAM,CAAC,eAAe,CAAC"}
1
+ {"version":3,"file":"required-checks.js","sourceRoot":"","sources":["../../../lib/doctor/required-checks.ts"],"names":[],"mappings":";;;AAAA,iEAA6C;AAGhC,QAAA,gBAAgB,GAAiB,8BAAM,CAAC,gBAAgB,CAAC;AACzD,QAAA,aAAa,GAAiB,8BAAM,CAAC,aAAa,CAAC;AACnD,QAAA,kBAAkB,GAAiB,8BAAM,CAAC,kBAAkB,CAAC;AAC7D,QAAA,eAAe,GAAiB,8BAAM,CAAC,eAAe,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { AndroidUiautomator2Driver } from './driver';
2
+ export { AndroidUiautomator2Driver };
3
+ export default AndroidUiautomator2Driver;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,yBAAyB,EAAC,MAAM,UAAU,CAAC;AAEnD,OAAO,EAAC,yBAAyB,EAAC,CAAC;AACnC,eAAe,yBAAyB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AndroidUiautomator2Driver = void 0;
4
- const driver_1 = require("./lib/driver");
4
+ const driver_1 = require("./driver");
5
5
  Object.defineProperty(exports, "AndroidUiautomator2Driver", { enumerable: true, get: function () { return driver_1.AndroidUiautomator2Driver; } });
6
6
  exports.default = driver_1.AndroidUiautomator2Driver;
7
7
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;AAAA,qCAAmD;AAE3C,0GAFA,kCAAyB,OAEA;AACjC,kBAAe,kCAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=file-movement-e2e-specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-movement-e2e-specs.d.ts","sourceRoot":"","sources":["../../../../test/functional/commands/file-movement-e2e-specs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const bluebird_1 = __importDefault(require("bluebird"));
40
+ const node_stream_1 = __importDefault(require("node:stream"));
41
+ const unzipper_1 = __importDefault(require("unzipper"));
42
+ const desired_1 = require("../desired");
43
+ const session_1 = require("../helpers/session");
44
+ const chai_1 = __importStar(require("chai"));
45
+ const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
46
+ chai_1.default.use(chai_as_promised_1.default);
47
+ describe('file movement', function () {
48
+ let driver;
49
+ before(async function () {
50
+ driver = await (0, session_1.initSession)(desired_1.APIDEMOS_CAPS);
51
+ });
52
+ after(async function () {
53
+ await (0, session_1.deleteSession)();
54
+ });
55
+ function getRandomDir() {
56
+ return `/data/local/tmp/test${Math.random()}`;
57
+ }
58
+ it('should push and pull a file', async function () {
59
+ const stringData = `random string data ${Math.random()}`;
60
+ const base64Data = Buffer.from(stringData).toString('base64');
61
+ const remotePath = `${getRandomDir()}/remote.txt`;
62
+ await driver.pushFile(remotePath, base64Data);
63
+ // get the file and its contents, to check
64
+ const remoteData64 = await driver.pullFile(remotePath);
65
+ const remoteData = Buffer.from(remoteData64, 'base64').toString();
66
+ (0, chai_1.expect)(remoteData).to.equal(stringData);
67
+ });
68
+ it('should pull a folder', async function () {
69
+ const stringData = `random string data ${Math.random()}`;
70
+ const base64Data = Buffer.from(stringData).toString('base64');
71
+ // send the files, then pull the whole folder
72
+ const remoteDir = getRandomDir();
73
+ await driver.pushFile(`${remoteDir}/remote0.txt`, base64Data);
74
+ await driver.pushFile(`${remoteDir}/remote1.txt`, base64Data);
75
+ // TODO: 'pullFolder' is returning 404 error
76
+ const data = await driver.pullFolder(remoteDir);
77
+ // go through the folder we pulled and make sure the
78
+ // two files we pushed are in it
79
+ const zipPromise = new bluebird_1.default((resolve) => {
80
+ let entryCount = 0;
81
+ const zipStream = new node_stream_1.default.Readable();
82
+ zipStream._read = () => { };
83
+ zipStream
84
+ .pipe(unzipper_1.default.Parse())
85
+ .on('entry', function (entry) {
86
+ if (entry.type === 'File') {
87
+ entryCount++;
88
+ }
89
+ entry.autodrain();
90
+ })
91
+ .on('close', function () {
92
+ resolve(entryCount);
93
+ });
94
+ zipStream.push(data, 'base64');
95
+ zipStream.push(null);
96
+ });
97
+ (0, chai_1.expect)(await zipPromise).to.equal(2);
98
+ });
99
+ });
100
+ //# sourceMappingURL=file-movement-e2e-specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-movement-e2e-specs.js","sourceRoot":"","sources":["../../../../test/functional/commands/file-movement-e2e-specs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=by-accessibility-id-e2e-specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"by-accessibility-id-e2e-specs.d.ts","sourceRoot":"","sources":["../../../../../test/functional/commands/find/by-accessibility-id-e2e-specs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const desired_1 = require("../../desired");
40
+ const session_1 = require("../../helpers/session");
41
+ const chai_1 = __importStar(require("chai"));
42
+ const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
43
+ chai_1.default.use(chai_as_promised_1.default);
44
+ describe('Find - accessibility ID', function () {
45
+ let driver;
46
+ before(async function () {
47
+ driver = await (0, session_1.initSession)(desired_1.APIDEMOS_CAPS);
48
+ });
49
+ after(async function () {
50
+ await (0, session_1.deleteSession)();
51
+ });
52
+ it('should find an element by name', async function () {
53
+ await (0, chai_1.expect)(driver.$('~Animation').elementId).to.eventually.exist;
54
+ });
55
+ it('should return an array of one element with findElements', async function () {
56
+ const els = await driver.$$('~Animation');
57
+ (0, chai_1.expect)(els).to.be.an.instanceof(Array);
58
+ (0, chai_1.expect)(els).to.have.length(1);
59
+ });
60
+ it('should find an element with a content-desc property containing an apostrophe', async function () {
61
+ await (0, chai_1.expect)(driver.$("~Access'ibility").elementId).to.eventually.exist;
62
+ });
63
+ });
64
+ //# sourceMappingURL=by-accessibility-id-e2e-specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"by-accessibility-id-e2e-specs.js","sourceRoot":"","sources":["../../../../../test/functional/commands/find/by-accessibility-id-e2e-specs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2CAA4C;AAC5C,mDAAiE;AACjE,6CAAkC;AAClC,wEAA8C;AAE9C,cAAI,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAC;AAEzB,QAAQ,CAAC,yBAAyB,EAAE;IAClC,IAAI,MAAe,CAAC;IAEpB,MAAM,CAAC,KAAK;QACV,MAAM,GAAG,MAAM,IAAA,qBAAW,EAAC,uBAAa,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAA,uBAAa,GAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,gCAAgC,EAAE,KAAK;QACxC,MAAM,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;IACrE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,yDAAyD,EAAE,KAAK;QACjE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QAC1C,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvC,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,8EAA8E,EAAE,KAAK;QACtF,MAAM,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=by-css-e2e-specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"by-css-e2e-specs.d.ts","sourceRoot":"","sources":["../../../../../test/functional/commands/find/by-css-e2e-specs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const desired_1 = require("../../desired");
40
+ const session_1 = require("../../helpers/session");
41
+ const chai_1 = __importStar(require("chai"));
42
+ const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
43
+ chai_1.default.use(chai_as_promised_1.default);
44
+ describe('Find - CSS', function () {
45
+ let driver;
46
+ before(async function () {
47
+ driver = await (0, session_1.initSession)(desired_1.APIDEMOS_CAPS);
48
+ });
49
+ after(async function () {
50
+ await (0, session_1.deleteSession)();
51
+ });
52
+ it('should find an element by id (android resource-id)', async function () {
53
+ await (0, chai_1.expect)(driver.$('#android\\:id\\/text1').elementId).to.eventually.exist;
54
+ await (0, chai_1.expect)(driver.$('*[id="android:id/text1"]').elementId).to.eventually.exist;
55
+ await (0, chai_1.expect)(driver.$('*[resource-id="android:id/text1"]').elementId).to.eventually.exist;
56
+ });
57
+ it('should find an element by content description', async function () {
58
+ await (0, chai_1.expect)(driver.$('*[description="Animation"]').elementId).to.eventually.exist;
59
+ });
60
+ it('should return an array with findElements', async function () {
61
+ const els = await driver.$$('*[content-desc="Animation"]');
62
+ (0, chai_1.expect)(els).to.be.an.instanceof(Array);
63
+ (0, chai_1.expect)(els).to.have.length(1);
64
+ });
65
+ it('should find an element with a content-desc property containing an apostrophe', async function () {
66
+ await (0, chai_1.expect)(driver.$('*[content-description="Access\'ibility"]').elementId).to.eventually.exist;
67
+ });
68
+ it('should find an element by class name', async function () {
69
+ const el = await driver.$('android.widget.TextView');
70
+ const text = await el.getText();
71
+ (0, chai_1.expect)(text.toLowerCase()).to.equal('api demos');
72
+ });
73
+ it('should find an element with a chain of attributes and pseudo-classes', async function () {
74
+ // TODO: webdriver selects 'class name' strategy.
75
+ // ref. https://github.com/webdriverio/webdriverio/blob/eba541a77dbc42173717e1c106a7c4d3ccb198f5/packages/webdriverio/src/utils/findStrategy.ts#L91-L96
76
+ this.skip();
77
+ const el = await driver.$('android.widget.TextView[clickable=true]:nth-child(1)');
78
+ await (0, chai_1.expect)(el.getText()).to.eventually.equal('Accessibility');
79
+ });
80
+ it('should find an element with recursive UiSelectors', async function () {
81
+ const els = await driver.$$('*[focused=true] *[clickable=true]');
82
+ (0, chai_1.expect)(els).to.have.length(1);
83
+ });
84
+ it('should find an element by a non-fully qualified class name using CSS tag name', async function () {
85
+ const els = await driver.$$('android.widget.TextView');
86
+ (0, chai_1.expect)(els.length).to.be.above(0);
87
+ });
88
+ it('should find elements using starts with attribute', async function () {
89
+ await (0, chai_1.expect)(driver.$('*[description^="Animation"]').elementId).to.eventually.exist;
90
+ });
91
+ it('should find elements using ends with attribute', async function () {
92
+ await (0, chai_1.expect)(driver.$('*[description$="Animation"]').elementId).to.eventually.exist;
93
+ });
94
+ it('should find elements using word match attribute', async function () {
95
+ await (0, chai_1.expect)(driver.$('*[description~="Animation"]').elementId).to.eventually.exist;
96
+ });
97
+ it('should find elements using wildcard attribute', async function () {
98
+ await (0, chai_1.expect)(driver.$('*[description*="Animation"]').elementId).to.eventually.exist;
99
+ });
100
+ it('should allow UiScrollable with unicode string', async function () {
101
+ await driver.startActivity('io.appium.android.apis', '.text.Unicode');
102
+ const selector = '*[text="عربي"]:instance(0)';
103
+ const el = await driver.$(selector);
104
+ await (0, chai_1.expect)(el.getText()).to.eventually.equal('عربي');
105
+ });
106
+ });
107
+ //# sourceMappingURL=by-css-e2e-specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"by-css-e2e-specs.js","sourceRoot":"","sources":["../../../../../test/functional/commands/find/by-css-e2e-specs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=by-id-e2e-specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"by-id-e2e-specs.d.ts","sourceRoot":"","sources":["../../../../../test/functional/commands/find/by-id-e2e-specs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const desired_1 = require("../../desired");
40
+ const session_1 = require("../../helpers/session");
41
+ const chai_1 = __importStar(require("chai"));
42
+ const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
43
+ chai_1.default.use(chai_as_promised_1.default);
44
+ describe('Find - ID', function () {
45
+ let driver;
46
+ before(async function () {
47
+ driver = await (0, session_1.initSession)(desired_1.APIDEMOS_CAPS);
48
+ });
49
+ after(async function () {
50
+ await (0, session_1.deleteSession)();
51
+ });
52
+ it('should find an element by id', async function () {
53
+ await (0, chai_1.expect)(driver.$('id=android:id/text1').elementId).to.eventually.exist;
54
+ });
55
+ it('should return an array of one element with findElements', async function () {
56
+ const els = await driver.$$('id=android:id/text1');
57
+ (0, chai_1.expect)(els).to.be.an.instanceof(Array);
58
+ (0, chai_1.expect)(els).to.have.length.above(1);
59
+ });
60
+ });
61
+ //# sourceMappingURL=by-id-e2e-specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"by-id-e2e-specs.js","sourceRoot":"","sources":["../../../../../test/functional/commands/find/by-id-e2e-specs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2CAA4C;AAC5C,mDAAiE;AACjE,6CAAkC;AAClC,wEAA8C;AAE9C,cAAI,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAC;AAEzB,QAAQ,CAAC,WAAW,EAAE;IACpB,IAAI,MAAe,CAAC;IAEpB,MAAM,CAAC,KAAK;QACV,MAAM,GAAG,MAAM,IAAA,qBAAW,EAAC,uBAAa,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAA,uBAAa,GAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,8BAA8B,EAAE,KAAK;QACtC,MAAM,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;IAC9E,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,yDAAyD,EAAE,KAAK;QACjE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC;QACnD,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvC,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=by-image-e2e-specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"by-image-e2e-specs.d.ts","sourceRoot":"","sources":["../../../../../test/functional/commands/find/by-image-e2e-specs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const bluebird_1 = __importDefault(require("bluebird"));
40
+ const node_path_1 = __importDefault(require("node:path"));
41
+ const desired_1 = require("../../desired");
42
+ const session_1 = require("../../helpers/session");
43
+ const chai_1 = __importStar(require("chai"));
44
+ const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
45
+ chai_1.default.use(chai_as_promised_1.default);
46
+ const START_IMG = node_path_1.default.resolve(__dirname, '..', '..', 'assets', 'start-button.png');
47
+ const STOP_IMG = node_path_1.default.resolve(__dirname, '..', '..', 'assets', 'stop-button.png');
48
+ const SQUARES_IMG = node_path_1.default.resolve(__dirname, '..', '..', 'assets', 'checkered-squares.png');
49
+ describe('Find - Image', function () {
50
+ let driver;
51
+ before(async function () {
52
+ // TODO: @appium/images-plugin needs to be installed
53
+ this.skip();
54
+ const caps = (0, desired_1.amendCapabilities)(desired_1.APIDEMOS_CAPS, {
55
+ 'appium:appActivity': '.view.ChronometerDemo',
56
+ });
57
+ driver = await (0, session_1.initSession)(caps);
58
+ // use the driver settings that cause the most code paths to be exercised
59
+ await driver.updateSettings({
60
+ fixImageTemplateSize: true,
61
+ autoUpdateImageElementPosition: true,
62
+ });
63
+ });
64
+ after(async function () {
65
+ await (0, session_1.deleteSession)();
66
+ });
67
+ it('should find image elements', async function () {
68
+ const els = await driver.$$(START_IMG);
69
+ (0, chai_1.expect)(els).to.have.length(1);
70
+ });
71
+ it('should find an image element', async function () {
72
+ const el = await driver.$(START_IMG);
73
+ const value = await el.getValue();
74
+ (0, chai_1.expect)(value).to.match(/appium-image-element/);
75
+ });
76
+ it('should not find an image element that is not matched', async function () {
77
+ await (0, chai_1.expect)(driver.$(SQUARES_IMG)).to.eventually.be.rejectedWith(/Error response status: 7/);
78
+ });
79
+ it('should find anything with a threshold low enough', async function () {
80
+ const { imageMatchThreshold } = await driver.getSettings();
81
+ await driver.updateSettings({ imageMatchThreshold: 0 });
82
+ try {
83
+ await (0, chai_1.expect)(driver.$(SQUARES_IMG).elementId).to.eventually.exist;
84
+ }
85
+ finally {
86
+ await driver.updateSettings({ imageMatchThreshold });
87
+ }
88
+ });
89
+ it('should be able to get basic element properties', async function () {
90
+ const el = await driver.$(START_IMG);
91
+ await (0, chai_1.expect)(el.isDisplayed()).to.eventually.be.true;
92
+ const size = await el.getSize();
93
+ (0, chai_1.expect)(size.width).to.be.above(0);
94
+ (0, chai_1.expect)(size.height).to.be.above(0);
95
+ const loc = await el.getLocation();
96
+ (0, chai_1.expect)(loc.x).to.be.at.least(0);
97
+ (0, chai_1.expect)(loc.y).to.be.at.least(0);
98
+ // TODO: getLocationInView requires an argument - skipping for now
99
+ // const locInView = await el.getLocationInView();
100
+ // expect(locInView.x).to.eql(loc.x);
101
+ // expect(locInView.y).to.eql(loc.y);
102
+ });
103
+ it('should be able to click an element', async function () {
104
+ // start and stop the chronometer using images, and then verify the time
105
+ await driver.$(START_IMG).click();
106
+ await bluebird_1.default.delay(3000);
107
+ await driver.$(STOP_IMG).click();
108
+ const readout = await driver.$("//*[contains(@text, 'Initial format')]");
109
+ const text = await readout.getText();
110
+ const match = /Initial format: \d\d:(\d\d)/.exec(text);
111
+ const secs = parseInt(match[1], 10);
112
+ (0, chai_1.expect)(secs).to.be.above(2);
113
+ (0, chai_1.expect)(secs).to.be.below(20);
114
+ });
115
+ });
116
+ //# sourceMappingURL=by-image-e2e-specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"by-image-e2e-specs.js","sourceRoot":"","sources":["../../../../../test/functional/commands/find/by-image-e2e-specs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=by-uiautomator-e2e-specs.d.ts.map