appium-xcuitest-driver 7.7.0 → 7.7.2

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 (134) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/build/lib/app-utils.d.ts.map +1 -1
  3. package/build/lib/app-utils.js +1 -2
  4. package/build/lib/app-utils.js.map +1 -1
  5. package/build/lib/commands/activeAppInfo.d.ts +1 -1
  6. package/build/lib/commands/activeAppInfo.d.ts.map +1 -1
  7. package/build/lib/commands/alert.d.ts +6 -6
  8. package/build/lib/commands/alert.d.ts.map +1 -1
  9. package/build/lib/commands/app-management.d.ts +13 -13
  10. package/build/lib/commands/app-management.d.ts.map +1 -1
  11. package/build/lib/commands/app-management.js +9 -6
  12. package/build/lib/commands/app-management.js.map +1 -1
  13. package/build/lib/commands/app-strings.d.ts +1 -1
  14. package/build/lib/commands/app-strings.d.ts.map +1 -1
  15. package/build/lib/commands/appearance.d.ts +2 -2
  16. package/build/lib/commands/appearance.d.ts.map +1 -1
  17. package/build/lib/commands/appearance.js +2 -4
  18. package/build/lib/commands/appearance.js.map +1 -1
  19. package/build/lib/commands/audit.d.ts +1 -1
  20. package/build/lib/commands/audit.d.ts.map +1 -1
  21. package/build/lib/commands/battery.d.ts +1 -1
  22. package/build/lib/commands/battery.d.ts.map +1 -1
  23. package/build/lib/commands/biometric.d.ts +3 -3
  24. package/build/lib/commands/biometric.d.ts.map +1 -1
  25. package/build/lib/commands/certificate.d.ts +2 -2
  26. package/build/lib/commands/certificate.d.ts.map +1 -1
  27. package/build/lib/commands/certificate.js +1 -2
  28. package/build/lib/commands/certificate.js.map +1 -1
  29. package/build/lib/commands/clipboard.d.ts +2 -2
  30. package/build/lib/commands/clipboard.d.ts.map +1 -1
  31. package/build/lib/commands/condition.d.ts +3 -3
  32. package/build/lib/commands/condition.d.ts.map +1 -1
  33. package/build/lib/commands/context.d.ts +20 -20
  34. package/build/lib/commands/context.d.ts.map +1 -1
  35. package/build/lib/commands/context.js +1 -2
  36. package/build/lib/commands/context.js.map +1 -1
  37. package/build/lib/commands/deviceInfo.d.ts +1 -1
  38. package/build/lib/commands/deviceInfo.d.ts.map +1 -1
  39. package/build/lib/commands/element.d.ts +18 -18
  40. package/build/lib/commands/element.d.ts.map +1 -1
  41. package/build/lib/commands/file-movement.d.ts +8 -8
  42. package/build/lib/commands/file-movement.d.ts.map +1 -1
  43. package/build/lib/commands/find.d.ts +4 -4
  44. package/build/lib/commands/find.d.ts.map +1 -1
  45. package/build/lib/commands/general.d.ts +19 -19
  46. package/build/lib/commands/general.d.ts.map +1 -1
  47. package/build/lib/commands/geolocation.d.ts +3 -3
  48. package/build/lib/commands/geolocation.d.ts.map +1 -1
  49. package/build/lib/commands/gesture.d.ts +19 -19
  50. package/build/lib/commands/gesture.d.ts.map +1 -1
  51. package/build/lib/commands/iohid.d.ts +1 -1
  52. package/build/lib/commands/keyboard.d.ts +4 -4
  53. package/build/lib/commands/keyboard.d.ts.map +1 -1
  54. package/build/lib/commands/keychains.d.ts +1 -1
  55. package/build/lib/commands/keychains.d.ts.map +1 -1
  56. package/build/lib/commands/localization.d.ts +1 -1
  57. package/build/lib/commands/localization.d.ts.map +1 -1
  58. package/build/lib/commands/location.d.ts +3 -3
  59. package/build/lib/commands/location.d.ts.map +1 -1
  60. package/build/lib/commands/lock.d.ts +3 -3
  61. package/build/lib/commands/lock.d.ts.map +1 -1
  62. package/build/lib/commands/log.d.ts +4 -4
  63. package/build/lib/commands/log.d.ts.map +1 -1
  64. package/build/lib/commands/memory.d.ts +1 -1
  65. package/build/lib/commands/memory.d.ts.map +1 -1
  66. package/build/lib/commands/memory.js +1 -2
  67. package/build/lib/commands/memory.js.map +1 -1
  68. package/build/lib/commands/navigation.d.ts +5 -5
  69. package/build/lib/commands/navigation.d.ts.map +1 -1
  70. package/build/lib/commands/notifications.d.ts +2 -2
  71. package/build/lib/commands/notifications.d.ts.map +1 -1
  72. package/build/lib/commands/pasteboard.d.ts +2 -2
  73. package/build/lib/commands/pasteboard.d.ts.map +1 -1
  74. package/build/lib/commands/pcap.d.ts +2 -2
  75. package/build/lib/commands/pcap.d.ts.map +1 -1
  76. package/build/lib/commands/performance.d.ts +2 -2
  77. package/build/lib/commands/performance.d.ts.map +1 -1
  78. package/build/lib/commands/permissions.d.ts +3 -3
  79. package/build/lib/commands/permissions.d.ts.map +1 -1
  80. package/build/lib/commands/proxy-helper.d.ts +1 -1
  81. package/build/lib/commands/proxy-helper.d.ts.map +1 -1
  82. package/build/lib/commands/record-audio.d.ts +2 -2
  83. package/build/lib/commands/record-audio.d.ts.map +1 -1
  84. package/build/lib/commands/recordscreen.d.ts +2 -2
  85. package/build/lib/commands/recordscreen.d.ts.map +1 -1
  86. package/build/lib/commands/screenshots.d.ts +3 -3
  87. package/build/lib/commands/screenshots.d.ts.map +1 -1
  88. package/build/lib/commands/source.d.ts +2 -2
  89. package/build/lib/commands/source.d.ts.map +1 -1
  90. package/build/lib/commands/timeouts.d.ts +7 -7
  91. package/build/lib/commands/timeouts.d.ts.map +1 -1
  92. package/build/lib/commands/web.d.ts +32 -32
  93. package/build/lib/commands/web.d.ts.map +1 -1
  94. package/build/lib/commands/web.js +5 -10
  95. package/build/lib/commands/web.js.map +1 -1
  96. package/build/lib/commands/xctest-record-screen.d.ts +2 -2
  97. package/build/lib/commands/xctest-record-screen.d.ts.map +1 -1
  98. package/build/lib/commands/xctest.d.ts +4 -4
  99. package/build/lib/commands/xctest.d.ts.map +1 -1
  100. package/build/lib/css-converter.d.ts.map +1 -1
  101. package/build/lib/css-converter.js +5 -15
  102. package/build/lib/css-converter.js.map +1 -1
  103. package/build/lib/desired-caps.d.ts +4 -0
  104. package/build/lib/desired-caps.d.ts.map +1 -1
  105. package/build/lib/desired-caps.js +3 -0
  106. package/build/lib/desired-caps.js.map +1 -1
  107. package/build/lib/driver.d.ts +54 -65
  108. package/build/lib/driver.d.ts.map +1 -1
  109. package/build/lib/driver.js +61 -72
  110. package/build/lib/driver.js.map +1 -1
  111. package/build/lib/real-device-management.d.ts +4 -4
  112. package/build/lib/real-device-management.d.ts.map +1 -1
  113. package/build/lib/simulator-management.d.ts +8 -8
  114. package/build/lib/simulator-management.d.ts.map +1 -1
  115. package/build/lib/types.d.ts +0 -18
  116. package/build/lib/types.d.ts.map +1 -1
  117. package/build/lib/utils.d.ts +4 -1
  118. package/build/lib/utils.d.ts.map +1 -1
  119. package/build/lib/utils.js +4 -1
  120. package/build/lib/utils.js.map +1 -1
  121. package/lib/app-utils.js +1 -2
  122. package/lib/commands/app-management.js +9 -7
  123. package/lib/commands/appearance.js +2 -4
  124. package/lib/commands/certificate.js +1 -2
  125. package/lib/commands/context.js +2 -2
  126. package/lib/commands/memory.js +1 -2
  127. package/lib/commands/web.js +3 -7
  128. package/lib/css-converter.js +17 -15
  129. package/lib/desired-caps.js +3 -0
  130. package/lib/driver.js +68 -75
  131. package/lib/types.ts +0 -19
  132. package/lib/utils.js +4 -1
  133. package/npm-shrinkwrap.json +9 -9
  134. package/package.json +1 -1
