@limrun/appium-xcuitest-driver 10.4.3-lim.1
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 +2600 -0
- package/LICENSE +201 -0
- package/README.md +55 -0
- package/build/index.d.ts +5 -0
- package/build/index.js +41 -0
- package/build/lib/app-infos-cache.d.ts +62 -0
- package/build/lib/app-infos-cache.d.ts.map +1 -0
- package/build/lib/app-infos-cache.js +180 -0
- package/build/lib/app-infos-cache.js.map +1 -0
- package/build/lib/app-utils.d.ts +89 -0
- package/build/lib/app-utils.d.ts.map +1 -0
- package/build/lib/app-utils.js +657 -0
- package/build/lib/app-utils.js.map +1 -0
- package/build/lib/commands/active-app-info.d.ts +9 -0
- package/build/lib/commands/active-app-info.d.ts.map +1 -0
- package/build/lib/commands/active-app-info.js +14 -0
- package/build/lib/commands/active-app-info.js.map +1 -0
- package/build/lib/commands/advanced-battery-types.d.ts +444 -0
- package/build/lib/commands/advanced-battery-types.d.ts.map +1 -0
- package/build/lib/commands/advanced-battery-types.js +8 -0
- package/build/lib/commands/advanced-battery-types.js.map +1 -0
- package/build/lib/commands/alert.d.ts +45 -0
- package/build/lib/commands/alert.d.ts.map +1 -0
- package/build/lib/commands/alert.js +87 -0
- package/build/lib/commands/alert.js.map +1 -0
- package/build/lib/commands/app-management.d.ts +153 -0
- package/build/lib/commands/app-management.d.ts.map +1 -0
- package/build/lib/commands/app-management.js +323 -0
- package/build/lib/commands/app-management.js.map +1 -0
- package/build/lib/commands/app-strings.d.ts +16 -0
- package/build/lib/commands/app-strings.d.ts.map +1 -0
- package/build/lib/commands/app-strings.js +30 -0
- package/build/lib/commands/app-strings.js.map +1 -0
- package/build/lib/commands/appearance.d.ts +22 -0
- package/build/lib/commands/appearance.d.ts.map +1 -0
- package/build/lib/commands/appearance.js +74 -0
- package/build/lib/commands/appearance.js.map +1 -0
- package/build/lib/commands/audit.d.ts +43 -0
- package/build/lib/commands/audit.d.ts.map +1 -0
- package/build/lib/commands/audit.js +31 -0
- package/build/lib/commands/audit.js.map +1 -0
- package/build/lib/commands/battery.d.ts +13 -0
- package/build/lib/commands/battery.d.ts.map +1 -0
- package/build/lib/commands/battery.js +49 -0
- package/build/lib/commands/battery.js.map +1 -0
- package/build/lib/commands/bidi/constants.d.ts +6 -0
- package/build/lib/commands/bidi/constants.d.ts.map +1 -0
- package/build/lib/commands/bidi/constants.js +10 -0
- package/build/lib/commands/bidi/constants.js.map +1 -0
- package/build/lib/commands/bidi/models.d.ts +9 -0
- package/build/lib/commands/bidi/models.d.ts.map +1 -0
- package/build/lib/commands/bidi/models.js +54 -0
- package/build/lib/commands/bidi/models.js.map +1 -0
- package/build/lib/commands/bidi/types.d.ts +26 -0
- package/build/lib/commands/bidi/types.d.ts.map +1 -0
- package/build/lib/commands/bidi/types.js +4 -0
- package/build/lib/commands/bidi/types.js.map +1 -0
- package/build/lib/commands/biometric.d.ts +32 -0
- package/build/lib/commands/biometric.d.ts.map +1 -0
- package/build/lib/commands/biometric.js +54 -0
- package/build/lib/commands/biometric.js.map +1 -0
- package/build/lib/commands/certificate.d.ts +50 -0
- package/build/lib/commands/certificate.d.ts.map +1 -0
- package/build/lib/commands/certificate.js +454 -0
- package/build/lib/commands/certificate.js.map +1 -0
- package/build/lib/commands/clipboard.d.ts +21 -0
- package/build/lib/commands/clipboard.d.ts.map +1 -0
- package/build/lib/commands/clipboard.js +36 -0
- package/build/lib/commands/clipboard.js.map +1 -0
- package/build/lib/commands/condition.d.ts +102 -0
- package/build/lib/commands/condition.d.ts.map +1 -0
- package/build/lib/commands/condition.js +146 -0
- package/build/lib/commands/condition.js.map +1 -0
- package/build/lib/commands/content-size.d.ts +30 -0
- package/build/lib/commands/content-size.d.ts.map +1 -0
- package/build/lib/commands/content-size.js +67 -0
- package/build/lib/commands/content-size.js.map +1 -0
- package/build/lib/commands/context.d.ts +191 -0
- package/build/lib/commands/context.d.ts.map +1 -0
- package/build/lib/commands/context.js +625 -0
- package/build/lib/commands/context.js.map +1 -0
- package/build/lib/commands/deviceInfo.d.ts +12 -0
- package/build/lib/commands/deviceInfo.d.ts.map +1 -0
- package/build/lib/commands/deviceInfo.js +25 -0
- package/build/lib/commands/deviceInfo.js.map +1 -0
- package/build/lib/commands/element.d.ts +108 -0
- package/build/lib/commands/element.d.ts.map +1 -0
- package/build/lib/commands/element.js +395 -0
- package/build/lib/commands/element.js.map +1 -0
- package/build/lib/commands/enum.d.ts +105 -0
- package/build/lib/commands/enum.d.ts.map +1 -0
- package/build/lib/commands/enum.js +113 -0
- package/build/lib/commands/enum.js.map +1 -0
- package/build/lib/commands/execute.d.ts +33 -0
- package/build/lib/commands/execute.d.ts.map +1 -0
- package/build/lib/commands/execute.js +142 -0
- package/build/lib/commands/execute.js.map +1 -0
- package/build/lib/commands/file-movement.d.ts +90 -0
- package/build/lib/commands/file-movement.d.ts.map +1 -0
- package/build/lib/commands/file-movement.js +477 -0
- package/build/lib/commands/file-movement.js.map +1 -0
- package/build/lib/commands/find.d.ts +21 -0
- package/build/lib/commands/find.d.ts.map +1 -0
- package/build/lib/commands/find.js +199 -0
- package/build/lib/commands/find.js.map +1 -0
- package/build/lib/commands/general.d.ts +137 -0
- package/build/lib/commands/general.d.ts.map +1 -0
- package/build/lib/commands/general.js +270 -0
- package/build/lib/commands/general.js.map +1 -0
- package/build/lib/commands/geolocation.d.ts +57 -0
- package/build/lib/commands/geolocation.d.ts.map +1 -0
- package/build/lib/commands/geolocation.js +58 -0
- package/build/lib/commands/geolocation.js.map +1 -0
- package/build/lib/commands/gesture.d.ts +283 -0
- package/build/lib/commands/gesture.d.ts.map +1 -0
- package/build/lib/commands/gesture.js +565 -0
- package/build/lib/commands/gesture.js.map +1 -0
- package/build/lib/commands/hid-event.d.ts +2773 -0
- package/build/lib/commands/hid-event.d.ts.map +1 -0
- package/build/lib/commands/hid-event.js +1633 -0
- package/build/lib/commands/hid-event.js.map +1 -0
- package/build/lib/commands/increase-contrast.d.ts +24 -0
- package/build/lib/commands/increase-contrast.d.ts.map +1 -0
- package/build/lib/commands/increase-contrast.js +49 -0
- package/build/lib/commands/increase-contrast.js.map +1 -0
- package/build/lib/commands/iohid.d.ts +1372 -0
- package/build/lib/commands/iohid.d.ts.map +1 -0
- package/build/lib/commands/iohid.js +63 -0
- package/build/lib/commands/iohid.js.map +1 -0
- package/build/lib/commands/keyboard.d.ts +32 -0
- package/build/lib/commands/keyboard.d.ts.map +1 -0
- package/build/lib/commands/keyboard.js +67 -0
- package/build/lib/commands/keyboard.js.map +1 -0
- package/build/lib/commands/keychains.d.ts +10 -0
- package/build/lib/commands/keychains.d.ts.map +1 -0
- package/build/lib/commands/keychains.js +22 -0
- package/build/lib/commands/keychains.js.map +1 -0
- package/build/lib/commands/localization.d.ts +17 -0
- package/build/lib/commands/localization.d.ts.map +1 -0
- package/build/lib/commands/localization.js +34 -0
- package/build/lib/commands/localization.js.map +1 -0
- package/build/lib/commands/location.d.ts +40 -0
- package/build/lib/commands/location.d.ts.map +1 -0
- package/build/lib/commands/location.js +121 -0
- package/build/lib/commands/location.js.map +1 -0
- package/build/lib/commands/lock.d.ts +23 -0
- package/build/lib/commands/lock.d.ts.map +1 -0
- package/build/lib/commands/lock.js +49 -0
- package/build/lib/commands/lock.js.map +1 -0
- package/build/lib/commands/log.d.ts +68 -0
- package/build/lib/commands/log.d.ts.map +1 -0
- package/build/lib/commands/log.js +287 -0
- package/build/lib/commands/log.js.map +1 -0
- package/build/lib/commands/memory.d.ts +11 -0
- package/build/lib/commands/memory.d.ts.map +1 -0
- package/build/lib/commands/memory.js +49 -0
- package/build/lib/commands/memory.js.map +1 -0
- package/build/lib/commands/navigation.d.ts +44 -0
- package/build/lib/commands/navigation.d.ts.map +1 -0
- package/build/lib/commands/navigation.js +121 -0
- package/build/lib/commands/navigation.js.map +1 -0
- package/build/lib/commands/notifications.d.ts +28 -0
- package/build/lib/commands/notifications.d.ts.map +1 -0
- package/build/lib/commands/notifications.js +64 -0
- package/build/lib/commands/notifications.js.map +1 -0
- package/build/lib/commands/pasteboard.d.ts +23 -0
- package/build/lib/commands/pasteboard.d.ts.map +1 -0
- package/build/lib/commands/pasteboard.js +43 -0
- package/build/lib/commands/pasteboard.js.map +1 -0
- package/build/lib/commands/pcap.d.ts +54 -0
- package/build/lib/commands/pcap.d.ts.map +1 -0
- package/build/lib/commands/pcap.js +149 -0
- package/build/lib/commands/pcap.js.map +1 -0
- package/build/lib/commands/performance.d.ts +85 -0
- package/build/lib/commands/performance.d.ts.map +1 -0
- package/build/lib/commands/performance.js +331 -0
- package/build/lib/commands/performance.js.map +1 -0
- package/build/lib/commands/permissions.d.ts +36 -0
- package/build/lib/commands/permissions.d.ts.map +1 -0
- package/build/lib/commands/permissions.js +80 -0
- package/build/lib/commands/permissions.js.map +1 -0
- package/build/lib/commands/proxy-helper.d.ts +15 -0
- package/build/lib/commands/proxy-helper.d.ts.map +1 -0
- package/build/lib/commands/proxy-helper.js +117 -0
- package/build/lib/commands/proxy-helper.js.map +1 -0
- package/build/lib/commands/record-audio.d.ts +69 -0
- package/build/lib/commands/record-audio.d.ts.map +1 -0
- package/build/lib/commands/record-audio.js +228 -0
- package/build/lib/commands/record-audio.js.map +1 -0
- package/build/lib/commands/recordscreen.d.ts +89 -0
- package/build/lib/commands/recordscreen.d.ts.map +1 -0
- package/build/lib/commands/recordscreen.js +326 -0
- package/build/lib/commands/recordscreen.js.map +1 -0
- package/build/lib/commands/screenshots.d.ts +16 -0
- package/build/lib/commands/screenshots.d.ts.map +1 -0
- package/build/lib/commands/screenshots.js +129 -0
- package/build/lib/commands/screenshots.js.map +1 -0
- package/build/lib/commands/simctl.d.ts +27 -0
- package/build/lib/commands/simctl.d.ts.map +1 -0
- package/build/lib/commands/simctl.js +65 -0
- package/build/lib/commands/simctl.js.map +1 -0
- package/build/lib/commands/source.d.ts +16 -0
- package/build/lib/commands/source.d.ts.map +1 -0
- package/build/lib/commands/source.js +128 -0
- package/build/lib/commands/source.js.map +1 -0
- package/build/lib/commands/timeouts.d.ts +53 -0
- package/build/lib/commands/timeouts.d.ts.map +1 -0
- package/build/lib/commands/timeouts.js +71 -0
- package/build/lib/commands/timeouts.js.map +1 -0
- package/build/lib/commands/types.d.ts +539 -0
- package/build/lib/commands/types.d.ts.map +1 -0
- package/build/lib/commands/types.js +3 -0
- package/build/lib/commands/types.js.map +1 -0
- package/build/lib/commands/web.d.ts +297 -0
- package/build/lib/commands/web.d.ts.map +1 -0
- package/build/lib/commands/web.js +1029 -0
- package/build/lib/commands/web.js.map +1 -0
- package/build/lib/commands/xctest-record-screen.d.ts +92 -0
- package/build/lib/commands/xctest-record-screen.d.ts.map +1 -0
- package/build/lib/commands/xctest-record-screen.js +193 -0
- package/build/lib/commands/xctest-record-screen.js.map +1 -0
- package/build/lib/commands/xctest.d.ts +71 -0
- package/build/lib/commands/xctest.d.ts.map +1 -0
- package/build/lib/commands/xctest.js +257 -0
- package/build/lib/commands/xctest.js.map +1 -0
- package/build/lib/css-converter.d.ts +10 -0
- package/build/lib/css-converter.d.ts.map +1 -0
- package/build/lib/css-converter.js +258 -0
- package/build/lib/css-converter.js.map +1 -0
- package/build/lib/desired-caps.d.ts +506 -0
- package/build/lib/desired-caps.d.ts.map +1 -0
- package/build/lib/desired-caps.js +400 -0
- package/build/lib/desired-caps.js.map +1 -0
- package/build/lib/device-connections-factory.d.ts +13 -0
- package/build/lib/device-connections-factory.d.ts.map +1 -0
- package/build/lib/device-connections-factory.js +244 -0
- package/build/lib/device-connections-factory.js.map +1 -0
- package/build/lib/device-log/helpers.d.ts +10 -0
- package/build/lib/device-log/helpers.d.ts.map +1 -0
- package/build/lib/device-log/helpers.js +37 -0
- package/build/lib/device-log/helpers.js.map +1 -0
- package/build/lib/device-log/ios-crash-log.d.ts +34 -0
- package/build/lib/device-log/ios-crash-log.d.ts.map +1 -0
- package/build/lib/device-log/ios-crash-log.js +141 -0
- package/build/lib/device-log/ios-crash-log.js.map +1 -0
- package/build/lib/device-log/ios-device-log.d.ts +19 -0
- package/build/lib/device-log/ios-device-log.d.ts.map +1 -0
- package/build/lib/device-log/ios-device-log.js +42 -0
- package/build/lib/device-log/ios-device-log.js.map +1 -0
- package/build/lib/device-log/ios-log.d.ts +24 -0
- package/build/lib/device-log/ios-log.d.ts.map +1 -0
- package/build/lib/device-log/ios-log.js +50 -0
- package/build/lib/device-log/ios-log.js.map +1 -0
- package/build/lib/device-log/ios-performance-log.d.ts +18 -0
- package/build/lib/device-log/ios-performance-log.d.ts.map +1 -0
- package/build/lib/device-log/ios-performance-log.js +43 -0
- package/build/lib/device-log/ios-performance-log.js.map +1 -0
- package/build/lib/device-log/ios-simulator-log.d.ts +38 -0
- package/build/lib/device-log/ios-simulator-log.d.ts.map +1 -0
- package/build/lib/device-log/ios-simulator-log.js +184 -0
- package/build/lib/device-log/ios-simulator-log.js.map +1 -0
- package/build/lib/device-log/line-consuming-log.d.ts +9 -0
- package/build/lib/device-log/line-consuming-log.d.ts.map +1 -0
- package/build/lib/device-log/line-consuming-log.js +16 -0
- package/build/lib/device-log/line-consuming-log.js.map +1 -0
- package/build/lib/device-log/safari-console-log.d.ts +67 -0
- package/build/lib/device-log/safari-console-log.d.ts.map +1 -0
- package/build/lib/device-log/safari-console-log.js +81 -0
- package/build/lib/device-log/safari-console-log.js.map +1 -0
- package/build/lib/device-log/safari-network-log.d.ts +75 -0
- package/build/lib/device-log/safari-network-log.d.ts.map +1 -0
- package/build/lib/device-log/safari-network-log.js +47 -0
- package/build/lib/device-log/safari-network-log.js.map +1 -0
- package/build/lib/doctor/checks.d.ts +3 -0
- package/build/lib/doctor/checks.d.ts.map +1 -0
- package/build/lib/doctor/checks.js +39 -0
- package/build/lib/doctor/checks.js.map +1 -0
- package/build/lib/doctor/optional-checks.d.ts +46 -0
- package/build/lib/doctor/optional-checks.d.ts.map +1 -0
- package/build/lib/doctor/optional-checks.js +129 -0
- package/build/lib/doctor/optional-checks.js.map +1 -0
- package/build/lib/doctor/required-checks.d.ts +42 -0
- package/build/lib/doctor/required-checks.d.ts.map +1 -0
- package/build/lib/doctor/required-checks.js +94 -0
- package/build/lib/doctor/required-checks.js.map +1 -0
- package/build/lib/doctor/utils.d.ts +8 -0
- package/build/lib/doctor/utils.d.ts.map +1 -0
- package/build/lib/doctor/utils.js +21 -0
- package/build/lib/doctor/utils.js.map +1 -0
- package/build/lib/driver.d.ts +2429 -0
- package/build/lib/driver.d.ts.map +1 -0
- package/build/lib/driver.js +1967 -0
- package/build/lib/driver.js.map +1 -0
- package/build/lib/execute-method-map.d.ts +552 -0
- package/build/lib/execute-method-map.d.ts.map +1 -0
- package/build/lib/execute-method-map.js +586 -0
- package/build/lib/execute-method-map.js.map +1 -0
- package/build/lib/ios-fs-helpers.d.ts +75 -0
- package/build/lib/ios-fs-helpers.d.ts.map +1 -0
- package/build/lib/ios-fs-helpers.js +370 -0
- package/build/lib/ios-fs-helpers.js.map +1 -0
- package/build/lib/ios-generic-simulators.d.ts +6 -0
- package/build/lib/ios-generic-simulators.d.ts.map +1 -0
- package/build/lib/ios-generic-simulators.js +14 -0
- package/build/lib/ios-generic-simulators.js.map +1 -0
- package/build/lib/logger.d.ts +3 -0
- package/build/lib/logger.d.ts.map +1 -0
- package/build/lib/logger.js +6 -0
- package/build/lib/logger.js.map +1 -0
- package/build/lib/method-map.d.ts +229 -0
- package/build/lib/method-map.d.ts.map +1 -0
- package/build/lib/method-map.js +200 -0
- package/build/lib/method-map.js.map +1 -0
- package/build/lib/real-device-clients/base-device-client.d.ts +22 -0
- package/build/lib/real-device-clients/base-device-client.d.ts.map +1 -0
- package/build/lib/real-device-clients/base-device-client.js +14 -0
- package/build/lib/real-device-clients/base-device-client.js.map +1 -0
- package/build/lib/real-device-clients/py-ios-device-client.d.ts +21 -0
- package/build/lib/real-device-clients/py-ios-device-client.d.ts.map +1 -0
- package/build/lib/real-device-clients/py-ios-device-client.js +125 -0
- package/build/lib/real-device-clients/py-ios-device-client.js.map +1 -0
- package/build/lib/real-device-management.d.ts +53 -0
- package/build/lib/real-device-management.d.ts.map +1 -0
- package/build/lib/real-device-management.js +128 -0
- package/build/lib/real-device-management.js.map +1 -0
- package/build/lib/real-device.d.ts +112 -0
- package/build/lib/real-device.d.ts.map +1 -0
- package/build/lib/real-device.js +352 -0
- package/build/lib/real-device.js.map +1 -0
- package/build/lib/simulator-management.d.ts +96 -0
- package/build/lib/simulator-management.d.ts.map +1 -0
- package/build/lib/simulator-management.js +278 -0
- package/build/lib/simulator-management.js.map +1 -0
- package/build/lib/stubs.d.ts +3 -0
- package/build/lib/stubs.d.ts.map +1 -0
- package/build/lib/stubs.js +3 -0
- package/build/lib/stubs.js.map +1 -0
- package/build/lib/types.d.ts +31 -0
- package/build/lib/types.d.ts.map +1 -0
- package/build/lib/types.js +3 -0
- package/build/lib/types.js.map +1 -0
- package/build/lib/utils.d.ts +191 -0
- package/build/lib/utils.d.ts.map +1 -0
- package/build/lib/utils.js +549 -0
- package/build/lib/utils.js.map +1 -0
- package/build/lib/xcrun.d.ts +3 -0
- package/build/lib/xcrun.d.ts.map +1 -0
- package/build/lib/xcrun.js +17 -0
- package/build/lib/xcrun.js.map +1 -0
- package/index.js +7 -0
- package/lib/app-infos-cache.js +187 -0
- package/lib/app-utils.js +710 -0
- package/lib/commands/active-app-info.js +12 -0
- package/lib/commands/advanced-battery-types.ts +454 -0
- package/lib/commands/alert.js +88 -0
- package/lib/commands/app-management.js +346 -0
- package/lib/commands/app-strings.js +30 -0
- package/lib/commands/appearance.js +71 -0
- package/lib/commands/audit.js +31 -0
- package/lib/commands/battery.js +45 -0
- package/lib/commands/bidi/constants.ts +6 -0
- package/lib/commands/bidi/models.ts +55 -0
- package/lib/commands/bidi/types.ts +31 -0
- package/lib/commands/biometric.js +53 -0
- package/lib/commands/certificate.js +497 -0
- package/lib/commands/clipboard.js +35 -0
- package/lib/commands/condition.js +155 -0
- package/lib/commands/content-size.js +68 -0
- package/lib/commands/context.js +705 -0
- package/lib/commands/deviceInfo.js +27 -0
- package/lib/commands/element.js +423 -0
- package/lib/commands/enum.ts +108 -0
- package/lib/commands/execute.js +153 -0
- package/lib/commands/file-movement.js +510 -0
- package/lib/commands/find.js +205 -0
- package/lib/commands/general.js +278 -0
- package/lib/commands/geolocation.js +56 -0
- package/lib/commands/gesture.js +596 -0
- package/lib/commands/hid-event.ts +1634 -0
- package/lib/commands/increase-contrast.js +50 -0
- package/lib/commands/iohid.js +64 -0
- package/lib/commands/keyboard.js +62 -0
- package/lib/commands/keychains.js +18 -0
- package/lib/commands/localization.js +30 -0
- package/lib/commands/location.js +131 -0
- package/lib/commands/lock.js +46 -0
- package/lib/commands/log.js +327 -0
- package/lib/commands/memory.js +51 -0
- package/lib/commands/navigation.js +125 -0
- package/lib/commands/notifications.js +66 -0
- package/lib/commands/pasteboard.js +42 -0
- package/lib/commands/pcap.js +168 -0
- package/lib/commands/performance.js +392 -0
- package/lib/commands/permissions.js +85 -0
- package/lib/commands/proxy-helper.js +122 -0
- package/lib/commands/record-audio.js +264 -0
- package/lib/commands/recordscreen.js +391 -0
- package/lib/commands/screenshots.js +137 -0
- package/lib/commands/simctl.js +71 -0
- package/lib/commands/source.js +131 -0
- package/lib/commands/timeouts.js +68 -0
- package/lib/commands/types.ts +648 -0
- package/lib/commands/web.js +1113 -0
- package/lib/commands/xctest-record-screen.js +204 -0
- package/lib/commands/xctest.js +285 -0
- package/lib/css-converter.js +311 -0
- package/lib/desired-caps.js +396 -0
- package/lib/device-connections-factory.js +269 -0
- package/lib/device-log/helpers.ts +40 -0
- package/lib/device-log/ios-crash-log.ts +166 -0
- package/lib/device-log/ios-device-log.ts +51 -0
- package/lib/device-log/ios-log.ts +70 -0
- package/lib/device-log/ios-performance-log.ts +50 -0
- package/lib/device-log/ios-simulator-log.ts +202 -0
- package/lib/device-log/line-consuming-log.ts +16 -0
- package/lib/device-log/safari-console-log.ts +117 -0
- package/lib/device-log/safari-network-log.ts +120 -0
- package/lib/doctor/checks.ts +3 -0
- package/lib/doctor/optional-checks.ts +173 -0
- package/lib/doctor/required-checks.ts +120 -0
- package/lib/doctor/utils.ts +18 -0
- package/lib/driver.js +2316 -0
- package/lib/execute-method-map.ts +585 -0
- package/lib/ios-fs-helpers.js +355 -0
- package/lib/ios-generic-simulators.js +11 -0
- package/lib/logger.js +5 -0
- package/lib/method-map.js +196 -0
- package/lib/real-device-clients/base-device-client.ts +34 -0
- package/lib/real-device-clients/py-ios-device-client.ts +149 -0
- package/lib/real-device-management.js +133 -0
- package/lib/real-device.js +347 -0
- package/lib/simulator-management.js +324 -0
- package/lib/stubs.ts +3 -0
- package/lib/types.ts +33 -0
- package/lib/utils.js +551 -0
- package/lib/xcrun.js +16 -0
- package/package.json +175 -0
- package/scripts/build-docs.js +56 -0
- package/scripts/build-wda.js +42 -0
- package/scripts/download-wda-sim.mjs +68 -0
- package/scripts/image-mounter.mjs +239 -0
- package/scripts/open-wda.mjs +15 -0
- package/scripts/tunnel-creation.mjs +359 -0
- package/scripts/utils.js +16 -0
|
@@ -0,0 +1,648 @@
|
|
|
1
|
+
import type {AnyCase, Element, HTTPHeaders, Location, Size, StringRecord} from '@appium/types';
|
|
2
|
+
import type B from 'bluebird';
|
|
3
|
+
import type {EventEmitter} from 'node:events';
|
|
4
|
+
import type {Page} from '../types';
|
|
5
|
+
import type {AuthorizationStatus, BatteryState, ThermalState} from './enum';
|
|
6
|
+
|
|
7
|
+
export type Direction = 'up' | 'down' | 'left' | 'right';
|
|
8
|
+
|
|
9
|
+
export type LocationWithAltitude = Location & {altitude: number};
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Battery information. Returned by the `mobile: getBatteryInfo` execute method.
|
|
13
|
+
*/
|
|
14
|
+
export interface BatteryInfo {
|
|
15
|
+
/**
|
|
16
|
+
* Battery level in range `[0.0, 1.0]`, where `1.0` means 100% charge.
|
|
17
|
+
*/
|
|
18
|
+
level: number;
|
|
19
|
+
/**
|
|
20
|
+
* Battery state
|
|
21
|
+
*/
|
|
22
|
+
state: BatteryState;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Options for `stopRecordingScreen` command
|
|
28
|
+
*/
|
|
29
|
+
export interface StopRecordingScreenOptions {
|
|
30
|
+
/**
|
|
31
|
+
* The path to the remote location, where the resulting video should be
|
|
32
|
+
* uploaded.
|
|
33
|
+
*
|
|
34
|
+
* The following protocols are supported: `http`, `https`, `ftp`. Null or empty
|
|
35
|
+
* string value (the default setting) means the content of resulting file
|
|
36
|
+
* should be encoded as Base64 and passed as the endpoint response value. An
|
|
37
|
+
* exception will be thrown if the generated media file is too big to fit into
|
|
38
|
+
* the available process memory.
|
|
39
|
+
*/
|
|
40
|
+
remotePath?: string;
|
|
41
|
+
/**
|
|
42
|
+
* The name of the user for the remote authentication.
|
|
43
|
+
*
|
|
44
|
+
* Only works if `remotePath` is provided.
|
|
45
|
+
*/
|
|
46
|
+
user?: string;
|
|
47
|
+
/**
|
|
48
|
+
* The password for the remote authentication.
|
|
49
|
+
*
|
|
50
|
+
* Only works if `remotePath` is provided.
|
|
51
|
+
*/
|
|
52
|
+
pass?: string;
|
|
53
|
+
/**
|
|
54
|
+
* Additional headers mapping for multipart http(s) uploads
|
|
55
|
+
*/
|
|
56
|
+
headers?: HTTPHeaders;
|
|
57
|
+
/**
|
|
58
|
+
* The name of the form field where the file content BLOB should be stored for
|
|
59
|
+
* http(s) uploads
|
|
60
|
+
*/
|
|
61
|
+
fileFieldName?: string;
|
|
62
|
+
/**
|
|
63
|
+
* Additional form fields for multipart http(s) uploads
|
|
64
|
+
*/
|
|
65
|
+
formFields?: Record<string, any> | [string, any][];
|
|
66
|
+
/**
|
|
67
|
+
* The http multipart upload method name.
|
|
68
|
+
*
|
|
69
|
+
* Only works if `remotePath` is provided.
|
|
70
|
+
*
|
|
71
|
+
* @defaultValue 'PUT'
|
|
72
|
+
*/
|
|
73
|
+
method?: 'PUT' | 'POST' | 'PATCH';
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export type VideoQuality = 'low' | 'medium' | 'high' | 'photo';
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Options for `startRecordingScreen` command
|
|
80
|
+
*/
|
|
81
|
+
export interface StartRecordingScreenOptions extends StopRecordingScreenOptions {
|
|
82
|
+
/**
|
|
83
|
+
* The video codec type used for encoding of the be recorded screen capture.
|
|
84
|
+
*
|
|
85
|
+
* Execute `ffmpeg -codecs` in the terminal to see the list of supported video codecs.
|
|
86
|
+
* @defaultValue 'mjpeg'
|
|
87
|
+
*/
|
|
88
|
+
videoType?: string;
|
|
89
|
+
/**
|
|
90
|
+
* The video encoding quality
|
|
91
|
+
* @defaultValue 'medium'
|
|
92
|
+
*/
|
|
93
|
+
videoQuality?: VideoQuality | number;
|
|
94
|
+
/**
|
|
95
|
+
* The Frames Per Second rate of the recorded video.
|
|
96
|
+
*
|
|
97
|
+
* Change this value if the resulting video is too slow or too fast.
|
|
98
|
+
* @defaultValue 10
|
|
99
|
+
*/
|
|
100
|
+
videoFps?: string | number;
|
|
101
|
+
/**
|
|
102
|
+
* The FFMPEG video filters to apply.
|
|
103
|
+
*
|
|
104
|
+
* These filters allow to scale, flip, rotate and do many other useful transformations on the source video stream. See [FFMPEG documentation](https://ffmpeg.org/ffmpeg-filters.html) for formatting help.
|
|
105
|
+
* @see https://ffmpeg.org/ffmpeg-filters.html
|
|
106
|
+
*/
|
|
107
|
+
videoFilters?: string;
|
|
108
|
+
/**
|
|
109
|
+
* The scaling value to apply.
|
|
110
|
+
*
|
|
111
|
+
* See [the FFMPEG wiki](https://trac.ffmpeg.org/wiki/Scaling) for possible values.
|
|
112
|
+
*
|
|
113
|
+
* No scale is applied by default. If both `videoFilters` and `videoScale` are set, then only `videoFilters` value will be respected.
|
|
114
|
+
* @see https://trac.ffmpeg.org/wiki/Scaling
|
|
115
|
+
*/
|
|
116
|
+
videoScale?: string;
|
|
117
|
+
/**
|
|
118
|
+
* Output pixel format.
|
|
119
|
+
*
|
|
120
|
+
* Execute `ffmpeg -pix_fmts` to list possible values. For Quicktime
|
|
121
|
+
* compatibility, set to `yuv420p` along with videoType: `libx264`.
|
|
122
|
+
*/
|
|
123
|
+
pixelFormat?: string;
|
|
124
|
+
/**
|
|
125
|
+
* If `true`, ignore errors and restart immediately. If `false` or not provided, try to catch and upload/return the currently running screen recording.
|
|
126
|
+
* @defaultValue false
|
|
127
|
+
*/
|
|
128
|
+
forceRestart?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* The maximum recording time, in seconds.
|
|
131
|
+
* The maximum value is 600 (10 minutes).
|
|
132
|
+
* @defaultValue 180
|
|
133
|
+
*/
|
|
134
|
+
timeLimit?: string | number;
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Hardware acceleration to be used by FFMPEG for decoding, encoding and scaling.
|
|
138
|
+
*
|
|
139
|
+
*
|
|
140
|
+
* * `videoToolbox` Apple Silicon
|
|
141
|
+
* * `cuda` NVIDIA GPU
|
|
142
|
+
* * `amf_dx11` AMD and DirectX 11
|
|
143
|
+
* * `qsv` Intel Quick Sync Video
|
|
144
|
+
* * `vaapi` Video Acceleration API (VAAPI)
|
|
145
|
+
*
|
|
146
|
+
* @see {@link https://trac.ffmpeg.org/wiki/HWAccelIntro#PlatformAPIAvailability| Platform API Availability }
|
|
147
|
+
* @see {@link https://trac.ffmpeg.org/wiki/HWAccelIntro#VideoToolbox| VideoToolbox}
|
|
148
|
+
* @see {@link https://trac.ffmpeg.org/wiki/HWAccelIntro#CUDANVENCNVDEC|Cuda}
|
|
149
|
+
* @see {@link https://trac.ffmpeg.org/wiki/Hardware/AMF|AMF}
|
|
150
|
+
* @see {@link https://trac.ffmpeg.org/wiki/Hardware/QuickSync|QSV}
|
|
151
|
+
* @see {@link https://trac.ffmpeg.org/wiki/Hardware/VAAPI|VAAPI}
|
|
152
|
+
*/
|
|
153
|
+
hardwareAcceleration?: 'cuda' | 'videoToolbox' | 'amf_dx11' | 'qsv' | 'vaapi';
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export interface PageChangeNotification {
|
|
157
|
+
pageArray: Page[];
|
|
158
|
+
appIdKey: string;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Either a string that contains full path to the mount root for real devices, or a function which accepts two parameters
|
|
163
|
+
* (bundle identifier and optional container type) and returns (or resolves) the full path to the container root folder on the local filesystem.
|
|
164
|
+
*/
|
|
165
|
+
export type ContainerRootSupplier = (
|
|
166
|
+
bundleId: string,
|
|
167
|
+
containerType: string | null,
|
|
168
|
+
) => string | Promise<string>;
|
|
169
|
+
|
|
170
|
+
export interface WaitingAtoms {
|
|
171
|
+
count: number;
|
|
172
|
+
alertNotifier: EventEmitter;
|
|
173
|
+
alertMonitor: B<void>;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
export interface ContainerObject {
|
|
177
|
+
/**
|
|
178
|
+
* The parsed bundle identifier
|
|
179
|
+
*/
|
|
180
|
+
bundleId: string;
|
|
181
|
+
/**
|
|
182
|
+
* The absolute full path of the item on the local filesystem
|
|
183
|
+
*/
|
|
184
|
+
pathInContainer: string;
|
|
185
|
+
/**
|
|
186
|
+
* The container type
|
|
187
|
+
*/
|
|
188
|
+
containerType: string | null;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
export type AtomsElement<S extends string = string> = Omit<
|
|
192
|
+
Element<S>,
|
|
193
|
+
'element-6066-11e4-a52e-4f735466cecf'
|
|
194
|
+
>;
|
|
195
|
+
|
|
196
|
+
export interface Context {
|
|
197
|
+
/**
|
|
198
|
+
* The identifier of the context.
|
|
199
|
+
*
|
|
200
|
+
* The native context will be `NATIVE_APP` and the webviews will be `WEBVIEW_xxx`
|
|
201
|
+
*/
|
|
202
|
+
id: string;
|
|
203
|
+
/**
|
|
204
|
+
* The title associated with the webview content
|
|
205
|
+
*/
|
|
206
|
+
title?: string;
|
|
207
|
+
/**
|
|
208
|
+
* The URL associated with the webview content
|
|
209
|
+
*/
|
|
210
|
+
url?: string;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
export type ViewContext = Context & {view?: View};
|
|
214
|
+
|
|
215
|
+
export type NativeAppId = 'NATIVE_APP';
|
|
216
|
+
|
|
217
|
+
export type FullContext = Omit<View, 'id'> & ViewContext;
|
|
218
|
+
|
|
219
|
+
export interface View {
|
|
220
|
+
/**
|
|
221
|
+
* @privateRemarks Type of this is best guess
|
|
222
|
+
*/
|
|
223
|
+
id?: number | string;
|
|
224
|
+
title?: string;
|
|
225
|
+
url?: string;
|
|
226
|
+
bundleId?: string;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Page tree source representation formats.
|
|
231
|
+
*
|
|
232
|
+
* - `xml`: Generates the output similar to what the `getPageSource` standard API returns.
|
|
233
|
+
* - `description`: This is how XCTest "sees" the page internally and is the same string as the [`debugDescription`](https://developer.apple.com/documentation/xctest/xcuielement/1500909-debugdescription?language=objc) API would return for the root application element.
|
|
234
|
+
* This source representation format is useful for debugging purposes and is the fastest
|
|
235
|
+
* one to fetch.
|
|
236
|
+
* - `json`: Similar to `xml`, but the tree hierarchy is represented as JSON elements.
|
|
237
|
+
*/
|
|
238
|
+
export type SourceFormat = 'xml' | 'json' | 'description';
|
|
239
|
+
|
|
240
|
+
/** @deprecated */
|
|
241
|
+
export type AppInstallStrategy = 'serial' | 'parallel' | 'ios-deploy';
|
|
242
|
+
|
|
243
|
+
export interface ProfileManifest {
|
|
244
|
+
Description: string;
|
|
245
|
+
IsActive: boolean;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
export interface ProfileMetadata {
|
|
249
|
+
PayloadDescription: string;
|
|
250
|
+
PayloadDisplayName: string;
|
|
251
|
+
PayloadOrganization: string;
|
|
252
|
+
PayloadRemovalDisallowed: boolean;
|
|
253
|
+
PayloadUUID: string;
|
|
254
|
+
PayloadVersion: number;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
export interface CertificateList {
|
|
258
|
+
OrderedIdentifiers: string[];
|
|
259
|
+
ProfileManifest: Record<string, ProfileManifest>;
|
|
260
|
+
ProfileMetadata: Record<string, ProfileMetadata>;
|
|
261
|
+
Status: 'Acknowledged';
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Returned by `mobile: deviceInfo` command.
|
|
266
|
+
*/
|
|
267
|
+
export interface DeviceInfo {
|
|
268
|
+
currentLocale: string;
|
|
269
|
+
timeZone: string;
|
|
270
|
+
name: string;
|
|
271
|
+
model: string;
|
|
272
|
+
uuid: 'unknown' | string;
|
|
273
|
+
userInterfaceIdiom: string;
|
|
274
|
+
userInterfaceStyle: string;
|
|
275
|
+
isSimulator: boolean;
|
|
276
|
+
thermalState?: ThermalState;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* Returned within response from `mobile: deviceInfo` command on real devices.
|
|
281
|
+
* @group Real Device Only
|
|
282
|
+
* @author Ionic Team <hi@ionicframework.com> (https://ionicframework.com)
|
|
283
|
+
* @privateRemarks Copied from https://github.com/ionic-team/native-run/blob/2e431d373a3adc75ab402b2bf6a2235360efa0d2/src/ios/lib/client/lockdownd.ts#L12-L41
|
|
284
|
+
*/
|
|
285
|
+
|
|
286
|
+
export interface LockdownInfo {
|
|
287
|
+
BasebandCertId: number;
|
|
288
|
+
BasebandKeyHashInformation: {
|
|
289
|
+
AKeyStatus: number;
|
|
290
|
+
SKeyHash: Buffer;
|
|
291
|
+
SKeyStatus: number;
|
|
292
|
+
};
|
|
293
|
+
BasebandSerialNumber: Buffer;
|
|
294
|
+
BasebandVersion: string;
|
|
295
|
+
BoardId: number;
|
|
296
|
+
BuildVersion: string;
|
|
297
|
+
ChipID: number;
|
|
298
|
+
DeviceClass: string;
|
|
299
|
+
DeviceColor: string;
|
|
300
|
+
DeviceName: string;
|
|
301
|
+
DieID: number;
|
|
302
|
+
HardwareModel: string;
|
|
303
|
+
HasSiDP: boolean;
|
|
304
|
+
PartitionType: string;
|
|
305
|
+
ProductName: string;
|
|
306
|
+
ProductType: string;
|
|
307
|
+
ProductVersion: string;
|
|
308
|
+
ProductionSOC: boolean;
|
|
309
|
+
ProtocolVersion: string;
|
|
310
|
+
TelephonyCapability: boolean;
|
|
311
|
+
UniqueChipID: number;
|
|
312
|
+
UniqueDeviceID: string;
|
|
313
|
+
WiFiAddress: string;
|
|
314
|
+
[key: string]: any;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
/**
|
|
318
|
+
* Response of the `mobile: activeAppInfo` command.
|
|
319
|
+
* @remarks Derived from https://github.com/appium/WebDriverAgent/blob/master/WebDriverAgentLib/Commands/FBCustomCommands.m
|
|
320
|
+
*/
|
|
321
|
+
export interface ActiveAppInfo {
|
|
322
|
+
pid: number;
|
|
323
|
+
bundleId: string;
|
|
324
|
+
name: string;
|
|
325
|
+
processArguments: ProcessArguments;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* Returned within an {@linkcode ActiveAppInfo} object.
|
|
330
|
+
* @remarks Derived from https://github.com/appium/WebDriverAgent/blob/master/WebDriverAgentLib/Commands/FBCustomCommands.m
|
|
331
|
+
*/
|
|
332
|
+
export interface ProcessArguments {
|
|
333
|
+
env: StringRecord<string>;
|
|
334
|
+
args: string[];
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
/**
|
|
338
|
+
* Pressable button names; used by the {@linkcode XCUITest.mobilePressButton mobile: pressButton} command.
|
|
339
|
+
*/
|
|
340
|
+
export type ButtonName = AnyCase<
|
|
341
|
+
| 'home'
|
|
342
|
+
| 'volumeup'
|
|
343
|
+
| 'volumedown'
|
|
344
|
+
| 'up'
|
|
345
|
+
| 'down'
|
|
346
|
+
| 'left'
|
|
347
|
+
| 'right'
|
|
348
|
+
| 'menu'
|
|
349
|
+
| 'playpause'
|
|
350
|
+
| 'select'
|
|
351
|
+
>;
|
|
352
|
+
|
|
353
|
+
/**
|
|
354
|
+
* Returned in the {@linkcode XCUITest.mobileGetAppearance mobile: getAppearance} command response.
|
|
355
|
+
*/
|
|
356
|
+
export type Style = 'dark' | 'light' | 'unsupported' | 'unknown';
|
|
357
|
+
|
|
358
|
+
/**
|
|
359
|
+
* Returned in the {@linkcode XCUITest.mobileGetIncreaseContrast mobile: getIncreaseContrast} command response.
|
|
360
|
+
*/
|
|
361
|
+
export type IncreaseContrastResult =
|
|
362
|
+
| 'enabled'
|
|
363
|
+
| 'disabled'
|
|
364
|
+
| 'unsupported'
|
|
365
|
+
| 'unknown';
|
|
366
|
+
|
|
367
|
+
/**
|
|
368
|
+
* Argument in the {@linkcode XCUITest.mobileSetIncreaseContrast mobile: setIncreaseContrast} command.
|
|
369
|
+
*/
|
|
370
|
+
export type IncreaseContrastAction =
|
|
371
|
+
| 'enabled'
|
|
372
|
+
| 'disabled';
|
|
373
|
+
|
|
374
|
+
/**
|
|
375
|
+
* Argument in the {@linkcode XCUITest.mobileSetContentSize mobile: setContentSize} command.
|
|
376
|
+
*/
|
|
377
|
+
export type ContentSizeAction =
|
|
378
|
+
| 'extra-small'
|
|
379
|
+
| 'small'
|
|
380
|
+
| 'medium'
|
|
381
|
+
| 'large'
|
|
382
|
+
| 'extra-large'
|
|
383
|
+
| 'extra-extra-large'
|
|
384
|
+
| 'extra-extra-extra-large'
|
|
385
|
+
| 'accessibility-medium'
|
|
386
|
+
| 'accessibility-large'
|
|
387
|
+
| 'accessibility-extra-large'
|
|
388
|
+
| 'accessibility-extra-extra-large'
|
|
389
|
+
| 'accessibility-extra-extra-extra-large'
|
|
390
|
+
| 'increment'
|
|
391
|
+
| 'decrement';
|
|
392
|
+
|
|
393
|
+
/**
|
|
394
|
+
* Returned in the {@linkcode XCUITest.mobileGetContentSize mobile: getContentSize} command response.
|
|
395
|
+
*/
|
|
396
|
+
export type ContentSizeResult =
|
|
397
|
+
| 'extra-small'
|
|
398
|
+
| 'small'
|
|
399
|
+
| 'medium'
|
|
400
|
+
| 'large'
|
|
401
|
+
| 'extra-large'
|
|
402
|
+
| 'extra-extra-large'
|
|
403
|
+
| 'extra-extra-extra-large'
|
|
404
|
+
| 'accessibility-medium'
|
|
405
|
+
| 'accessibility-large'
|
|
406
|
+
| 'accessibility-extra-large'
|
|
407
|
+
| 'accessibility-extra-extra-large'
|
|
408
|
+
| 'accessibility-extra-extra-extra-large'
|
|
409
|
+
| 'unknown'
|
|
410
|
+
| 'unsupported';
|
|
411
|
+
|
|
412
|
+
export interface ScreenInfo {
|
|
413
|
+
/**
|
|
414
|
+
* Status bar dimensions
|
|
415
|
+
*
|
|
416
|
+
* @see https://developer.apple.com/documentation/xctest/xcuielementtypequeryprovider/1500428-statusbars
|
|
417
|
+
*/
|
|
418
|
+
statusBarSize: Size;
|
|
419
|
+
/**
|
|
420
|
+
* Scale of the screen
|
|
421
|
+
*
|
|
422
|
+
* @see https://developer.apple.com/documentation/uikit/uiscreen/1617836-scale
|
|
423
|
+
*/
|
|
424
|
+
scale: number;
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
export interface WDALocationInfo extends LocationWithAltitude {
|
|
428
|
+
authorizationStatus: AuthorizationStatus;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
/**
|
|
432
|
+
* Payload for {@linkcode XCUITestDriver.mobilePushNotification}.
|
|
433
|
+
*
|
|
434
|
+
* Check the output of `xcrun simctl help push` command for more details.
|
|
435
|
+
*/
|
|
436
|
+
export interface PushPayload {
|
|
437
|
+
/**
|
|
438
|
+
* The `aps` dictionary.
|
|
439
|
+
*
|
|
440
|
+
* Read the [Setting up a Remote Notification Server documentation](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification#2943359) under "Create a JSON Payload" for more details.
|
|
441
|
+
*
|
|
442
|
+
* @privateRemarks The keys of `aps` [are documented](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification#2943360) and we should add them.
|
|
443
|
+
*/
|
|
444
|
+
aps: StringRecord;
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
/**
|
|
448
|
+
* Either `plain` to wait for a notification from the default notification center or `darwin` to wait for a system notification.
|
|
449
|
+
*/
|
|
450
|
+
export type NotificationType = 'plain' | 'darwin';
|
|
451
|
+
|
|
452
|
+
export type BiometricFeature = 'touchId' | 'faceId';
|
|
453
|
+
|
|
454
|
+
/**
|
|
455
|
+
* Permission state
|
|
456
|
+
*
|
|
457
|
+
* Details:
|
|
458
|
+
*
|
|
459
|
+
* - `yes`: To grant the permission
|
|
460
|
+
* - `no`: To revoke the permission
|
|
461
|
+
* - `unset`: To reset the permission
|
|
462
|
+
* - `limited`: To grant the permission as limited access (Only for photos)
|
|
463
|
+
*/
|
|
464
|
+
export type PermissionState = 'yes' | 'no' | 'unset' | 'limited';
|
|
465
|
+
|
|
466
|
+
/**
|
|
467
|
+
* Access rules for the `mobile: setPermission` execute method.
|
|
468
|
+
*
|
|
469
|
+
* Details:
|
|
470
|
+
*
|
|
471
|
+
* - `all`: Apply the action to all services.
|
|
472
|
+
* - `calendar`: Allow access to calendar.
|
|
473
|
+
* - `contacts-limited`: Allow access to basic contact info.
|
|
474
|
+
* - `contacts`: Allow access to full contact details.
|
|
475
|
+
* - `location`: Allow access to location services when app is in use.
|
|
476
|
+
* - `location-always`: Allow access to location services at all times.
|
|
477
|
+
* - `photos-add`: Allow adding photos to the photo library.
|
|
478
|
+
* - `photos`: Allow full access to the photo library.
|
|
479
|
+
* - `media-library`: Allow access to the media library.
|
|
480
|
+
* - `microphone`: Allow access to audio input.
|
|
481
|
+
* - `motion`: Allow access to motion and fitness data.
|
|
482
|
+
* - `reminders`: Allow access to reminders.
|
|
483
|
+
* - `siri`: Allow use of the app with Siri.
|
|
484
|
+
*
|
|
485
|
+
* @remarks This is similar to--but not exactly the same as--{@linkcode PermissionService}.
|
|
486
|
+
*/
|
|
487
|
+
export type AccessRule =
|
|
488
|
+
| 'all'
|
|
489
|
+
| 'calendar'
|
|
490
|
+
| 'contacts-limited'
|
|
491
|
+
| 'contacts'
|
|
492
|
+
| 'location'
|
|
493
|
+
| 'location-always'
|
|
494
|
+
| 'photos-add'
|
|
495
|
+
| 'photos'
|
|
496
|
+
| 'media-library'
|
|
497
|
+
| 'microphone'
|
|
498
|
+
| 'motion'
|
|
499
|
+
| 'reminders'
|
|
500
|
+
| 'siri';
|
|
501
|
+
|
|
502
|
+
/**
|
|
503
|
+
* On-screen keyboard properties.
|
|
504
|
+
*
|
|
505
|
+
* To see possible combinations, execute `xcrun simctl spawn booted defaults read .GlobalPreferences.plist AppleKeyboards`
|
|
506
|
+
*/
|
|
507
|
+
export interface KeyboardOptions {
|
|
508
|
+
/**
|
|
509
|
+
* The name of the keyboard locale, for example `en_US` or `de_CH`
|
|
510
|
+
*/
|
|
511
|
+
name: string;
|
|
512
|
+
/**
|
|
513
|
+
* The keyboard layout, for example `QUERTY` or `Ukrainian`
|
|
514
|
+
*/
|
|
515
|
+
layout: string;
|
|
516
|
+
hardware?: 'Automatic';
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
/**
|
|
520
|
+
* System language properties
|
|
521
|
+
*
|
|
522
|
+
* To see possible combinations, execute `xcrun simctl spawn booted defaults read .GlobalPreferences.plist AppleLanguages`.
|
|
523
|
+
*/
|
|
524
|
+
export interface LanguageOptions {
|
|
525
|
+
/**
|
|
526
|
+
* The name of the language, for example `de` or `zh-Hant-CN`
|
|
527
|
+
*/
|
|
528
|
+
name: string;
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
/**
|
|
532
|
+
* System locale properties.
|
|
533
|
+
*
|
|
534
|
+
* To see possible combinations, execute `xcrun simctl spawn booted defaults read .GlobalPreferences.plist AppleLocale`.
|
|
535
|
+
*/
|
|
536
|
+
export interface LocaleOptions {
|
|
537
|
+
/**
|
|
538
|
+
* The name of the system locale, for example `de_CH` or `zh_CN`
|
|
539
|
+
*/
|
|
540
|
+
name: string;
|
|
541
|
+
/**
|
|
542
|
+
* Optional calendar format, for example `gregorian` or `persian`
|
|
543
|
+
*/
|
|
544
|
+
calendar?: string;
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
/**
|
|
548
|
+
* The result of an XCTest run.
|
|
549
|
+
*/
|
|
550
|
+
export interface XCTestResult {
|
|
551
|
+
/**
|
|
552
|
+
* Name of the test (e.g.: `XCTesterAppUITests - XCTesterAppUITests.XCTesterAppUITests/testExample`)
|
|
553
|
+
*/
|
|
554
|
+
testName: string;
|
|
555
|
+
/**
|
|
556
|
+
* Did the test pass?
|
|
557
|
+
*/
|
|
558
|
+
passed: boolean;
|
|
559
|
+
/**
|
|
560
|
+
* Did the test crash?
|
|
561
|
+
*/
|
|
562
|
+
crashed: boolean;
|
|
563
|
+
/**
|
|
564
|
+
* Test result status (e.g.: 'passed', 'failed', 'crashed')
|
|
565
|
+
* @privateRemarks This should be a union of string literals. Fix it
|
|
566
|
+
*/
|
|
567
|
+
status: string;
|
|
568
|
+
/**
|
|
569
|
+
* How long the test took to run (in seconds)
|
|
570
|
+
*/
|
|
571
|
+
duration: number;
|
|
572
|
+
/**
|
|
573
|
+
* The failure message (if applicable)
|
|
574
|
+
*/
|
|
575
|
+
failureMessage?: string;
|
|
576
|
+
/**
|
|
577
|
+
* The geolocation of the test (if applicable)
|
|
578
|
+
* @privateRemarks Document the type
|
|
579
|
+
*/
|
|
580
|
+
location?: string;
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
export interface RunXCTestResult {
|
|
584
|
+
/**
|
|
585
|
+
* The results of each test run
|
|
586
|
+
*/
|
|
587
|
+
results: XCTestResult[];
|
|
588
|
+
/**
|
|
589
|
+
* Exit code of the process. `0` means success
|
|
590
|
+
*/
|
|
591
|
+
code: number;
|
|
592
|
+
/**
|
|
593
|
+
* The signal that terminated the process (or null) (e.g.: `SIGTERM`)
|
|
594
|
+
* @privateRemarks This should be a union of string literals. Fix it
|
|
595
|
+
*/
|
|
596
|
+
signal: string | null;
|
|
597
|
+
/**
|
|
598
|
+
* If all tests passed
|
|
599
|
+
*/
|
|
600
|
+
passed: boolean;
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
/**
|
|
604
|
+
* Representation of a viewport.
|
|
605
|
+
*
|
|
606
|
+
* @see https://developer.apple.com/library/archive/documentation/2DDrawing/Conceptual/DrawingPrintingiOS/GraphicsDrawingOverview/GraphicsDrawingOverview.html
|
|
607
|
+
*/
|
|
608
|
+
export interface Viewport {
|
|
609
|
+
/**
|
|
610
|
+
* Distance from left of screen
|
|
611
|
+
*/
|
|
612
|
+
left: 0;
|
|
613
|
+
/**
|
|
614
|
+
* Distance from top of screen
|
|
615
|
+
*/
|
|
616
|
+
top: number;
|
|
617
|
+
/**
|
|
618
|
+
* Screen width
|
|
619
|
+
*/
|
|
620
|
+
width: number;
|
|
621
|
+
/**
|
|
622
|
+
* Screen height
|
|
623
|
+
*/
|
|
624
|
+
height: number;
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
export interface KeyboardKey {
|
|
628
|
+
/**
|
|
629
|
+
* Represents a key to type (see
|
|
630
|
+
* https://developer.apple.com/documentation/xctest/xcuielement/1500604-typekey?language=objc
|
|
631
|
+
* and https://developer.apple.com/documentation/xctest/xcuikeyboardkey?language=objc)
|
|
632
|
+
*/
|
|
633
|
+
key: string;
|
|
634
|
+
/**
|
|
635
|
+
* Set of modifier flags
|
|
636
|
+
* (https://developer.apple.com/documentation/xctest/xcuikeymodifierflags?language=objc)
|
|
637
|
+
* to use when typing the key.
|
|
638
|
+
*/
|
|
639
|
+
modifierFlags?: number;
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
export interface LogEntry {
|
|
643
|
+
timestamp: number;
|
|
644
|
+
level: string,
|
|
645
|
+
message: string;
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
export type LogListener = (logEntry: LogEntry) => any;
|