@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,370 @@
|
|
|
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
|
+
exports.IO_TIMEOUT_MS = void 0;
|
|
40
|
+
exports.pullFile = pullFile;
|
|
41
|
+
exports.pullFolder = pullFolder;
|
|
42
|
+
exports.pushFile = pushFile;
|
|
43
|
+
exports.pushFolder = pushFolder;
|
|
44
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
45
|
+
const bluebird_1 = __importStar(require("bluebird"));
|
|
46
|
+
const support_1 = require("appium/support");
|
|
47
|
+
const path_1 = __importDefault(require("path"));
|
|
48
|
+
const logger_1 = __importDefault(require("./logger"));
|
|
49
|
+
exports.IO_TIMEOUT_MS = 4 * 60 * 1000;
|
|
50
|
+
// Mobile devices use NAND memory modules for the storage,
|
|
51
|
+
// and the parallelism there is not as performant as on regular SSDs
|
|
52
|
+
const MAX_IO_CHUNK_SIZE = 8;
|
|
53
|
+
/**
|
|
54
|
+
* Retrieve a file from a real device
|
|
55
|
+
*
|
|
56
|
+
* @param {any} afcService Apple File Client service instance from
|
|
57
|
+
* 'appium-ios-device' module
|
|
58
|
+
* @param {string} remotePath Relative path to the file on the device
|
|
59
|
+
* @returns {Promise<Buffer>} The file content as a buffer
|
|
60
|
+
*/
|
|
61
|
+
async function pullFile(afcService, remotePath) {
|
|
62
|
+
const stream = await afcService.createReadStream(remotePath, { autoDestroy: true });
|
|
63
|
+
const pullPromise = new bluebird_1.default((resolve, reject) => {
|
|
64
|
+
stream.on('close', resolve);
|
|
65
|
+
stream.on('error', reject);
|
|
66
|
+
}).timeout(exports.IO_TIMEOUT_MS);
|
|
67
|
+
const buffers = [];
|
|
68
|
+
stream.on('data', (data) => buffers.push(data));
|
|
69
|
+
await pullPromise;
|
|
70
|
+
return Buffer.concat(buffers);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Checks a presence of a local folder.
|
|
74
|
+
*
|
|
75
|
+
* @param {string} folderPath Full path to the local folder
|
|
76
|
+
* @returns {Promise<boolean>} True if the folder exists and is actually a folder
|
|
77
|
+
*/
|
|
78
|
+
async function folderExists(folderPath) {
|
|
79
|
+
try {
|
|
80
|
+
return (await support_1.fs.stat(folderPath)).isDirectory();
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Retrieve a folder from a real device
|
|
88
|
+
*
|
|
89
|
+
* @param {any} afcService Apple File Client service instance from
|
|
90
|
+
* 'appium-ios-device' module
|
|
91
|
+
* @param {string} remoteRootPath Relative path to the folder on the device
|
|
92
|
+
* @returns {Promise<Buffer>} The folder content as a zipped base64-encoded buffer
|
|
93
|
+
*/
|
|
94
|
+
async function pullFolder(afcService, remoteRootPath) {
|
|
95
|
+
const tmpFolder = await support_1.tempDir.openDir();
|
|
96
|
+
try {
|
|
97
|
+
let localTopItem = null;
|
|
98
|
+
let countFilesSuccess = 0;
|
|
99
|
+
let countFilesFail = 0;
|
|
100
|
+
let countFolders = 0;
|
|
101
|
+
const pullPromises = [];
|
|
102
|
+
await afcService.walkDir(remoteRootPath, true, async (remotePath, isDir) => {
|
|
103
|
+
const localPath = path_1.default.join(tmpFolder, remotePath);
|
|
104
|
+
const dirname = isDir ? localPath : path_1.default.dirname(localPath);
|
|
105
|
+
if (!(await folderExists(dirname))) {
|
|
106
|
+
await (0, support_1.mkdirp)(dirname);
|
|
107
|
+
}
|
|
108
|
+
if (!localTopItem || localPath.split(path_1.default.sep).length < localTopItem.split(path_1.default.sep).length) {
|
|
109
|
+
localTopItem = localPath;
|
|
110
|
+
}
|
|
111
|
+
if (isDir) {
|
|
112
|
+
++countFolders;
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
const readStream = await afcService.createReadStream(remotePath, { autoDestroy: true });
|
|
116
|
+
const writeStream = support_1.fs.createWriteStream(localPath, { autoClose: true });
|
|
117
|
+
pullPromises.push(new bluebird_1.default((resolve) => {
|
|
118
|
+
writeStream.on('close', () => {
|
|
119
|
+
++countFilesSuccess;
|
|
120
|
+
resolve();
|
|
121
|
+
});
|
|
122
|
+
const onStreamingError = (e) => {
|
|
123
|
+
readStream.unpipe(writeStream);
|
|
124
|
+
logger_1.default.warn(`Cannot pull '${remotePath}' to '${localPath}'. ` +
|
|
125
|
+
`The file will be skipped. Original error: ${e.message}`);
|
|
126
|
+
++countFilesFail;
|
|
127
|
+
resolve();
|
|
128
|
+
};
|
|
129
|
+
writeStream.on('error', onStreamingError);
|
|
130
|
+
readStream.on('error', onStreamingError);
|
|
131
|
+
}).timeout(exports.IO_TIMEOUT_MS));
|
|
132
|
+
readStream.pipe(writeStream);
|
|
133
|
+
if (pullPromises.length >= MAX_IO_CHUNK_SIZE) {
|
|
134
|
+
await bluebird_1.default.any(pullPromises);
|
|
135
|
+
for (let i = pullPromises.length - 1; i >= 0; i--) {
|
|
136
|
+
if (pullPromises[i].isFulfilled()) {
|
|
137
|
+
pullPromises.splice(i, 1);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
// Wait for the rest of files to be pulled
|
|
143
|
+
if (!lodash_1.default.isEmpty(pullPromises)) {
|
|
144
|
+
await bluebird_1.default.all(pullPromises);
|
|
145
|
+
}
|
|
146
|
+
logger_1.default.info(`Pulled ${support_1.util.pluralize('file', countFilesSuccess, true)} out of ` +
|
|
147
|
+
`${countFilesSuccess + countFilesFail} and ${support_1.util.pluralize('folder', countFolders, true)} ` +
|
|
148
|
+
`from '${remoteRootPath}'`);
|
|
149
|
+
return await support_1.zip.toInMemoryZip(localTopItem ? path_1.default.dirname(localTopItem) : tmpFolder, {
|
|
150
|
+
encodeToBase64: true,
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
finally {
|
|
154
|
+
await support_1.fs.rimraf(tmpFolder);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Creates remote folder path recursively. Noop if the given path
|
|
159
|
+
* already exists
|
|
160
|
+
*
|
|
161
|
+
* @param {any} afcService Apple File Client service instance from
|
|
162
|
+
* 'appium-ios-device' module
|
|
163
|
+
* @param {string} remoteRoot The relative path to the remote folder structure
|
|
164
|
+
* to be created
|
|
165
|
+
*/
|
|
166
|
+
async function remoteMkdirp(afcService, remoteRoot) {
|
|
167
|
+
if (remoteRoot === '.' || remoteRoot === '/') {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
try {
|
|
171
|
+
await afcService.listDirectory(remoteRoot);
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
catch {
|
|
175
|
+
// This means that the directory is missing and we got an object not found error.
|
|
176
|
+
// Therefore, we are going to the parent
|
|
177
|
+
await remoteMkdirp(afcService, path_1.default.dirname(remoteRoot));
|
|
178
|
+
}
|
|
179
|
+
await afcService.createDirectory(remoteRoot);
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* @typedef {Object} PushFileOptions
|
|
183
|
+
* @property {number} [timeoutMs=240000] The maximum count of milliceconds to wait until
|
|
184
|
+
* file push is completed. Cannot be lower than 60000ms
|
|
185
|
+
*/
|
|
186
|
+
/**
|
|
187
|
+
* Pushes a file to a real device
|
|
188
|
+
*
|
|
189
|
+
* @param {any} afcService afcService Apple File Client service instance from
|
|
190
|
+
* 'appium-ios-device' module
|
|
191
|
+
* @param {string|Buffer} localPathOrPayload Either full path to the source file
|
|
192
|
+
* or a buffer payload to be written into the remote destination
|
|
193
|
+
* @param {string} remotePath Relative path to the file on the device. The remote
|
|
194
|
+
* folder structure is created automatically if necessary.
|
|
195
|
+
* @param {PushFileOptions} [opts={}]
|
|
196
|
+
*/
|
|
197
|
+
async function pushFile(afcService, localPathOrPayload, remotePath, opts = {}) {
|
|
198
|
+
const { timeoutMs = exports.IO_TIMEOUT_MS } = opts;
|
|
199
|
+
const timer = new support_1.timing.Timer().start();
|
|
200
|
+
await remoteMkdirp(afcService, path_1.default.dirname(remotePath));
|
|
201
|
+
const source = Buffer.isBuffer(localPathOrPayload)
|
|
202
|
+
? localPathOrPayload
|
|
203
|
+
: support_1.fs.createReadStream(localPathOrPayload, { autoClose: true });
|
|
204
|
+
const writeStream = await afcService.createWriteStream(remotePath, {
|
|
205
|
+
autoDestroy: true,
|
|
206
|
+
});
|
|
207
|
+
writeStream.on('finish', writeStream.destroy);
|
|
208
|
+
let pushError = null;
|
|
209
|
+
const filePushPromise = new bluebird_1.default((resolve, reject) => {
|
|
210
|
+
writeStream.on('close', () => {
|
|
211
|
+
if (pushError) {
|
|
212
|
+
reject(pushError);
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
resolve();
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
const onStreamError = (e) => {
|
|
219
|
+
if (!Buffer.isBuffer(source)) {
|
|
220
|
+
source.unpipe(writeStream);
|
|
221
|
+
}
|
|
222
|
+
logger_1.default.debug(e);
|
|
223
|
+
pushError = e;
|
|
224
|
+
};
|
|
225
|
+
writeStream.on('error', onStreamError);
|
|
226
|
+
if (!Buffer.isBuffer(source)) {
|
|
227
|
+
source.on('error', onStreamError);
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
if (Buffer.isBuffer(source)) {
|
|
231
|
+
writeStream.write(source);
|
|
232
|
+
writeStream.end();
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
source.pipe(writeStream);
|
|
236
|
+
}
|
|
237
|
+
await filePushPromise.timeout(Math.max(timeoutMs, 60000));
|
|
238
|
+
const fileSize = Buffer.isBuffer(localPathOrPayload)
|
|
239
|
+
? localPathOrPayload.length
|
|
240
|
+
: (await support_1.fs.stat(localPathOrPayload)).size;
|
|
241
|
+
logger_1.default.debug(`Successfully pushed the file payload (${support_1.util.toReadableSizeString(fileSize)}) ` +
|
|
242
|
+
`to the remote location '${remotePath}' in ${timer.getDuration().asMilliSeconds.toFixed(0)}ms`);
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* @typedef {Object} PushFolderOptions
|
|
246
|
+
*
|
|
247
|
+
* @property {number} [timeoutMs=240000] The maximum timeout to wait until a
|
|
248
|
+
* single file is copied
|
|
249
|
+
* @property {boolean} [enableParallelPush=false] Whether to push files in parallel.
|
|
250
|
+
* This usually gives better performance, but might sometimes be less stable.
|
|
251
|
+
*/
|
|
252
|
+
/**
|
|
253
|
+
* Pushes a folder to a real device
|
|
254
|
+
*
|
|
255
|
+
* @param {any} afcService Apple File Client service instance from
|
|
256
|
+
* 'appium-ios-device' module
|
|
257
|
+
* @param {string} srcRootPath The full path to the source folder
|
|
258
|
+
* @param {string} dstRootPath The relative path to the destination folder. The folder
|
|
259
|
+
* will be deleted if already exists.
|
|
260
|
+
* @param {PushFolderOptions} opts
|
|
261
|
+
*/
|
|
262
|
+
async function pushFolder(afcService, srcRootPath, dstRootPath, opts = {}) {
|
|
263
|
+
const { timeoutMs = exports.IO_TIMEOUT_MS, enableParallelPush = false } = opts;
|
|
264
|
+
const timer = new support_1.timing.Timer().start();
|
|
265
|
+
const allItems = /** @type {import('path-scurry').Path[]} */ (
|
|
266
|
+
/** @type {unknown} */ (await support_1.fs.glob('**', {
|
|
267
|
+
cwd: srcRootPath,
|
|
268
|
+
withFileTypes: true,
|
|
269
|
+
})));
|
|
270
|
+
logger_1.default.debug(`Successfully scanned the tree structure of '${srcRootPath}'`);
|
|
271
|
+
// top-level folders go first
|
|
272
|
+
/** @type {string[]} */
|
|
273
|
+
const foldersToPush = allItems
|
|
274
|
+
.filter((x) => x.isDirectory())
|
|
275
|
+
.map((x) => x.relative())
|
|
276
|
+
.sort((a, b) => a.split(path_1.default.sep).length - b.split(path_1.default.sep).length);
|
|
277
|
+
// larger files go first
|
|
278
|
+
/** @type {string[]} */
|
|
279
|
+
const filesToPush = allItems
|
|
280
|
+
.filter((x) => !x.isDirectory())
|
|
281
|
+
.sort((a, b) => (b.size ?? 0) - (a.size ?? 0))
|
|
282
|
+
.map((x) => x.relative());
|
|
283
|
+
logger_1.default.debug(`Got ${support_1.util.pluralize('folder', foldersToPush.length, true)} and ` +
|
|
284
|
+
`${support_1.util.pluralize('file', filesToPush.length, true)} to push`);
|
|
285
|
+
// create the folder structure first
|
|
286
|
+
try {
|
|
287
|
+
await afcService.deleteDirectory(dstRootPath);
|
|
288
|
+
}
|
|
289
|
+
catch { }
|
|
290
|
+
await afcService.createDirectory(dstRootPath);
|
|
291
|
+
for (const relativeFolderPath of foldersToPush) {
|
|
292
|
+
// createDirectory does not accept folder names ending with a path separator
|
|
293
|
+
const absoluteFolderPath = lodash_1.default.trimEnd(path_1.default.join(dstRootPath, relativeFolderPath), path_1.default.sep);
|
|
294
|
+
if (absoluteFolderPath) {
|
|
295
|
+
await afcService.createDirectory(absoluteFolderPath);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
// do not forget about the root folder
|
|
299
|
+
logger_1.default.debug(`Successfully created the remote folder structure ` +
|
|
300
|
+
`(${support_1.util.pluralize('item', foldersToPush.length + 1, true)})`);
|
|
301
|
+
const _pushFile = async (/** @type {string} */ relativePath) => {
|
|
302
|
+
const absoluteSourcePath = path_1.default.join(srcRootPath, relativePath);
|
|
303
|
+
const readStream = support_1.fs.createReadStream(absoluteSourcePath, { autoClose: true });
|
|
304
|
+
const absoluteDestinationPath = path_1.default.join(dstRootPath, relativePath);
|
|
305
|
+
const writeStream = await afcService.createWriteStream(absoluteDestinationPath, {
|
|
306
|
+
autoDestroy: true,
|
|
307
|
+
});
|
|
308
|
+
writeStream.on('finish', writeStream.destroy);
|
|
309
|
+
let pushError = null;
|
|
310
|
+
const filePushPromise = new bluebird_1.default((resolve, reject) => {
|
|
311
|
+
writeStream.on('close', () => {
|
|
312
|
+
if (pushError) {
|
|
313
|
+
reject(pushError);
|
|
314
|
+
}
|
|
315
|
+
else {
|
|
316
|
+
resolve();
|
|
317
|
+
}
|
|
318
|
+
});
|
|
319
|
+
const onStreamError = (e) => {
|
|
320
|
+
readStream.unpipe(writeStream);
|
|
321
|
+
logger_1.default.debug(e);
|
|
322
|
+
pushError = e;
|
|
323
|
+
};
|
|
324
|
+
writeStream.on('error', onStreamError);
|
|
325
|
+
readStream.on('error', onStreamError);
|
|
326
|
+
});
|
|
327
|
+
readStream.pipe(writeStream);
|
|
328
|
+
await filePushPromise.timeout(Math.max(timeoutMs - timer.getDuration().asMilliSeconds, 60000));
|
|
329
|
+
};
|
|
330
|
+
if (enableParallelPush) {
|
|
331
|
+
logger_1.default.debug(`Proceeding to parallel files push (max ${MAX_IO_CHUNK_SIZE} writers)`);
|
|
332
|
+
const pushPromises = [];
|
|
333
|
+
for (const relativeFilePath of filesToPush) {
|
|
334
|
+
pushPromises.push(bluebird_1.default.resolve(_pushFile(relativeFilePath)));
|
|
335
|
+
// keep the push queue filled
|
|
336
|
+
if (pushPromises.length >= MAX_IO_CHUNK_SIZE) {
|
|
337
|
+
await bluebird_1.default.any(pushPromises);
|
|
338
|
+
const elapsedMs = timer.getDuration().asMilliSeconds;
|
|
339
|
+
if (elapsedMs > timeoutMs) {
|
|
340
|
+
throw new bluebird_1.TimeoutError(`Timed out after ${elapsedMs} ms`);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
for (let i = pushPromises.length - 1; i >= 0; i--) {
|
|
344
|
+
if (pushPromises[i].isFulfilled()) {
|
|
345
|
+
pushPromises.splice(i, 1);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
if (!lodash_1.default.isEmpty(pushPromises)) {
|
|
350
|
+
const remainingPromises = pushPromises.filter((p) => !p.isFulfilled());
|
|
351
|
+
if (remainingPromises.length > 0) {
|
|
352
|
+
await bluebird_1.default.all(remainingPromises).timeout(Math.max(timeoutMs - timer.getDuration().asMilliSeconds, 60000));
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
else {
|
|
357
|
+
logger_1.default.debug(`Proceeding to serial files push`);
|
|
358
|
+
for (const relativeFilePath of filesToPush) {
|
|
359
|
+
await _pushFile(relativeFilePath);
|
|
360
|
+
const elapsedMs = timer.getDuration().asMilliSeconds;
|
|
361
|
+
if (elapsedMs > timeoutMs) {
|
|
362
|
+
throw new bluebird_1.TimeoutError(`Timed out after ${elapsedMs} ms`);
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
logger_1.default.debug(`Successfully pushed ${support_1.util.pluralize('folder', foldersToPush.length, true)} ` +
|
|
367
|
+
`and ${support_1.util.pluralize('file', filesToPush.length, true)} ` +
|
|
368
|
+
`within ${timer.getDuration().asMilliSeconds.toFixed(0)}ms`);
|
|
369
|
+
}
|
|
370
|
+
//# sourceMappingURL=ios-fs-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ios-fs-helpers.js","sourceRoot":"","sources":["../../lib/ios-fs-helpers.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ios-generic-simulators.d.ts","sourceRoot":"","sources":["../../lib/ios-generic-simulators.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = {
|
|
4
|
+
'ipad simulator': [
|
|
5
|
+
['0.0', 'iPad Retina'],
|
|
6
|
+
['10.3', 'iPad Air'],
|
|
7
|
+
['13.0', 'iPad (5th generation)'],
|
|
8
|
+
],
|
|
9
|
+
'iphone simulator': [
|
|
10
|
+
['0.0', 'iPhone 6'],
|
|
11
|
+
['13.0', 'iPhone X'],
|
|
12
|
+
],
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=ios-generic-simulators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ios-generic-simulators.js","sourceRoot":"","sources":["../../lib/ios-generic-simulators.js"],"names":[],"mappings":";;AAAA,kBAAe;IACb,gBAAgB,EAAE;QAChB,CAAC,KAAK,EAAE,aAAa,CAAC;QACtB,CAAC,MAAM,EAAE,UAAU,CAAC;QACpB,CAAC,MAAM,EAAE,uBAAuB,CAAC;KAClC;IACD,kBAAkB,EAAE;QAClB,CAAC,KAAK,EAAE,UAAU,CAAC;QACnB,CAAC,MAAM,EAAE,UAAU,CAAC;KACrB;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.js"],"names":[],"mappings":";AAEA,wDAAyC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.js"],"names":[],"mappings":";;AAAA,4CAAsC;AAEtC,MAAM,GAAG,GAAG,gBAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAEzC,kBAAe,GAAG,CAAC"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
export const newMethodMap: {
|
|
2
|
+
readonly '/session/:sessionId/timeouts/async_script': {
|
|
3
|
+
readonly POST: {
|
|
4
|
+
readonly command: "asyncScriptTimeout";
|
|
5
|
+
readonly payloadParams: {
|
|
6
|
+
readonly required: readonly ["ms"];
|
|
7
|
+
};
|
|
8
|
+
readonly deprecated: true;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
readonly '/session/:sessionId/timeouts/implicit_wait': {
|
|
12
|
+
readonly POST: {
|
|
13
|
+
readonly command: "implicitWait";
|
|
14
|
+
readonly payloadParams: {
|
|
15
|
+
readonly required: readonly ["ms"];
|
|
16
|
+
};
|
|
17
|
+
readonly deprecated: true;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
readonly '/session/:sessionId/window/:windowhandle/size': {
|
|
21
|
+
readonly GET: {
|
|
22
|
+
readonly command: "getWindowSize";
|
|
23
|
+
readonly deprecated: true;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
readonly '/session/:sessionId/element/:elementId/submit': {
|
|
27
|
+
readonly POST: {
|
|
28
|
+
readonly command: "submit";
|
|
29
|
+
readonly deprecated: true;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
readonly '/session/:sessionId/keys': {
|
|
33
|
+
readonly POST: {
|
|
34
|
+
readonly command: "keys";
|
|
35
|
+
readonly payloadParams: {
|
|
36
|
+
readonly required: readonly ["value"];
|
|
37
|
+
};
|
|
38
|
+
readonly deprecated: true;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
readonly '/session/:sessionId/element/:elementId/location': {
|
|
42
|
+
readonly GET: {
|
|
43
|
+
readonly command: "getLocation";
|
|
44
|
+
readonly deprecated: true;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
readonly '/session/:sessionId/element/:elementId/location_in_view': {
|
|
48
|
+
readonly GET: {
|
|
49
|
+
readonly command: "getLocationInView";
|
|
50
|
+
readonly deprecated: true;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
readonly '/session/:sessionId/element/:elementId/size': {
|
|
54
|
+
readonly GET: {
|
|
55
|
+
readonly command: "getSize";
|
|
56
|
+
readonly deprecated: true;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
readonly '/session/:sessionId/appium/device/shake': {
|
|
60
|
+
readonly POST: {
|
|
61
|
+
readonly command: "mobileShake";
|
|
62
|
+
readonly deprecated: true;
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
readonly '/session/:sessionId/appium/device/lock': {
|
|
66
|
+
readonly POST: {
|
|
67
|
+
readonly command: "lock";
|
|
68
|
+
readonly payloadParams: {
|
|
69
|
+
readonly optional: readonly ["seconds"];
|
|
70
|
+
};
|
|
71
|
+
readonly deprecated: true;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
readonly '/session/:sessionId/appium/device/unlock': {
|
|
75
|
+
readonly POST: {
|
|
76
|
+
readonly command: "unlock";
|
|
77
|
+
readonly deprecated: true;
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
readonly '/session/:sessionId/appium/device/is_locked': {
|
|
81
|
+
readonly POST: {
|
|
82
|
+
readonly command: "isLocked";
|
|
83
|
+
readonly deprecated: true;
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
readonly '/session/:sessionId/appium/start_recording_screen': {
|
|
87
|
+
readonly POST: {
|
|
88
|
+
readonly command: "startRecordingScreen";
|
|
89
|
+
readonly payloadParams: {
|
|
90
|
+
readonly optional: readonly ["options"];
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
readonly '/session/:sessionId/appium/stop_recording_screen': {
|
|
95
|
+
readonly POST: {
|
|
96
|
+
readonly command: "stopRecordingScreen";
|
|
97
|
+
readonly payloadParams: {
|
|
98
|
+
readonly optional: readonly ["options"];
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
readonly '/session/:sessionId/appium/device/app_state': {
|
|
103
|
+
readonly POST: {
|
|
104
|
+
readonly command: "queryAppState";
|
|
105
|
+
readonly payloadParams: {
|
|
106
|
+
readonly required: readonly [readonly ["appId"], readonly ["bundleId"]];
|
|
107
|
+
};
|
|
108
|
+
readonly deprecated: true;
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
readonly '/session/:sessionId/appium/simulator/touch_id': {
|
|
112
|
+
readonly POST: {
|
|
113
|
+
readonly command: "touchId";
|
|
114
|
+
readonly payloadParams: {
|
|
115
|
+
readonly required: readonly ["match"];
|
|
116
|
+
};
|
|
117
|
+
readonly deprecated: true;
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
readonly '/session/:sessionId/appium/simulator/toggle_touch_id_enrollment': {
|
|
121
|
+
readonly POST: {
|
|
122
|
+
readonly command: "toggleEnrollTouchId";
|
|
123
|
+
readonly payloadParams: {
|
|
124
|
+
readonly optional: readonly ["enabled"];
|
|
125
|
+
};
|
|
126
|
+
readonly deprecated: true;
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
readonly '/session/:sessionId/appium/app/launch': {
|
|
130
|
+
readonly POST: {
|
|
131
|
+
readonly command: "launchApp";
|
|
132
|
+
readonly deprecated: true;
|
|
133
|
+
};
|
|
134
|
+
};
|
|
135
|
+
readonly '/session/:sessionId/appium/app/close': {
|
|
136
|
+
readonly POST: {
|
|
137
|
+
readonly command: "closeApp";
|
|
138
|
+
readonly deprecated: true;
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
readonly '/session/:sessionId/appium/app/reset': {
|
|
142
|
+
readonly POST: {
|
|
143
|
+
readonly command: "reset";
|
|
144
|
+
readonly deprecated: true;
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
readonly '/session/:sessionId/appium/app/background': {
|
|
148
|
+
readonly POST: {
|
|
149
|
+
readonly command: "background";
|
|
150
|
+
readonly payloadParams: {
|
|
151
|
+
readonly required: readonly ["seconds"];
|
|
152
|
+
};
|
|
153
|
+
readonly deprecated: true;
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
readonly '/session/:sessionId/appium/app/strings': {
|
|
157
|
+
readonly POST: {
|
|
158
|
+
readonly command: "getStrings";
|
|
159
|
+
readonly payloadParams: {
|
|
160
|
+
readonly optional: readonly ["language", "stringFile"];
|
|
161
|
+
};
|
|
162
|
+
readonly deprecated: true;
|
|
163
|
+
};
|
|
164
|
+
};
|
|
165
|
+
readonly '/session/:sessionId/appium/element/:elementId/value': {
|
|
166
|
+
readonly POST: {
|
|
167
|
+
readonly command: "setValueImmediate";
|
|
168
|
+
readonly payloadParams: {
|
|
169
|
+
readonly required: readonly ["text"];
|
|
170
|
+
};
|
|
171
|
+
readonly deprecated: true;
|
|
172
|
+
};
|
|
173
|
+
};
|
|
174
|
+
readonly '/session/:sessionId/appium/receive_async_response': {
|
|
175
|
+
readonly POST: {
|
|
176
|
+
readonly command: "receiveAsyncResponse";
|
|
177
|
+
readonly payloadParams: {
|
|
178
|
+
readonly required: readonly ["response"];
|
|
179
|
+
};
|
|
180
|
+
readonly deprecated: true;
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
readonly '/session/:sessionId/appium/device/get_clipboard': {
|
|
184
|
+
readonly POST: {
|
|
185
|
+
readonly command: "getClipboard";
|
|
186
|
+
readonly payloadParams: {
|
|
187
|
+
readonly optional: readonly ["contentType"];
|
|
188
|
+
};
|
|
189
|
+
readonly deprecated: true;
|
|
190
|
+
};
|
|
191
|
+
};
|
|
192
|
+
readonly '/session/:sessionId/appium/device/set_clipboard': {
|
|
193
|
+
readonly POST: {
|
|
194
|
+
readonly command: "setClipboard";
|
|
195
|
+
readonly payloadParams: {
|
|
196
|
+
readonly required: readonly ["content"];
|
|
197
|
+
readonly optional: readonly ["contentType", "label"];
|
|
198
|
+
};
|
|
199
|
+
readonly deprecated: true;
|
|
200
|
+
};
|
|
201
|
+
};
|
|
202
|
+
readonly '/session/:sessionId/log': {
|
|
203
|
+
readonly POST: {
|
|
204
|
+
readonly command: "getLog";
|
|
205
|
+
readonly payloadParams: {
|
|
206
|
+
readonly required: readonly ["type"];
|
|
207
|
+
};
|
|
208
|
+
};
|
|
209
|
+
};
|
|
210
|
+
readonly '/session/:sessionId/log/types': {
|
|
211
|
+
readonly GET: {
|
|
212
|
+
readonly command: "getLogTypes";
|
|
213
|
+
};
|
|
214
|
+
};
|
|
215
|
+
readonly '/session/:sessionId/location': {
|
|
216
|
+
readonly GET: {
|
|
217
|
+
readonly command: "getGeoLocation";
|
|
218
|
+
readonly deprecated: true;
|
|
219
|
+
};
|
|
220
|
+
readonly POST: {
|
|
221
|
+
readonly command: "setGeoLocation";
|
|
222
|
+
readonly payloadParams: {
|
|
223
|
+
readonly required: readonly ["location"];
|
|
224
|
+
};
|
|
225
|
+
readonly deprecated: true;
|
|
226
|
+
};
|
|
227
|
+
};
|
|
228
|
+
};
|
|
229
|
+
//# sourceMappingURL=method-map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"method-map.d.ts","sourceRoot":"","sources":["../../lib/method-map.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmMG"}
|