@@ -1,12 +1,3 @@
1
- export default XCUITestDriver;
2
- export type ExternalDriver<C extends import("@appium/types").Constraints, Ctx = string> = import('@appium/types').ExternalDriver<C, Ctx>;
3
- export type XCUITestDriverConstraints = typeof desiredCapConstraints;
4
- export type XCUITestDriverOpts = import('@appium/types').DriverOpts<XCUITestDriverConstraints>;
5
- export type FullContext = import('./commands/types').FullContext;
6
- export type WDACapabilities = import('./types').WDACapabilities;
7
- export type XcodeVersion = import('appium-xcode').XcodeVersion;
8
- export type Simulator = import('appium-ios-simulator').Simulator;
9
- export type RealDevice = import('./real-device').RealDevice;
10
1
  /**
11
2
  * @implements {ExternalDriver<XCUITestDriverConstraints, FullContext|string>}
12
3
  * @extends {BaseDriver<XCUITestDriverConstraints>}
@@ -344,15 +335,15 @@ export class XCUITestDriver extends BaseDriver<{
344
335
  readonly isBoolean: true;
345
336
  };
346
337
  readonly shouldTerminateApp: {
347
- /** @type {string[]} */
348
338
  readonly isBoolean: true;
349
339
  };
350
340
  readonly forceAppLaunch: {
341
+ /** @type {string|null} */
351
342
  readonly isBoolean: true;
352
343
  };
353
344
  readonly useNativeCachingStrategy: {
354
345
  readonly isBoolean: true;
355
- }; /** @type {import('./types').CalibrationData|null} */
346
+ };
356
347
  readonly appInstallStrategy: {
357
348
  readonly isString: true;
358
349
  readonly inclusionCaseInsensitive: readonly ["serial", "parallel", "ios-deploy"];
@@ -366,6 +357,9 @@ export class XCUITestDriver extends BaseDriver<{
366
357
  readonly skipSyncUiDialogTranslation: {
367
358
  readonly isBoolean: true;
368
359
  };
360
+ readonly forceSimulatorSoftwareKeyboardPresence: {
361
+ readonly isBoolean: true;
362
+ };
369
363
  }, import("@appium/types").StringRecord, import("@appium/types").StringRecord, import("@appium/types").DefaultCreateSessionResult<{
370
364
  readonly platformName: {
371
365
  readonly presence: true;
@@ -697,15 +691,15 @@ export class XCUITestDriver extends BaseDriver<{
697
691
  readonly isBoolean: true;
698
692
  };
699
693
  readonly shouldTerminateApp: {
700
- /** @type {string[]} */
701
694
  readonly isBoolean: true;
702
695
  };
703
696
  readonly forceAppLaunch: {
697
+ /** @type {string|null} */
704
698
  readonly isBoolean: true;
705
699
  };
706
700
  readonly useNativeCachingStrategy: {
707
701
  readonly isBoolean: true;
708
- }; /** @type {import('./types').CalibrationData|null} */
702
+ };
709
703
  readonly appInstallStrategy: {
710
704
  readonly isString: true;
711
705
  readonly inclusionCaseInsensitive: readonly ["serial", "parallel", "ios-deploy"];
@@ -719,6 +713,9 @@ export class XCUITestDriver extends BaseDriver<{
719
713
  readonly skipSyncUiDialogTranslation: {
720
714
  readonly isBoolean: true;
721
715
  };
716
+ readonly forceSimulatorSoftwareKeyboardPresence: {
717
+ readonly isBoolean: true;
718
+ };
722
719
  }>, void, import("@appium/types").StringRecord> implements ExternalDriver<XCUITestDriverConstraints, FullContext | string> {
723
720
  static newMethodMap: {
724
721
  readonly '/session/:sessionId/timeouts/async_script': {
@@ -1111,13 +1108,10 @@ export class XCUITestDriver extends BaseDriver<{
1111
1108
  };
1112
1109
  readonly 'mobile: stopPerfRecord': {
1113
1110
  readonly command: "mobileStopPerfRecord";
1114
- /** @type {string[]} */
1115
1111
  readonly params: {
1116
1112
  readonly optional: readonly ["remotePath", "user", "pass", "method", "profileName", "headers", "fileFieldName", "formFields"];
1117
1113
  };
1118
- }; /**
1119
- * @type {import('./types').Page[]|undefined}
1120
- */
1114
+ };
1121
1115
  readonly 'mobile: installCertificate': {
1122
1116
  readonly command: "mobileInstallCertificate";
1123
1117
  readonly params: {
@@ -1126,13 +1120,11 @@ export class XCUITestDriver extends BaseDriver<{
1126
1120
  };
1127
1121
  };
1128
1122
  readonly 'mobile: removeCertificate': {
1129
- /** @type {((logRecord: {message: string}) => void)|null} */
1130
1123
  readonly command: "mobileRemoveCertificate";
1131
1124
  readonly params: {
1132
1125
  readonly required: readonly ["name"];
1133
1126
  };
1134
1127
  };
1135
- /** @type {import('./commands/performance').PerfRecorder[]} */
1136
1128
  readonly 'mobile: listCertificates': {
1137
1129
  readonly command: "mobileListCertificates";
1138
1130
  };
@@ -1142,6 +1134,7 @@ export class XCUITestDriver extends BaseDriver<{
1142
1134
  readonly 'mobile: stopLogsBroadcast': {
1143
1135
  readonly command: "mobileStopLogsBroadcast";
1144
1136
  };
1137
+ /** @type {boolean|undefined} */
1145
1138
  readonly 'mobile: batteryInfo': {
1146
1139
  readonly command: "mobileGetBatteryInfo";
1147
1140
  };
@@ -1157,7 +1150,7 @@ export class XCUITestDriver extends BaseDriver<{
1157
1150
  readonly 'mobile: getDeviceTime': {
1158
1151
  readonly command: "mobileGetDeviceTime";
1159
1152
  readonly params: {
1160
- readonly optional: readonly ["format"];
1153
+ readonly optional: readonly ["format"]; /** @type {XcodeVersion|undefined} */
1161
1154
  };
1162
1155
  };
1163
1156
  readonly 'mobile: activeAppInfo': {
@@ -1471,6 +1464,10 @@ export class XCUITestDriver extends BaseDriver<{
1471
1464
  xcodeVersion: XcodeVersion | undefined;
1472
1465
  /** @type {import('./commands/pcap').TrafficCapture|null} */
1473
1466
  _trafficCapture: import('./commands/pcap').TrafficCapture | null;
1467
+ /** @type {Simulator|RealDevice} */
1468
+ _device: Simulator | RealDevice;
1469
+ /** @type {string|null} */
1470
+ _iosSdkVersion: string | null;
1474
1471
  settings: DeviceSettings<{
1475
1472
  nativeWebTap: boolean;
1476
1473
  nativeWebTapStrict: boolean;
@@ -1841,15 +1838,15 @@ export class XCUITestDriver extends BaseDriver<{
1841
1838
  readonly isBoolean: true;
1842
1839
  };
1843
1840
  readonly shouldTerminateApp: {
1844
- /** @type {string[]} */
1845
1841
  readonly isBoolean: true;
1846
1842
  };
1847
1843
  readonly forceAppLaunch: {
1844
+ /** @type {string|null} */
1848
1845
  readonly isBoolean: true;
1849
1846
  };
1850
1847
  readonly useNativeCachingStrategy: {
1851
1848
  readonly isBoolean: true;
1852
- }; /** @type {import('./types').CalibrationData|null} */
1849
+ };
1853
1850
  readonly appInstallStrategy: {
1854
1851
  readonly isString: true;
1855
1852
  readonly inclusionCaseInsensitive: readonly ["serial", "parallel", "ios-deploy"];
@@ -1863,6 +1860,9 @@ export class XCUITestDriver extends BaseDriver<{
1863
1860
  readonly skipSyncUiDialogTranslation: {
1864
1861
  readonly isBoolean: true;
1865
1862
  };
1863
+ readonly forceSimulatorSoftwareKeyboardPresence: {
1864
+ readonly isBoolean: true;
1865
+ };
1866
1866
  }>]>;
1867
1867
  mjpegStream: mjpeg.MJpegStream | undefined;
1868
1868
  /**
@@ -1877,9 +1877,8 @@ export class XCUITestDriver extends BaseDriver<{
1877
1877
  initSimulator(): Promise<void>;
1878
1878
  /**
1879
1879
  * Start WebDriverAgentRunner
1880
- * @param {string} sessionId - The id of the target session to launch WDA with.
1881
1880
  */
1882
- startWda(sessionId: string): Promise<void>;
1881
+ startWda(): Promise<void>;
1883
1882
  /**
1884
1883
  *
1885
1884
  * @param {boolean} [enforceSimulatorShutdown=false]
@@ -1923,59 +1922,29 @@ export class XCUITestDriver extends BaseDriver<{
1923
1922
  proxyActive(): boolean;
1924
1923
  getProxyAvoidList(): import("@appium/types").RouteMatcher[];
1925
1924
  canProxy(): boolean;
1925
+ /**
1926
+ * @returns {boolean}
1927
+ */
1926
1928
  isSafari(): boolean;
1927
1929
  /**
1928
- *
1929
1930
  * @returns {boolean}
1930
1931
  */
1931
1932
  isRealDevice(): boolean;
1932
- isSimulator(): boolean;
1933
- validateLocatorStrategy(strategy: any): void;
1934
1933
  /**
1935
- * @typedef {Object} AutInstallationStateOptions
1936
- * @property {Pick<XCUITestDriverOpts, "enforceAppInstall">} enforceAppInstall
1937
- * @property {Pick<XCUITestDriverOpts, "fullReset">} fullReset
1938
- * @property {Pick<XCUITestDriverOpts, "noReset">} noReset
1939
- * @property {Pick<XCUITestDriverOpts, "bundleId">} bundleId
1940
- * @property {Pick<XCUITestDriverOpts, "app">} app
1941
- * @property {Object} device - Real device object or simulator object
1934
+ * @returns {boolean}
1942
1935
  */
1936
+ isSimulator(): boolean;
1943
1937
  /**
1944
- * @typedef {Object} AutInstallationState
1945
- * @property {boolean} install - If the given app should install, or not need to install.
1946
- * @property {boolean} skipUninstall - If the installed app should be uninstalled, or not.
1947
- * /
1948
-
1938
+ * @param {string} strategy
1939
+ */
1940
+ validateLocatorStrategy(strategy: string): void;
1949
1941
  /**
1950
1942
  * Check if the given app can be installed, or should uninstall before installing it.
1951
1943
  *
1952
1944
  * @param {AutInstallationStateOptions} [opts]
1953
1945
  * @returns {Promise<AutInstallationState>}
1954
1946
  */
1955
- checkAutInstallationState(opts?: {
1956
- enforceAppInstall: Pick<XCUITestDriverOpts, "enforceAppInstall">;
1957
- fullReset: Pick<XCUITestDriverOpts, "fullReset">;
1958
- noReset: Pick<XCUITestDriverOpts, "noReset">;
1959
- bundleId: Pick<XCUITestDriverOpts, "bundleId">;
1960
- app: Pick<XCUITestDriverOpts, "app">;
1961
- /**
1962
- * - Real device object or simulator object
1963
- */
1964
- device: any;
1965
- } | undefined): Promise<{
1966
- /**
1967
- * - If the given app should install, or not need to install.
1968
- */
1969
- install: boolean;
1970
- /**
1971
- * - If the installed app should be uninstalled, or not.
1972
- * /
1973
- *
1974
- * /**
1975
- * Check if the given app can be installed, or should uninstall before installing it.
1976
- */
1977
- skipUninstall: boolean;
1978
- }>;
1947
+ checkAutInstallationState(opts?: AutInstallationStateOptions | undefined): Promise<AutInstallationState>;
1979
1948
  installAUT(): Promise<void>;
1980
1949
  /**
1981
1950
  * @param {string|string[]} otherApps
@@ -2048,7 +2017,7 @@ export class XCUITestDriver extends BaseDriver<{
2048
2017
  listWebFrames: (this: XCUITestDriver, useUrl?: boolean) => Promise<any>;
2049
2018
  mobileGetContexts: (this: XCUITestDriver, waitForWebviewMs?: number) => Promise<import("./commands/types").Context[]>;
2050
2019
  onPageChange: (this: XCUITestDriver, pageChangeNotification: import("./commands/types").PageChangeNotification) => Promise<void>;
2051
- useNewSafari: (this: XCUITestDriver) => any;
2020
+ useNewSafari: (this: XCUITestDriver) => boolean;
2052
2021
  getCurrentUrl: (this: XCUITestDriver) => any;
2053
2022
  getNewRemoteDebugger: (this: XCUITestDriver) => Promise<any>;
2054
2023
  getRecentWebviewContextId: (this: XCUITestDriver, titleRegExp: RegExp, urlRegExp: RegExp) => Promise<string | undefined>;
@@ -3595,9 +3564,29 @@ export class XCUITestDriver extends BaseDriver<{
3595
3564
  mobileGetXctestScreenRecordingInfo: () => Promise<import("./commands/xctest-record-screen").XcTestScreenRecordingInfo | null>;
3596
3565
  mobileStopXctestScreenRecording: (this: XCUITestDriver, remotePath?: string | undefined, user?: string | undefined, pass?: string | undefined, headers?: import("@appium/types").HTTPHeaders | undefined, fileFieldName?: string | undefined, formFields?: [string, any][] | Record<string, any> | undefined, method?: "PUT" | "POST" | "PATCH" | undefined) => Promise<import("./commands/xctest-record-screen").XcTestScreenRecording>;
3597
3566
  }
3598
- import { desiredCapConstraints } from './desired-caps';
3567
+ export default XCUITestDriver;
3568
+ export type ExternalDriver<C extends import("@appium/types").Constraints, Ctx = string> = import('@appium/types').ExternalDriver<C, Ctx>;
3569
+ export type AutInstallationStateOptions = Pick<XCUITestDriverOpts, 'enforceAppInstall' | 'fullReset' | 'noReset' | 'bundleId' | 'app'>;
3570
+ export type AutInstallationState = {
3571
+ /**
3572
+ * - If the given app should install, or not need to install.
3573
+ */
3574
+ install: boolean;
3575
+ /**
3576
+ * - If the installed app should be uninstalled, or not.
3577
+ */
3578
+ skipUninstall: boolean;
3579
+ };
3580
+ export type XCUITestDriverConstraints = typeof desiredCapConstraints;
3581
+ export type XCUITestDriverOpts = import('@appium/types').DriverOpts<XCUITestDriverConstraints>;
3582
+ export type FullContext = import('./commands/types').FullContext;
3583
+ export type WDACapabilities = import('./types').WDACapabilities;
3584
+ export type XcodeVersion = import('appium-xcode').XcodeVersion;
3585
+ export type Simulator = import('appium-ios-simulator').Simulator;
3586
+ export type RealDevice = import('./real-device').RealDevice;
3599
3587
  import { BaseDriver } from 'appium/driver';
3600
3588
  import { LRUCache } from 'lru-cache';
3601
3589
  import { DeviceSettings } from 'appium/driver';
3602
3590
  import { mjpeg } from 'appium/support';
3591
+ import { desiredCapConstraints } from './desired-caps';
3603
3592
  //# sourceMappingURL=driver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6DAA2E;IAM3E,8DAAyE;IAMzE,gGAAwD;IACxD,6EAAoE;IACpE,4DAA8D;IAC9D,yJAAoD;IAMpD,6QAA0F;IAM1F;;;;OAA4D;IAC5D,yIAA4D;IAC5D,oEAAoF;IAKpF,qFAAoC;IACpC,gDAAwC;IACxC,qDAA4C;IAM5C;;qCAAiD;IACjD,wDAA6D;IAC7D,4DAAyD;IACzD,kEAA2E;IAC3E,iEAAyE;IAMzE,8CAA0C;IAC1C,iDAAgD;IAChD,oDAAwD;IACxD,uDAAsD;IACtD,oGAA8D;IAM9D,mIAAiF;IACjF,gKAAqF;IAMrF,iGAAwE;IACxE,kFAAwE;IAMxE,wGAA0D;IAC1D,0DAAwD;IAKxD,6IAA6E;IAC7E,yWAA2E;IAM3E,gFAA6E;IAC7E,2KAAyE;IACzE,4LAA2E;IAM3E,iNAA2D;IAM3D,yPAAyE;IACzE,8DAAuE;IAMvE,+EAA8E;IAC9E,8IAA4E;IAC5E,uIAA0E;IAK1E,yDAA4D;IAC5D,sEAA0E;IAC1E,iEAA4E;IAK5E,sDAAwD;IACxD,sJAA4D;IAM5D,qEAAmE;IACnE,yEAA2E;IAC3E,mEAA+D;IAE/D,wEAAmE;IACnE,4DAAmE;IACnE,+DAAyE;IAKzE,8DAA2C;IAC3C,mFAAuD;IACvD,sGAAuC;IACvC,iDAAyC;IACzC,+CAAuC;IACvC,8CAAqC;IACrC,mDAA+C;IAC/C,gEAA6C;IAC7C,uEAAmD;IACnD,uDAAqD;IACrD,mEAAqD;IACrD,wDAAyD;IACzD,+DAA2D;IAC3D,iHAAiD;IACjD,iGAA2D;IAC3D,wJAAyD;IACzD,0FAAyE;IACzE,oCAAmD;IACnD,mFAAmD;IACnD,oHAA2E;IAC3E,8EAAuD;IACvD,8DAA6D;IAC7D,qFAAiE;IACjE,+DAA+D;IAC/D,qGAA2F;IAC3F,mHAA+E;IAC/E,+DAAmD;IACnD,8GAA+D;IAC/D,0DAAqD;IACrD,2EAAiD;IACjD,uEAAmD;IACnD,sDAAiE;IACjE,qHAAuH;IACvH,+HAAqF;IAKrF,oTAA4D;IAC5D,sFAAgF;IAChF,qEAA4E;IAC5E,2FAAwF;IAKxF,+LAA0G;IAC1G,8HAA8G;IAC9G,yaAAwG;CACzG;;0FAgBY,OAAO,eAAe,EAAE,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC;0CAI9C,KAAK,kBAAkB,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC;;;;;aAK3F,OAAO;;;;mBACP,OAAO;;wCAIR,4BAA4B;iCAC5B,OAAO,eAAe,EAAE,UAAU,CAAC,yBAAyB,CAAC;0BAC7D,OAAO,kBAAkB,EAAE,WAAW;8BACtC,OAAO,SAAS,EAAE,eAAe;2BACjC,OAAO,cAAc,EAAE,YAAY;wBACnC,OAAO,sBAAsB,EAAE,SAAS;yBACxC,OAAO,eAAe,EAAE,UAAU;2BAltEE,eAAe;yBAMzC,WAAW;+BANe,eAAe;sBAC1B,gBAAgB;sCAsBlB,gBAAgB"}
@@ -558,8 +558,6 @@ class XCUITestDriver extends driver_1.BaseDriver {
558
558
  resetIos() {
559
559
  this.opts = this.opts || {};
560
560
  this.wda = null;
561
- // @ts-expect-error - do not assign arbitrary properties to `this.opts`
562
- this.opts.device = null;
563
561
  this.jwpProxyActive = false;
564
562
  this.proxyReqRes = null;
565
563
  this.safari = false;
@@ -614,8 +612,7 @@ class XCUITestDriver extends driver_1.BaseDriver {
614
612
  * @returns {Simulator|RealDevice}
615
613
  */
616
614
  get device() {
617
- // @ts-ignore This property should exist
618
- return this.opts?.device;
615
+ return this._device;
619
616
  }
620
617
  isXcodebuildNeeded() {
621
618
  return !(CAP_NAMES_NO_XCODEBUILD_REQUIRED.some((x) => Boolean(this.opts[x])));
@@ -623,8 +620,6 @@ class XCUITestDriver extends driver_1.BaseDriver {
623
620
  async createSession(w3cCaps1, w3cCaps2, w3cCaps3, driverData) {
624
621
  try {
625
622
  let [sessionId, caps] = await super.createSession(w3cCaps1, w3cCaps2, w3cCaps3, driverData);
626
- // @ts-expect-error - do not assign arbitrary properties to `this.opts`
627
- this.opts.sessionId = sessionId;
628
623
  // merge cli args to opts, and if we did merge any, revalidate opts to ensure the final set
629
624
  // is also consistent
630
625
  if (this.mergeCliArgsToOpts()) {
@@ -652,20 +647,16 @@ class XCUITestDriver extends driver_1.BaseDriver {
652
647
  elementResponseAttributes: DEFAULT_SETTINGS.elementResponseAttributes,
653
648
  shouldUseCompactResponses: DEFAULT_SETTINGS.shouldUseCompactResponses,
654
649
  };
655
- if (lodash_1.default.has(this.opts, 'elementResponseAttributes')) {
656
- // @ts-expect-error - do not assign arbitrary properties to `this.opts`
650
+ if ('elementResponseAttributes' in this.opts && lodash_1.default.isString(this.opts.elementResponseAttributes)) {
657
651
  wdaSettings.elementResponseAttributes = this.opts.elementResponseAttributes;
658
652
  }
659
- if (lodash_1.default.has(this.opts, 'shouldUseCompactResponses')) {
660
- // @ts-expect-error - do not assign arbitrary properties to `this.opts`
653
+ if ('shouldUseCompactResponses' in this.opts && lodash_1.default.isBoolean(this.opts.shouldUseCompactResponses)) {
661
654
  wdaSettings.shouldUseCompactResponses = this.opts.shouldUseCompactResponses;
662
655
  }
663
- if (lodash_1.default.has(this.opts, 'mjpegServerScreenshotQuality')) {
664
- // @ts-expect-error - do not assign arbitrary properties to `this.opts`
656
+ if ('mjpegServerScreenshotQuality' in this.opts && lodash_1.default.isNumber(this.opts.mjpegServerScreenshotQuality)) {
665
657
  wdaSettings.mjpegServerScreenshotQuality = this.opts.mjpegServerScreenshotQuality;
666
658
  }
667
- if (lodash_1.default.has(this.opts, 'mjpegServerFramerate')) {
668
- // @ts-expect-error - do not assign arbitrary properties to `this.opts`
659
+ if ('mjpegServerFramerate' in this.opts && lodash_1.default.isNumber(this.opts.mjpegServerFramerate)) {
669
660
  wdaSettings.mjpegServerFramerate = this.opts.mjpegServerFramerate;
670
661
  }
671
662
  if (lodash_1.default.has(this.opts, 'screenshotQuality')) {
@@ -703,16 +694,11 @@ class XCUITestDriver extends driver_1.BaseDriver {
703
694
  this.opts.noReset = !!this.opts.noReset;
704
695
  this.opts.fullReset = !!this.opts.fullReset;
705
696
  await (0, utils_1.printUser)();
706
- // @ts-expect-error - do not assign arbitrary properties to `this.opts`
707
- this.opts.iosSdkVersion = null; // For WDA and xcodebuild
697
+ this._iosSdkVersion = null; // For WDA and xcodebuild
708
698
  const { device, udid, realDevice } = await this.determineDevice();
709
699
  this.log.info(`Determining device to run tests on: udid: '${udid}', real device: ${realDevice}`);
710
- // TODO: extract device out of opts to a separate driver property
711
- // @ts-expect-error - do not assign arbitrary properties to `this.opts`
712
- this.opts.device = device;
700
+ this._device = device;
713
701
  this.opts.udid = udid;
714
- // @ts-expect-error - do not assign arbitrary properties to `this.opts`
715
- this.opts.realDevice = realDevice;
716
702
  if (this.opts.simulatorDevicesSetPath) {
717
703
  if (realDevice) {
718
704
  this.log.info(`The 'simulatorDevicesSetPath' capability is only supported for Simulator devices`);
@@ -732,8 +718,7 @@ class XCUITestDriver extends driver_1.BaseDriver {
732
718
  this.log.info(`Normalized platformVersion capability value '${this.opts.platformVersion}' to '${normalizedVersion}'`);
733
719
  this.opts.platformVersion = normalizedVersion;
734
720
  }
735
- // @ts-expect-error - do not assign arbitrary properties to `this.opts`
736
- if (lodash_1.default.isEmpty(this.xcodeVersion) && (this.isXcodebuildNeeded() || !this.opts.realDevice)) {
721
+ if (lodash_1.default.isEmpty(this.xcodeVersion) && (this.isXcodebuildNeeded() || this.isSimulator())) {
737
722
  // no `webDriverAgentUrl`, or on a simulator, so we need an Xcode version
738
723
  this.xcodeVersion = await (0, utils_1.getAndCheckXcodeVersion)();
739
724
  }
@@ -760,7 +745,12 @@ class XCUITestDriver extends driver_1.BaseDriver {
760
745
  }
761
746
  await this.runReset();
762
747
  this.wda = new appium_webdriveragent_1.WebDriverAgent(
763
- /** @type {import('appium-xcode').XcodeVersion} */ (this.xcodeVersion), this.opts, this.log);
748
+ /** @type {import('appium-xcode').XcodeVersion} */ (this.xcodeVersion), {
749
+ ...this.opts,
750
+ device: this.device,
751
+ realDevice: this.isRealDevice(),
752
+ iosSdkVersion: this._iosSdkVersion,
753
+ }, this.log);
764
754
  // Derived data path retrieval is an expensive operation
765
755
  // We could start that now in background and get the cached result
766
756
  // whenever it is needed
@@ -816,8 +806,7 @@ class XCUITestDriver extends driver_1.BaseDriver {
816
806
  await this.device[methodName](this.opts.bundleId);
817
807
  }
818
808
  }
819
- // @ts-expect-error - do not assign arbitrary properties to `this.opts`
820
- await this.startWda(this.opts.sessionId);
809
+ await this.startWda();
821
810
  if (lodash_1.default.isString(this.opts.orientation)) {
822
811
  await this.setInitialOrientation(this.opts.orientation);
823
812
  this.logEvent('orientationSet');
@@ -882,9 +871,8 @@ class XCUITestDriver extends driver_1.BaseDriver {
882
871
  }
883
872
  /**
884
873
  * Start WebDriverAgentRunner
885
- * @param {string} sessionId - The id of the target session to launch WDA with.
886
874
  */
887
- async startWda(sessionId) {
875
+ async startWda() {
888
876
  // Don't cleanup the processes if webDriverAgentUrl is set
889
877
  if (!support_1.util.hasValue(this.wda.webDriverAgentUrl)) {
890
878
  await this.wda.cleanupObsoleteProcesses();
@@ -966,7 +954,7 @@ class XCUITestDriver extends driver_1.BaseDriver {
966
954
  if (this.opts.usePreinstalledWDA) {
967
955
  await this.preparePreinstalledWda();
968
956
  }
969
- this.cachedWdaStatus = await this.wda.launch(sessionId);
957
+ this.cachedWdaStatus = await this.wda.launch(/** @type {string} */ (this.sessionId));
970
958
  }
971
959
  catch (err) {
972
960
  this.logEvent('wdaStartFailed');
@@ -977,14 +965,22 @@ class XCUITestDriver extends driver_1.BaseDriver {
977
965
  errorMsg += `. Make sure you follow the tutorial at ${WDA_REAL_DEV_TUTORIAL_URL}`;
978
966
  }
979
967
  if (this.opts.usePreinstalledWDA) {
980
- // In case the bundle id process start got failed because of
981
- // auth popup in the device. Then, the bundle id process itself started. It is safe to stop it here.
982
- await this.mobileKillApp(this.wda.bundleIdForXctest);
968
+ try {
969
+ // In case the bundle id process start got failed because of
970
+ // auth popup in the device. Then, the bundle id process itself started. It is safe to stop it here.
971
+ await this.mobileKillApp(this.wda.bundleIdForXctest);
972
+ }
973
+ catch (ign) { }
974
+ ;
983
975
  // Mostly it failed to start the WDA process as no the bundle id
984
976
  // e.g. '<bundle id of WDA> not found on device <udid>'
985
- throw new Error(`Unable to launch WebDriverAgent. Original error: ${err.message}. ` +
986
- `Make sure the application ${this.wda.bundleIdForXctest} exists and it is launchable. ` +
987
- `${WDA_REAL_DEV_TUTORIAL_URL} may help to complete the preparation.`);
977
+ errorMsg = `Unable to launch WebDriverAgent. Original error: ${err.message}. ` +
978
+ `Make sure the application ${this.wda.bundleIdForXctest} exists and it is launchable.`;
979
+ if (this.isRealDevice()) {
980
+ errorMsg += ` ${WDA_REAL_DEV_TUTORIAL_URL} may help to complete the preparation.`;
981
+ }
982
+ ;
983
+ throw new Error(errorMsg);
988
984
  }
989
985
  else {
990
986
  await quitAndUninstall(errorMsg);
@@ -1266,14 +1262,12 @@ class XCUITestDriver extends driver_1.BaseDriver {
1266
1262
  // if we get generic names, translate them
1267
1263
  this.opts.deviceName = (0, utils_1.translateDeviceName)(this.opts.platformVersion, this.opts.deviceName);
1268
1264
  const setupVersionCaps = async () => {
1269
- const iosSdkVersion = await (0, utils_1.getAndCheckIosSdkVersion)();
1270
- // @ts-expect-error - do not assign arbitrary properties to `this.opts`
1271
- this.opts.iosSdkVersion = iosSdkVersion;
1272
- this.log.info(`iOS SDK Version set to '${iosSdkVersion}'`);
1273
- if (!this.opts.platformVersion && iosSdkVersion) {
1274
- this.log.info(`No platformVersion specified. Using the latest version Xcode supports: '${iosSdkVersion}'. ` +
1265
+ this._iosSdkVersion = await (0, utils_1.getAndCheckIosSdkVersion)();
1266
+ this.log.info(`iOS SDK Version set to '${this._iosSdkVersion}'`);
1267
+ if (!this.opts.platformVersion && this._iosSdkVersion) {
1268
+ this.log.info(`No platformVersion specified. Using the latest version Xcode supports: '${this._iosSdkVersion}'. ` +
1275
1269
  `This may cause problems if a simulator does not exist for this platform version.`);
1276
- this.opts.platformVersion = (0, utils_1.normalizePlatformVersion)(iosSdkVersion);
1270
+ this.opts.platformVersion = (0, utils_1.normalizePlatformVersion)(this._iosSdkVersion);
1277
1271
  }
1278
1272
  };
1279
1273
  if (this.opts.udid) {
@@ -1428,9 +1422,7 @@ class XCUITestDriver extends driver_1.BaseDriver {
1428
1422
  shouldTerminateApp: this.opts.shouldTerminateApp ?? true,
1429
1423
  forceAppLaunch: this.opts.forceAppLaunch ?? true,
1430
1424
  useNativeCachingStrategy: this.opts.useNativeCachingStrategy ?? true,
1431
- forceSimulatorSoftwareKeyboardPresence:
1432
- // @ts-expect-error - do not assign arbitrary properties to `this.opts`
1433
- this.opts.forceSimulatorSoftwareKeyboardPresence ??
1425
+ forceSimulatorSoftwareKeyboardPresence: this.opts.forceSimulatorSoftwareKeyboardPresence ??
1434
1426
  (this.opts.connectHardwareKeyboard === true ? false : true),
1435
1427
  });
1436
1428
  if (this.opts.autoAcceptAlerts) {
@@ -1465,26 +1457,31 @@ class XCUITestDriver extends driver_1.BaseDriver {
1465
1457
  canProxy() {
1466
1458
  return true;
1467
1459
  }
1460
+ /**
1461
+ * @returns {boolean}
1462
+ */
1468
1463
  isSafari() {
1469
1464
  return !!this.safari;
1470
1465
  }
1471
1466
  /**
1472
- *
1473
1467
  * @returns {boolean}
1474
1468
  */
1475
1469
  isRealDevice() {
1476
- // @ts-expect-error - do not assign arbitrary properties to `this.opts`
1477
- return Boolean(this.opts.realDevice);
1470
+ return 'devicectl' in (this.device ?? {});
1478
1471
  }
1472
+ /**
1473
+ * @returns {boolean}
1474
+ */
1479
1475
  isSimulator() {
1480
- // @ts-expect-error - do not assign arbitrary properties to `this.opts`
1481
- return !this.opts.realDevice;
1476
+ return 'simctl' in (this.device ?? {});
1482
1477
  }
1478
+ /**
1479
+ * @param {string} strategy
1480
+ */
1483
1481
  validateLocatorStrategy(strategy) {
1484
1482
  super.validateLocatorStrategy(strategy, this.isWebContext());
1485
1483
  }
1486
1484
  /**
1487
- *
1488
1485
  * @param {any} caps
1489
1486
  * @returns {caps is import('@appium/types').DriverCaps<XCUITestDriverConstraints>}
1490
1487
  */
@@ -1587,21 +1584,6 @@ class XCUITestDriver extends driver_1.BaseDriver {
1587
1584
  // finally, return true since the superclass check passed, as did this
1588
1585
  return true;
1589
1586
  }
1590
- /**
1591
- * @typedef {Object} AutInstallationStateOptions
1592
- * @property {Pick<XCUITestDriverOpts, "enforceAppInstall">} enforceAppInstall
1593
- * @property {Pick<XCUITestDriverOpts, "fullReset">} fullReset
1594
- * @property {Pick<XCUITestDriverOpts, "noReset">} noReset
1595
- * @property {Pick<XCUITestDriverOpts, "bundleId">} bundleId
1596
- * @property {Pick<XCUITestDriverOpts, "app">} app
1597
- * @property {Object} device - Real device object or simulator object
1598
- */
1599
- /**
1600
- * @typedef {Object} AutInstallationState
1601
- * @property {boolean} install - If the given app should install, or not need to install.
1602
- * @property {boolean} skipUninstall - If the installed app should be uninstalled, or not.
1603
- * /
1604
-
1605
1587
  /**
1606
1588
  * Check if the given app can be installed, or should uninstall before installing it.
1607
1589
  *
@@ -1609,9 +1591,8 @@ class XCUITestDriver extends driver_1.BaseDriver {
1609
1591
  * @returns {Promise<AutInstallationState>}
1610
1592
  */
1611
1593
  async checkAutInstallationState(opts) {
1612
- // @ts-expect-error - do not assign arbitrary properties to `opts`
1613
- const { enforceAppInstall, fullReset, noReset, bundleId, device, app } = opts ?? this.opts;
1614
- const wasAppInstalled = await device.isAppInstalled(bundleId);
1594
+ const { enforceAppInstall, fullReset, noReset, bundleId, app } = opts ?? this.opts;
1595
+ const wasAppInstalled = await this.device.isAppInstalled(bundleId);
1615
1596
  if (wasAppInstalled) {
1616
1597
  this.log.info(`App '${bundleId}' is already installed`);
1617
1598
  if (noReset) {
@@ -1641,8 +1622,8 @@ class XCUITestDriver extends driver_1.BaseDriver {
1641
1622
  };
1642
1623
  }
1643
1624
  const appBundleVersion = this.isRealDevice()
1644
- ? (await device.fetchAppInfo(bundleId))?.CFBundleVersion
1645
- : BUNDLE_VERSION_PATTERN.exec(await device.simctl.appInfo(bundleId))?.[1];
1625
+ ? (await /** @type {RealDevice} */ (this.device).fetchAppInfo(bundleId))?.CFBundleVersion
1626
+ : BUNDLE_VERSION_PATTERN.exec(await /** @type {Simulator} */ (this.device).simctl.appInfo(bundleId))?.[1];
1646
1627
  this.log.debug(`CFBundleVersion from installed app info: ${appBundleVersion}`);
1647
1628
  if (!appBundleVersion) {
1648
1629
  return {
@@ -1828,6 +1809,14 @@ exports.default = XCUITestDriver;
1828
1809
  * @template [Ctx=string]
1829
1810
  * @typedef {import('@appium/types').ExternalDriver<C, Ctx>} ExternalDriver
1830
1811
  */
1812
+ /**
1813
+ * @typedef {Pick<XCUITestDriverOpts, 'enforceAppInstall' | 'fullReset' | 'noReset' | 'bundleId' | 'app'>} AutInstallationStateOptions
1814
+ */
1815
+ /**
1816
+ * @typedef {Object} AutInstallationState
1817
+ * @property {boolean} install - If the given app should install, or not need to install.
1818
+ * @property {boolean} skipUninstall - If the installed app should be uninstalled, or not.
1819
+ */
1831
1820
  /**
1832
1821
  * @typedef {typeof desiredCapConstraints} XCUITestDriverConstraints
1833
1822
  * @typedef {import('@appium/types').DriverOpts<XCUITestDriverConstraints>} XCUITestDriverOpts
@@ -1836,5 +1825,5 @@ exports.default = XCUITestDriver;
1836
1825
  * @typedef {import('appium-xcode').XcodeVersion} XcodeVersion
1837
1826
  * @typedef {import('appium-ios-simulator').Simulator} Simulator
1838
1827
  * @typedef {import('./real-device').RealDevice} RealDevice
1839
- */
1828
+ */
1840
1829
  //# sourceMappingURL=driver.js.map