@devicelab/maestro-runner-darwin-arm64 1.1.25 → 1.1.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (701) hide show
  1. package/README.md +45 -11
  2. package/THIRD_PARTY_LICENSES +0 -186
  3. package/bin/maestro-runner +0 -0
  4. package/drivers/LICENSE-BINARIES.md +38 -0
  5. package/drivers/android/devicelab-android-driver-test.apk +0 -0
  6. package/drivers/android/devicelab-android-driver.apk +0 -0
  7. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunner.xcodeproj/project.pbxproj +38 -14
  8. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/Bridging-Header.h +3 -0
  9. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerAXSnapshotBridge.h +51 -0
  10. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerAXSnapshotBridge.m +439 -0
  11. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerDefaults.h +12 -0
  12. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerDefaults.m +59 -0
  13. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests+AXSnapshotFallback.swift +128 -0
  14. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests+CommandExecution.swift +68 -14
  15. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests+Interaction.swift +256 -48
  16. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests+Lifecycle.swift +102 -6
  17. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests+Models.swift +74 -1
  18. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests+Settle.swift +89 -0
  19. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests+Snapshot.swift +279 -82
  20. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests+SystemModal.swift +1 -1
  21. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests+Transport.swift +7 -2
  22. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests.swift +44 -10
  23. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerXCTestTimeouts.h +87 -0
  24. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerXCTestTimeouts.m +207 -0
  25. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/SnapshotParams.m +22 -6
  26. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/SyntheticTyping.h +23 -0
  27. package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/SyntheticTyping.m +77 -30
  28. package/drivers/ios/DevicelabIOSRunner/PROTOCOL.md +26 -3
  29. package/drivers/ios/WebDriverAgent/.editorconfig +11 -0
  30. package/drivers/ios/WebDriverAgent/.github/dependabot.yml +1 -1
  31. package/drivers/ios/WebDriverAgent/.github/workflows/functional-test.yml +65 -24
  32. package/drivers/ios/WebDriverAgent/.github/workflows/publish.js.yml +15 -8
  33. package/drivers/ios/WebDriverAgent/.github/workflows/unit-test.yml +4 -2
  34. package/drivers/ios/WebDriverAgent/.github/workflows/wda-package.yml +9 -2
  35. package/drivers/ios/WebDriverAgent/.github/workflows/wda-tests.yml +54 -29
  36. package/drivers/ios/WebDriverAgent/CHANGELOG.md +546 -0
  37. package/drivers/ios/WebDriverAgent/Fastlane/Fastfile +8 -1
  38. package/drivers/ios/WebDriverAgent/Gemfile +1 -0
  39. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/CDStructures.h +5 -26
  40. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/NSFastEnumeration-Protocol.h +23 -0
  41. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCAXClient_iOS.h +80 -44
  42. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCApplicationQuery.h +18 -11
  43. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCDebugLogDelegate-Protocol.h +17 -5
  44. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCPointerEvent.h +52 -19
  45. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCPointerEventPath.h +55 -33
  46. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCSynthesizedEventRecord.h +44 -21
  47. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTAggregateSuiteRunStatistics.h +38 -0
  48. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTAttachmentManager.h +33 -0
  49. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTCapabilities.h +35 -0
  50. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTCapabilitiesProviding-Protocol.h +23 -0
  51. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTElementSetTransformer-Protocol.h +30 -13
  52. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTElementSnapshotAttributeDataSource-Protocol.h +33 -0
  53. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTElementSnapshotProvider-Protocol.h +23 -0
  54. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTExpectedFailureContextManager.h +35 -0
  55. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTFuture.h +45 -0
  56. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTHarnessEventReporting-Protocol.h +29 -0
  57. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTIssue.h +49 -0
  58. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTIssueHandling-Protocol.h +26 -0
  59. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMacCatalystStatusProviding-Protocol.h +23 -0
  60. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMeasureOptions.h +48 -0
  61. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMemoryChecker.h +50 -0
  62. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMemoryCheckerDelegate-Protocol.h +26 -0
  63. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingChannel_IDEToRunner-Protocol.h +27 -0
  64. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingChannel_RunnerToDaemon-Protocol.h +39 -0
  65. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingChannel_RunnerToIDE-Protocol.h +32 -0
  66. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_ActivityReporting-Protocol.h +24 -0
  67. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_AttachmentFutureResultStatusUpdating-Protocol.h +23 -0
  68. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_BundleRequesting-Protocol.h +24 -0
  69. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_CapabilityExchange-Protocol.h +56 -0
  70. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_DebugLogging-Protocol.h +23 -0
  71. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_EventSynthesis-Protocol.h +34 -0
  72. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_ForcePressureSupportQuerying-Protocol.h +25 -0
  73. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_HIDEventRecording-Protocol.h +25 -0
  74. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_MemoryTesting-Protocol.h +23 -0
  75. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_PerformanceMeasurementReporting-Protocol.h +23 -0
  76. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_ProcessMonitoring-Protocol.h +25 -0
  77. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_ProtectedResourceAuthorization-Protocol.h +22 -0
  78. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_ScreenRecording-Protocol.h +24 -0
  79. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_SelfDiagnosisIssueReporting-Protocol.h +23 -0
  80. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_SignpostRequesting-Protocol.h +24 -0
  81. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_SiriAutomation-Protocol.h +27 -0
  82. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_SystemConfiguration-Protocol.h +27 -0
  83. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_TelemetrySending-Protocol.h +23 -0
  84. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_TestExecution-Protocol.h +28 -0
  85. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_TestReporting-Protocol.h +40 -0
  86. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_UIAutomation-Protocol.h +29 -0
  87. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_UIAutomationRunnerEventReporting-Protocol.h +27 -0
  88. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_UserPresence-Protocol.h +24 -0
  89. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMetricDiagnosticHelper.h +49 -0
  90. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTNSPredicateExpectationObject-Protocol.h +15 -7
  91. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTPromise.h +30 -0
  92. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTRemoteSignpostListenerProxy-Protocol.h +29 -0
  93. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTRepetitionPolicy.h +43 -0
  94. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTReportingSession.h +50 -0
  95. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTReportingSessionConfiguration-Protocol.h +27 -0
  96. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTReportingSessionIssueReporter-Protocol.h +23 -0
  97. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTReportingSessionTestContainer-Protocol.h +26 -0
  98. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTReportingSessionTestReporter.h +51 -0
  99. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTRunnerAutomationSession-Protocol.h +38 -0
  100. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTRunnerDaemonSession.h +76 -78
  101. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTRunnerDaemonSessionUIAutomationDelegate-Protocol.h +33 -0
  102. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTRunnerIDESession.h +87 -53
  103. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTRunnerIDESessionDelegate-Protocol.h +24 -0
  104. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTRuntimeDiagnosticsPolicy.h +36 -0
  105. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTRuntimeIssueDetectionPolicy.h +39 -0
  106. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTScreenCapturePolicy.h +35 -0
  107. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTSignpostListener-Protocol.h +25 -0
  108. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTSkippedTestContext.h +37 -0
  109. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTSourceCodeContext.h +39 -0
  110. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTSourceCodeLocation.h +31 -0
  111. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTTagSelection.h +41 -0
  112. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTTestIdentifier.h +81 -0
  113. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTTestIdentifierSet.h +54 -0
  114. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTTestSelection.h +35 -0
  115. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTWaiter.h +45 -46
  116. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTWaiterManagement-Protocol.h +17 -6
  117. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTWaiterManager-Protocol.h +25 -0
  118. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTWaiterWait.h +40 -0
  119. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTest.h +47 -28
  120. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestCase.h +165 -87
  121. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestCaseDiscoveryUIAutomationDelegate-Protocol.h +20 -0
  122. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestCaseRun.h +19 -9
  123. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestCaseUIAutomationDelegate-Protocol.h +25 -0
  124. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestCastMethodNamesUIAutomationDelegate-Protocol.h +24 -0
  125. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestConfiguration.h +83 -55
  126. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestDriver.h +54 -28
  127. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestExpectation.h +37 -26
  128. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestExpectationDelegate-Protocol.h +15 -6
  129. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestObservationCenter.h +49 -25
  130. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestRun.h +33 -28
  131. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIAXNotificationHandling-Protocol.h +25 -0
  132. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIAccessibilityInterface-Protocol.h +58 -0
  133. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIAlertMonitoring-Protocol.h +27 -0
  134. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplication.h +87 -49
  135. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationAutomationSessionProviding-Protocol.h +26 -0
  136. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationImpl.h +78 -26
  137. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationImplReporter-Protocol.h +26 -0
  138. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationManaging-Protocol.h +23 -0
  139. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationMonitor-Protocol.h +43 -0
  140. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationOpenRequest.h +34 -0
  141. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationPlatformServicesProviderDelegate-Protocol.h +25 -0
  142. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationProcess.h +89 -69
  143. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationProcessDelegate-Protocol.h +25 -0
  144. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationProcessManaging-Protocol.h +26 -0
  145. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationProcessTracker-Protocol.h +28 -0
  146. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationRegistry.h +32 -0
  147. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIButtonConsole.h +26 -0
  148. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUICoordinate.h +37 -32
  149. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIDevice.h +121 -17
  150. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIDeviceAutomationModeInterface-Protocol.h +25 -0
  151. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIDeviceDelayedAttachmentTransferSupportInterface-Protocol.h +22 -0
  152. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIDeviceEventAndStateInterface-Protocol.h +40 -0
  153. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIElement.h +192 -59
  154. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIElementAttributesPrivate-Protocol.h +26 -0
  155. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIElementEventTarget-Protocol.h +38 -0
  156. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIElementQuery.h +154 -58
  157. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIElementTypeQueryProvider_Private-Protocol.h +24 -0
  158. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIEventRecording-Protocol.h +37 -0
  159. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIHitPointResult.h +16 -11
  160. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIInterruptionMonitoring-Protocol.h +27 -0
  161. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIIssueDiagnosticsProviding-Protocol.h +23 -0
  162. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIKnobControl.h +26 -0
  163. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUILocation.h +24 -0
  164. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIPlatformApplicationServicesProviding-Protocol.h +33 -0
  165. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIRemoteAccessibilityInterface-Protocol.h +45 -0
  166. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIRemoteDeviceRunner-Protocol.h +24 -0
  167. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIRemoteSiriInterface-Protocol.h +30 -0
  168. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIResetAuthorizationStatusOfProtectedResourcesInterface-Protocol.h +22 -0
  169. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIScreen.h +45 -19
  170. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIScreenDataSource-Protocol.h +28 -12
  171. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUISiriService.h +39 -0
  172. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUISystem.h +26 -0
  173. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIXcodeApplicationManaging-Protocol.h +27 -0
  174. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_TtC10XCTestCore19XCTReportingContext.h +26 -0
  175. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTMessaging_VoidProtocol-Protocol.h +20 -0
  176. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTestObservationInternal-Protocol.h +26 -0
  177. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTestObservationPrivate-Protocol.h +27 -0
  178. package/drivers/ios/WebDriverAgent/README.md +0 -10
  179. package/drivers/ios/WebDriverAgent/Scripts/build-webdriveragent.mjs +30 -22
  180. package/drivers/ios/WebDriverAgent/Scripts/build.sh +14 -1
  181. package/drivers/ios/WebDriverAgent/Scripts/embed-runner-icon.sh +118 -0
  182. package/drivers/ios/WebDriverAgent/Scripts/fetch-prebuilt-wda.mjs +34 -22
  183. package/drivers/ios/WebDriverAgent/Scripts/update-wda-version.mjs +12 -10
  184. package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/project.pbxproj +2583 -659
  185. package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationApp.xcscheme +1 -1
  186. package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationApp_tvOS.xcscheme +78 -0
  187. package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationApp_watchOS.xcscheme +78 -0
  188. package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationTests_1.xcscheme +8 -1
  189. package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationTests_2.xcscheme +8 -1
  190. package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationTests_3.xcscheme +8 -1
  191. package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationTests_tvOS.xcscheme +93 -0
  192. package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationTests_watchOS.xcscheme +93 -0
  193. package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/WebDriverAgentLib.xcscheme +1 -1
  194. package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/WebDriverAgentLib_tvOS.xcscheme +1 -1
  195. package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/WebDriverAgentLib_watchOS.xcscheme +85 -0
  196. package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/WebDriverAgentRunner-nodebug.xcscheme +1 -1
  197. package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/WebDriverAgentRunner.xcscheme +20 -2
  198. package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/WebDriverAgentRunner_tvOS.xcscheme +1 -1
  199. package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/WebDriverAgentRunner_watchOS.xcscheme +128 -0
  200. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/NSDictionary+FBUtf8SafeDictionary.m +45 -27
  201. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCAXClient_iOS+FBSnapshotReqParams.h +1 -0
  202. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCAXClient_iOS+FBSnapshotReqParams.m +91 -0
  203. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIApplication+FBAlert.h +27 -3
  204. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIApplication+FBAlert.m +125 -55
  205. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIApplication+FBHelpers.h +15 -0
  206. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIApplication+FBHelpers.m +32 -3
  207. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIApplication+FBTouchAction.m +2 -3
  208. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIApplicationProcess+FBQuiescence.m +9 -16
  209. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIDevice+FBHelpers.h +47 -4
  210. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIDevice+FBHelpers.m +173 -83
  211. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIDevice+FBRotation.h +9 -1
  212. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIDevice+FBRotation.m +45 -5
  213. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIDevice+FBVoiceOver.h +66 -0
  214. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIDevice+FBVoiceOver.m +218 -0
  215. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBClassChain.m +144 -3
  216. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBFind.m +1 -1
  217. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBForceTouch.m +5 -2
  218. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBPickerWheel.m +4 -3
  219. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBScrolling.m +113 -50
  220. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBTVFocuse.m +5 -5
  221. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBTyping.h +33 -0
  222. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBTyping.m +39 -5
  223. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBUtilities.m +9 -7
  224. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBVisibleFrame.m +12 -3
  225. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBWebDriverAttributes.m +6 -1
  226. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElementQuery+FBHelpers.m +1 -0
  227. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Commands/FBAlertViewCommands.m +10 -36
  228. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Commands/FBCustomCommands.m +155 -8
  229. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Commands/FBElementCommands.m +45 -19
  230. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Commands/FBFindElementCommands.m +7 -7
  231. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Commands/FBOrientationCommands.m +9 -2
  232. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Commands/FBScreenshotCommands.m +3 -3
  233. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Commands/FBSessionCommands.m +220 -296
  234. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/FBAlert.h +43 -30
  235. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/FBAlert.m +273 -93
  236. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Info.plist +2 -2
  237. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBElement.h +3 -0
  238. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBExceptionHandler.m +8 -1
  239. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBExceptions.h +9 -0
  240. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBExceptions.m +3 -0
  241. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBHTTPServer.h +97 -0
  242. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBHTTPServer.m +932 -0
  243. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBResponseJSONPayload.m +2 -3
  244. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBResponsePayload.m +1 -1
  245. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBRoute.h +9 -0
  246. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBRoute.m +9 -0
  247. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBScreenRecordingContainer.h +9 -0
  248. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBScreenRecordingContainer.m +28 -12
  249. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBScreenRecordingRequest.m +1 -1
  250. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBSession.h +16 -0
  251. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBSession.m +252 -42
  252. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBTCPSocket.h +57 -9
  253. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBTCPSocket.m +183 -33
  254. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBWebServer.h +18 -2
  255. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBWebServer.m +92 -37
  256. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBXCElementSnapshot.h +1 -1
  257. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/RouteRequest.h +28 -0
  258. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/RouteRequest.m +25 -0
  259. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/RouteResponse.h +30 -0
  260. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/RouteResponse.m +54 -0
  261. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBActiveAppDetectionPoint.m +10 -2
  262. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBAlertsMonitor.m +21 -5
  263. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBBaseActionsSynthesizer.h +2 -1
  264. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBBaseActionsSynthesizer.m +3 -3
  265. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBCapabilities.h +1 -3
  266. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBCapabilities.m +0 -1
  267. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBClassChainQueryParser.m +1 -1
  268. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBConfiguration.h +106 -136
  269. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBConfiguration.m +150 -386
  270. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBFailureProofTestCase.m +6 -0
  271. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBImageProcessor.m +54 -29
  272. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBLogger.m +2 -2
  273. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBMacros.h +14 -5
  274. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBMathUtils.h +54 -1
  275. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBMathUtils.m +48 -2
  276. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBMjpegServer.h +12 -0
  277. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBMjpegServer.m +119 -24
  278. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBPasteboard.h +1 -1
  279. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBPasteboard.m +9 -5
  280. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBScreen.h +10 -0
  281. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBScreen.m +32 -0
  282. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBScreenshot.m +3 -3
  283. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBSettings.h +3 -1
  284. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBSettings.m +3 -1
  285. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBSettingsHandler.h +35 -0
  286. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBSettingsHandler.m +374 -0
  287. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBTVNavigationTracker-Private.h +10 -0
  288. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBTVNavigationTracker.h +29 -4
  289. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBTVNavigationTracker.m +62 -27
  290. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBW3CActionsSynthesizer.h +1 -1
  291. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBW3CActionsSynthesizer.m +28 -10
  292. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBXCAXClientProxy.h +124 -2
  293. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBXCAXClientProxy.m +142 -21
  294. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBXCTestDaemonsProxy.h +2 -2
  295. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBXCTestDaemonsProxy.m +22 -19
  296. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBXCodeCompatibility.h +1 -8
  297. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBXCodeCompatibility.m +57 -27
  298. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBXPath-Private.h +5 -0
  299. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBXPath.m +69 -14
  300. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBXPathExtensions.h +40 -0
  301. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBXPathExtensions.m +418 -0
  302. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/XCTestPrivateSymbols.h +2 -2
  303. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/XCTestPrivateSymbols.m +54 -34
  304. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/WebDriverAgentLib.h +1 -0
  305. package/drivers/ios/WebDriverAgent/WebDriverAgentRunner/Assets.xcassets/AppIcon.appiconset/Contents.json +14 -0
  306. package/drivers/ios/WebDriverAgent/WebDriverAgentRunner/Assets.xcassets/AppIcon.appiconset/icon-1024.png +0 -0
  307. package/drivers/ios/WebDriverAgent/WebDriverAgentRunner/Assets.xcassets/Contents.json +6 -0
  308. package/drivers/ios/WebDriverAgent/WebDriverAgentRunner/UITestingUITests.m +7 -7
  309. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/COORDINATE_PROBE.md +50 -0
  310. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/Classes/FBCoordinateProbeViewController.h +4 -0
  311. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/Classes/FBCoordinateProbeViewController.m +176 -0
  312. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/Classes/FBScrollViewController.m +15 -2
  313. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/Classes/TouchViewController.h +1 -1
  314. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/Classes/TouchableView.h +2 -1
  315. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/Classes/TouchableView.m +14 -3
  316. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/Classes/ViewController.m +44 -3
  317. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/Info.plist +2 -2
  318. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/Resources/Base.lproj/Main.storyboard +52 -22
  319. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp_tvOS/AppDelegate.h +13 -0
  320. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp_tvOS/AppDelegate.m +26 -0
  321. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp_tvOS/Info.plist +41 -0
  322. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp_tvOS/SceneDelegate.h +15 -0
  323. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp_tvOS/SceneDelegate.m +22 -0
  324. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp_tvOS/ViewController.h +13 -0
  325. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp_tvOS/ViewController.m +79 -0
  326. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp_tvOS/main.m +17 -0
  327. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp_watchOS/ContentView.swift +31 -0
  328. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp_watchOS/WatchSpikeApp.swift +18 -0
  329. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBAlertTests.m +37 -56
  330. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBAutoAlertsHandlerTests.m +10 -4
  331. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBConfigurationTests.m +41 -8
  332. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBElementAttributeTests.m +10 -1
  333. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBElementSwipingTests.m +4 -4
  334. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBElementVisibilityTests.m +14 -19
  335. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBForceTouchTests.m +6 -3
  336. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBIntegrationAppTests.m +87 -0
  337. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBIntegrationTestCase.h +30 -5
  338. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBIntegrationTestCase.m +51 -15
  339. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBPasteboardTests.m +3 -2
  340. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBSafariAlertTests.m +6 -2
  341. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBScreenTests.m +28 -1
  342. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBScrollingTests.m +3 -6
  343. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBTapTest.m +83 -0
  344. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBVideoRecordingTests.m +1 -2
  345. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBVoiceOverTests.m +103 -0
  346. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBW3CMultiTouchActionsIntegrationTests.m +35 -0
  347. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBW3CTouchActionsIntegrationTests.m +96 -13
  348. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBW3CTypeActionsTests.m +3 -3
  349. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBXPathIntegrationTests.m +108 -5
  350. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/XCElementSnapshotHelperTests.m +1 -7
  351. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/XCUIApplicationHelperTests.m +1 -1
  352. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/XCUIDeviceHelperTests.m +21 -5
  353. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/XCUIDeviceRotationTests.m +21 -0
  354. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/XCUIElementAttributesTests.m +5 -5
  355. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/XCUIElementFBFindTests.m +98 -10
  356. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_tvOS/FBTVFocusIntegrationTests.m +84 -0
  357. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_tvOS/Info.plist +24 -0
  358. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/IntegrationTests_watchOS-Bridging-Header.h +23 -0
  359. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/WDAAlertIntegrationTests.swift +25 -0
  360. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/WDAAppLifecycleIntegrationTests.swift +37 -0
  361. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/WDAClickIntegrationTests.swift +25 -0
  362. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/WDADeviceIntegrationTests.swift +92 -0
  363. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/WDAElementAttributeIntegrationTests.swift +39 -0
  364. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/WDAFindIntegrationTests.swift +101 -0
  365. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/WDAMjpegStreamingIntegrationTests.swift +81 -0
  366. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/WDAScreenshotAndSourceIntegrationTests.swift +54 -0
  367. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/WDATypingIntegrationTests.swift +73 -0
  368. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/WDAWatchInProcessTestCase.swift +51 -0
  369. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/Doubles/XCUIElementDouble.h +4 -0
  370. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/Doubles/XCUIElementDouble.m +10 -0
  371. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBConfigurationTests.m +18 -6
  372. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBCustomCommandsTests.m +83 -0
  373. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBHTTPServerSessionTests.m +133 -0
  374. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBHTTPServerTests.m +264 -0
  375. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBMathUtilsTests.m +38 -0
  376. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBResponseJSONPayloadTests.m +76 -0
  377. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBSessionTests.m +3 -3
  378. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBTouchableViewTests.m +121 -0
  379. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBXCAXClientProxyTests.m +90 -0
  380. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBXPathTests.m +127 -2
  381. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/NSDictionaryFBUtf8SafeTests.m +43 -0
  382. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests_tvOS/Doubles/FBXCAccessibilityElementDouble.h +27 -0
  383. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests_tvOS/Doubles/FBXCAccessibilityElementDouble.m +23 -0
  384. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests_tvOS/Doubles/FBXCElementSnapshotDouble.h +43 -0
  385. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests_tvOS/Doubles/FBXCElementSnapshotDouble.m +24 -0
  386. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests_tvOS/Doubles/XCUIElementDouble.h +1 -0
  387. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests_tvOS/Doubles/XCUIElementDouble.m +1 -0
  388. package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests_tvOS/FBTVNavigationTrackerTests.m +48 -0
  389. package/drivers/ios/WebDriverAgent/lib/check-dependencies.ts +42 -21
  390. package/drivers/ios/WebDriverAgent/lib/constants.ts +12 -2
  391. package/drivers/ios/WebDriverAgent/lib/index.ts +7 -0
  392. package/drivers/ios/WebDriverAgent/lib/logger.ts +1 -1
  393. package/drivers/ios/WebDriverAgent/lib/no-session-proxy.ts +8 -14
  394. package/drivers/ios/WebDriverAgent/lib/types.ts +108 -8
  395. package/drivers/ios/WebDriverAgent/lib/utils/index.ts +15 -0
  396. package/drivers/ios/WebDriverAgent/lib/utils/module.ts +24 -0
  397. package/drivers/ios/WebDriverAgent/lib/utils/platform.ts +34 -0
  398. package/drivers/ios/WebDriverAgent/lib/utils/processes.ts +166 -0
  399. package/drivers/ios/WebDriverAgent/lib/utils/security.ts +13 -0
  400. package/drivers/ios/WebDriverAgent/lib/utils/xctestrun.ts +173 -0
  401. package/drivers/ios/WebDriverAgent/lib/wda-strategies.ts +333 -0
  402. package/drivers/ios/WebDriverAgent/lib/webdriveragent.ts +336 -428
  403. package/drivers/ios/WebDriverAgent/lib/xcodebuild.ts +232 -127
  404. package/drivers/ios/WebDriverAgent/oxfmt.config.mjs +6 -0
  405. package/drivers/ios/WebDriverAgent/oxlint.config.mjs +6 -0
  406. package/drivers/ios/WebDriverAgent/package.json +70 -79
  407. package/drivers/ios/WebDriverAgent/release.config.mjs +14 -0
  408. package/drivers/ios/WebDriverAgent/test/functional/desired.ts +10 -6
  409. package/drivers/ios/WebDriverAgent/test/functional/helpers/simulator.ts +39 -28
  410. package/drivers/ios/WebDriverAgent/test/functional/webdriveragent-e2e.spec.ts +100 -0
  411. package/drivers/ios/WebDriverAgent/test/unit/processes.spec.ts +99 -0
  412. package/drivers/ios/WebDriverAgent/test/unit/utils.spec.ts +235 -0
  413. package/drivers/ios/WebDriverAgent/test/unit/wda-cleanup.spec.ts +136 -0
  414. package/drivers/ios/WebDriverAgent/test/unit/webdriveragent.spec.ts +562 -0
  415. package/drivers/ios/WebDriverAgent/tsconfig.json +6 -8
  416. package/drivers/ios/devicelab-ios-agent/README.md +51 -0
  417. package/drivers/ios/devicelab-ios-agent/device/DevicelabIOSAgent.app/DevicelabIOSAgent +0 -0
  418. package/drivers/ios/devicelab-ios-agent/device/DevicelabIOSAgent.app/Info.plist +0 -0
  419. package/drivers/ios/devicelab-ios-agent/device/DevicelabIOSAgent.app/PkgInfo +1 -0
  420. package/drivers/ios/devicelab-ios-agent/device/DevicelabIOSAgentUITests-Runner.app/DevicelabIOSAgentUITests-Runner +0 -0
  421. package/drivers/ios/devicelab-ios-agent/device/DevicelabIOSAgentUITests-Runner.app/Info.plist +302 -0
  422. package/drivers/ios/devicelab-ios-agent/device/DevicelabIOSAgentUITests-Runner.app/PkgInfo +1 -0
  423. package/drivers/ios/devicelab-ios-agent/device/DevicelabIOSAgentUITests-Runner.app/PlugIns/DevicelabIOSAgentUITests.xctest/DevicelabIOSAgentUITests +0 -0
  424. package/drivers/ios/devicelab-ios-agent/device/DevicelabIOSAgentUITests-Runner.app/PlugIns/DevicelabIOSAgentUITests.xctest/Info.plist +0 -0
  425. package/drivers/ios/devicelab-ios-agent/device/agent.xctestrun +120 -0
  426. package/drivers/ios/devicelab-ios-agent/device/manifest.json +18 -0
  427. package/drivers/ios/devicelab-ios-agent/signing-stub/SigningStub/StubApp.swift +10 -0
  428. package/drivers/ios/devicelab-ios-agent/signing-stub/SigningStub.xcodeproj/project.pbxproj +394 -0
  429. package/drivers/ios/devicelab-ios-agent/signing-stub/SigningStub.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  430. package/drivers/ios/devicelab-ios-agent/signing-stub/SigningStub.xcodeproj/xcshareddata/xcschemes/SigningStubUITests.xcscheme +100 -0
  431. package/drivers/ios/devicelab-ios-agent/signing-stub/SigningStubUITests/StubUITests.swift +8 -0
  432. package/drivers/ios/devicelab-ios-agent/signing-stub/project.yml +64 -0
  433. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgent.app/DevicelabIOSAgent +0 -0
  434. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgent.app/Info.plist +0 -0
  435. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgent.app/PkgInfo +1 -0
  436. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/DevicelabIOSAgentUITests-Runner +0 -0
  437. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Info.plist +0 -0
  438. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Modules/Testing.swiftcrossimport/CoreGraphics.swiftoverlay +3 -0
  439. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Modules/Testing.swiftcrossimport/CoreImage.swiftoverlay +3 -0
  440. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Modules/Testing.swiftcrossimport/CoreTransferable.swiftoverlay +3 -0
  441. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Modules/Testing.swiftcrossimport/Foundation.swiftoverlay +3 -0
  442. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Modules/Testing.swiftcrossimport/UIKit.swiftoverlay +3 -0
  443. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Modules/Testing.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  444. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Modules/Testing.swiftmodule/arm64-apple-ios-simulator.swiftinterface +1431 -0
  445. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Modules/Testing.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  446. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Modules/Testing.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +1431 -0
  447. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Testing +0 -0
  448. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/_CodeSignature/CodeResources +212 -0
  449. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/version.plist +18 -0
  450. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTAutomationSupport.framework/Info.plist +0 -0
  451. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTAutomationSupport.framework/XCTAutomationSupport +0 -0
  452. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTAutomationSupport.framework/_CodeSignature/CodeResources +113 -0
  453. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTAutomationSupport.framework/version.plist +18 -0
  454. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCAbstractTest.h +140 -0
  455. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTActivity.h +33 -0
  456. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTAttachment+XCUIScreenshot.h +32 -0
  457. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTAttachment.h +219 -0
  458. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTAttachmentLifetime.h +28 -0
  459. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTContext.h +65 -0
  460. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTDarwinNotificationExpectation.h +60 -0
  461. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTExpectedFailure.h +134 -0
  462. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTIssue.h +143 -0
  463. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTKVOExpectation.h +110 -0
  464. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTMeasureOptions.h +57 -0
  465. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTMetric+UIAutomation.h +77 -0
  466. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTMetric.h +390 -0
  467. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTNSNotificationExpectation.h +92 -0
  468. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTNSPredicateExpectation.h +74 -0
  469. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTSourceCodeContext.h +109 -0
  470. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTWaiter.h +304 -0
  471. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTest.apinotes +182 -0
  472. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTest.h +41 -0
  473. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestAssertions.h +277 -0
  474. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestAssertionsImpl.h +503 -0
  475. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestCase+AsynchronousTesting.h +276 -0
  476. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestCase+XCUIApplicationLaunchTesting.h +36 -0
  477. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestCase+XCUIInterruptionMonitoring.h +95 -0
  478. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestCase.h +443 -0
  479. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestCaseRun.h +50 -0
  480. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestCore.h +42 -0
  481. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestDefines.h +135 -0
  482. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestErrors.h +33 -0
  483. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestExpectation.h +73 -0
  484. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestLog.h +56 -0
  485. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestObservation.h +195 -0
  486. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestObservationCenter.h +60 -0
  487. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestObserver.h +61 -0
  488. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestProbe.h +55 -0
  489. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestRun.h +223 -0
  490. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestSkipping.h +41 -0
  491. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestSkippingImpl.h +46 -0
  492. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestSuite.h +92 -0
  493. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestSuiteRun.h +50 -0
  494. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIAccessibilityAuditIssue.h +9 -0
  495. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIAccessibilityAuditTypes.h +9 -0
  496. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIApplication.h +9 -0
  497. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIAutomation.h +9 -0
  498. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIAutomationDefines.h +9 -0
  499. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUICoordinate.h +9 -0
  500. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIDevice.h +9 -0
  501. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIDeviceButton.h +9 -0
  502. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIDeviceHandGesture.h +9 -0
  503. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIElement.h +9 -0
  504. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIElementAttributes.h +9 -0
  505. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIElementQuery.h +9 -0
  506. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIElementTypeQueryProvider.h +9 -0
  507. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIElementTypes.h +9 -0
  508. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIKeyboardKeys.h +9 -0
  509. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUILocation.h +9 -0
  510. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIProtectedResource.h +9 -0
  511. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIRemote.h +9 -0
  512. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIScreen.h +9 -0
  513. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIScreenshot.h +9 -0
  514. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIScreenshotProviding.h +9 -0
  515. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUISiriService.h +9 -0
  516. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUISystem.h +9 -0
  517. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Info.plist +0 -0
  518. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Modules/module.modulemap +30 -0
  519. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/XCTest +0 -0
  520. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/_CodeSignature/CodeResources +817 -0
  521. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/version.plist +18 -0
  522. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTestCore.framework/Info.plist +0 -0
  523. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTestCore.framework/XCTestCore +0 -0
  524. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTestCore.framework/_CodeSignature/CodeResources +113 -0
  525. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTestCore.framework/version.plist +18 -0
  526. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTestSupport.framework/Info.plist +0 -0
  527. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTestSupport.framework/XCTestSupport +0 -0
  528. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTestSupport.framework/_CodeSignature/CodeResources +113 -0
  529. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTestSupport.framework/version.plist +18 -0
  530. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIAccessibilityAuditIssue.h +33 -0
  531. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIAccessibilityAuditTypes.h +36 -0
  532. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIApplication.h +154 -0
  533. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIAutomation.apinotes +88 -0
  534. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIAutomation.h +30 -0
  535. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIAutomationDefines.h +62 -0
  536. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUICoordinate.h +99 -0
  537. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIDevice.h +133 -0
  538. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIDeviceButton.h +40 -0
  539. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIDeviceHandGesture.h +24 -0
  540. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIElement.h +366 -0
  541. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIElementAttributes.h +106 -0
  542. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIElementQuery.h +81 -0
  543. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIElementTypeQueryProvider.h +109 -0
  544. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIElementTypes.h +95 -0
  545. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIKeyboardKeys.h +68 -0
  546. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUILocation.h +35 -0
  547. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIProtectedResource.h +52 -0
  548. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIRemote.h +77 -0
  549. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIScreen.h +36 -0
  550. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIScreenshot.h +42 -0
  551. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIScreenshotProviding.h +26 -0
  552. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUISiriService.h +45 -0
  553. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUISystem.h +26 -0
  554. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIVoiceOverOutput.h +26 -0
  555. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIVoiceOverService.h +72 -0
  556. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIVoiceOverServiceError.h +25 -0
  557. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Info.plist +0 -0
  558. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Modules/XCUIAutomation.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  559. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Modules/XCUIAutomation.swiftmodule/arm64-apple-ios-simulator.swiftinterface +30 -0
  560. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Modules/XCUIAutomation.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  561. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Modules/XCUIAutomation.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +30 -0
  562. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Modules/module.modulemap +4 -0
  563. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/XCUIAutomation +0 -0
  564. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/_CodeSignature/CodeResources +465 -0
  565. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/version.plist +18 -0
  566. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUnit.framework/Info.plist +0 -0
  567. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUnit.framework/XCUnit +0 -0
  568. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUnit.framework/_CodeSignature/CodeResources +113 -0
  569. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUnit.framework/version.plist +18 -0
  570. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/_Testing_Foundation.framework/Info.plist +0 -0
  571. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/_Testing_Foundation.framework/Modules/_Testing_Foundation.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  572. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/_Testing_Foundation.framework/Modules/_Testing_Foundation.swiftmodule/arm64-apple-ios-simulator.swiftinterface +41 -0
  573. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/_Testing_Foundation.framework/Modules/_Testing_Foundation.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  574. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/_Testing_Foundation.framework/Modules/_Testing_Foundation.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +41 -0
  575. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/_Testing_Foundation.framework/_CodeSignature/CodeResources +157 -0
  576. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/_Testing_Foundation.framework/_Testing_Foundation +0 -0
  577. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/_Testing_Foundation.framework/version.plist +18 -0
  578. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/libXCTestBundleInject.dylib +0 -0
  579. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/libXCTestSwiftSupport.dylib +0 -0
  580. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/lib_TestingInterop.dylib +0 -0
  581. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Info.plist +302 -0
  582. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/PkgInfo +1 -0
  583. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/PlugIns/DevicelabIOSAgentUITests.xctest/DevicelabIOSAgentUITests +0 -0
  584. package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/PlugIns/DevicelabIOSAgentUITests.xctest/Info.plist +0 -0
  585. package/drivers/ios/devicelab-ios-agent/simulator/agent.xctestrun +140 -0
  586. package/drivers/ios/devicelab-ios-agent/simulator/manifest.json +162 -0
  587. package/package.json +1 -1
  588. package/drivers/ios/WebDriverAgent/.mocharc.js +0 -4
  589. package/drivers/ios/WebDriverAgent/.releaserc +0 -45
  590. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/NSString-XCTAdditions.h +0 -11
  591. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/NSValue-XCTestAdditions.h +0 -11
  592. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/UIGestureRecognizer-RecordingAdditions.h +0 -11
  593. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/UILongPressGestureRecognizer-RecordingAdditions.h +0 -11
  594. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/UIPanGestureRecognizer-RecordingAdditions.h +0 -11
  595. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/UIPinchGestureRecognizer-RecordingAdditions.h +0 -11
  596. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/UISwipeGestureRecognizer-RecordingAdditions.h +0 -11
  597. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/UITapGestureRecognizer-RecordingAdditions.h +0 -11
  598. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCActivityRecord.h +0 -39
  599. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCApplicationMonitor.h +0 -44
  600. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCApplicationMonitor_iOS.h +0 -18
  601. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCDeviceEvent.h +0 -27
  602. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCEventGenerator.h +0 -73
  603. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCKeyMappingPath.h +0 -36
  604. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCKeyboardInputSolver.h +0 -41
  605. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCKeyboardKeyMap.h +0 -101
  606. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCKeyboardLayout.h +0 -35
  607. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCSourceCodeRecording.h +0 -42
  608. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCSourceCodeTreeNode.h +0 -84
  609. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCSourceCodeTreeNodeEnumerator.h +0 -18
  610. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCSymbolicationRecord.h +0 -29
  611. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCSymbolicatorHolder.h +0 -14
  612. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTAXClient-Protocol.h +0 -14
  613. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTAsyncActivity-Protocol.h +0 -16
  614. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTAsyncActivity.h +0 -23
  615. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTAutomationTarget-Protocol.h +0 -12
  616. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTDarwinNotificationExpectation.h +0 -23
  617. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTKVOExpectation.h +0 -28
  618. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMetric.h +0 -29
  619. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTNSNotificationExpectation.h +0 -27
  620. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTNSPredicateExpectation.h +0 -24
  621. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTRunnerAutomationSession.h +0 -21
  622. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTTestRunSession.h +0 -25
  623. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTTestRunSessionDelegate-Protocol.h +0 -17
  624. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTUIApplicationMonitor-Protocol.h +0 -17
  625. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTWaiterDelegate-Protocol.h +0 -16
  626. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTWaiterDelegatePrivate-Protocol.h +0 -12
  627. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTWaiterManager.h +0 -28
  628. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestCaseSuite.h +0 -19
  629. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestContext.h +0 -26
  630. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestContextScope.h +0 -19
  631. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestDriverInterface-Protocol.h +0 -14
  632. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestExpectationWaiter.h +0 -17
  633. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestLog.h +0 -32
  634. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestManager_IDEInterface-Protocol.h +0 -36
  635. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestManager_ManagerInterface-Protocol.h +0 -54
  636. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestManager_TestsInterface-Protocol.h +0 -12
  637. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestMisuseObserver.h +0 -37
  638. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestObservation-Protocol.h +0 -20
  639. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestObserver.h +0 -20
  640. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestProbe.h +0 -13
  641. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestSuite.h +0 -48
  642. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestSuiteRun.h +0 -28
  643. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestWaiter.h +0 -14
  644. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIElementAsynchronousHandlerWrapper.h +0 -19
  645. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIElementHitPointCoordinate.h +0 -24
  646. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIRecorderNodeFinder.h +0 -65
  647. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIRecorderNodeFinderMatch.h +0 -25
  648. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIRecorderTimingMessage.h +0 -20
  649. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIRecorderUtilities.h +0 -45
  650. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCInternalTestRun.h +0 -43
  651. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCKVOExpectationImplementation.h +0 -32
  652. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTDarwinNotificationExpectationImplementation.h +0 -27
  653. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTNSNotificationExpectationImplementation.h +0 -30
  654. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTNSPredicateExpectationImplementation.h +0 -29
  655. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTWaiterImpl.h +0 -41
  656. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTestCaseImplementation.h +0 -70
  657. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTestCaseInterruptionException.h +0 -13
  658. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTestExpectationImplementation.h +0 -40
  659. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTestImplementation.h +0 -14
  660. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTestObservationCenterImplementation.h +0 -19
  661. package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTestSuiteImplementation.h +0 -23
  662. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaAsyncSocket/GCDAsyncSocket.h +0 -1220
  663. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaAsyncSocket/GCDAsyncSocket.m +0 -8812
  664. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaAsyncSocket/GCDAsyncUdpSocket.h +0 -1036
  665. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaAsyncSocket/GCDAsyncUdpSocket.m +0 -5868
  666. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/Categories/DDNumber.h +0 -12
  667. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/Categories/DDNumber.m +0 -88
  668. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/Categories/DDRange.h +0 -56
  669. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/Categories/DDRange.m +0 -106
  670. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/HTTPConnection.h +0 -107
  671. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/HTTPConnection.m +0 -2238
  672. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/HTTPLogging.h +0 -122
  673. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/HTTPMessage.h +0 -53
  674. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/HTTPMessage.m +0 -357
  675. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/HTTPResponse.h +0 -149
  676. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/HTTPServer.h +0 -126
  677. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/HTTPServer.m +0 -372
  678. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/LICENSE +0 -18
  679. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/Responses/HTTPDataResponse.h +0 -13
  680. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/Responses/HTTPDataResponse.m +0 -83
  681. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/Responses/HTTPErrorResponse.h +0 -9
  682. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/Responses/HTTPErrorResponse.m +0 -40
  683. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/HTTPResponseProxy.h +0 -13
  684. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/HTTPResponseProxy.m +0 -84
  685. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/LICENSE +0 -19
  686. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/Route.h +0 -18
  687. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/Route.m +0 -11
  688. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/RouteRequest.h +0 -16
  689. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/RouteRequest.m +0 -50
  690. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/RouteResponse.h +0 -20
  691. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/RouteResponse.m +0 -66
  692. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/RoutingConnection.h +0 -5
  693. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/RoutingConnection.m +0 -142
  694. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/RoutingHTTPServer.h +0 -55
  695. package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/RoutingHTTPServer.m +0 -303
  696. package/drivers/ios/WebDriverAgent/eslint.config.mjs +0 -13
  697. package/drivers/ios/WebDriverAgent/index.ts +0 -7
  698. package/drivers/ios/WebDriverAgent/lib/utils.ts +0 -342
  699. package/drivers/ios/WebDriverAgent/test/functional/webdriveragent-e2e-specs.ts +0 -119
  700. package/drivers/ios/WebDriverAgent/test/unit/utils-specs.ts +0 -157
  701. package/drivers/ios/WebDriverAgent/test/unit/webdriveragent-specs.ts +0 -446
@@ -23,7 +23,7 @@
23
23
  #import "FBXCElementSnapshotWrapper+Helpers.h"
24
24
  #import "FBXCAXClientProxy.h"
25
25
  #import "FBXMLGenerationOptions.h"
26
- #import "XCTestManager_ManagerInterface-Protocol.h"
26
+ #import "XCTMessagingChannel_RunnerToDaemon-Protocol.h"
27
27
  #import "XCTestPrivateSymbols.h"
28
28
  #import "XCTRunnerDaemonSession.h"
29
29
  #import "XCUIApplication.h"
@@ -33,6 +33,7 @@
33
33
  #import "XCUIElement.h"
34
34
  #import "XCUIElement+FBCaching.h"
35
35
  #import "XCUIElement+FBIsVisible.h"
36
+ #import "XCUIElement+FBUID.h"
36
37
  #import "XCUIElement+FBUtilities.h"
37
38
  #import "XCUIElement+FBWebDriverAttributes.h"
38
39
  #import "XCUIElementQuery.h"
@@ -44,6 +45,7 @@ static NSString* const FBExclusionAttributeFrame = @"frame";
44
45
  static NSString* const FBExclusionAttributeEnabled = @"enabled";
45
46
  static NSString* const FBExclusionAttributeVisible = @"visible";
46
47
  static NSString* const FBExclusionAttributeAccessible = @"accessible";
48
+ static NSString* const FBExclusionAttributeNativeAccessibilityElement = @"nativeAccessibilityElement";
47
49
  static NSString* const FBExclusionAttributeFocused = @"focused";
48
50
  static NSString* const FBExclusionAttributePlaceholderValue = @"placeholderValue";
49
51
  static NSString* const FBExclusionAttributeNativeFrame = @"nativeFrame";
@@ -51,6 +53,13 @@ static NSString* const FBExclusionAttributeTraits = @"traits";
51
53
  static NSString* const FBExclusionAttributeMinValue = @"minValue";
52
54
  static NSString* const FBExclusionAttributeMaxValue = @"maxValue";
53
55
 
56
+ static NSString *FBJsonPrefixedAttributeKey(NSString *key)
57
+ {
58
+ return [NSString stringWithFormat:@"is%@%@",
59
+ [[key substringToIndex:1] uppercaseString],
60
+ [key substringFromIndex:1]];
61
+ }
62
+
54
63
  _Nullable id extractIssueProperty(id issue, NSString *propertyName) {
55
64
  SEL selector = NSSelectorFromString(propertyName);
56
65
  NSMethodSignature *methodSignature = [issue methodSignatureForSelector:selector];
@@ -135,7 +144,7 @@ NSDictionary<NSString *, NSString *> *customExclusionAttributesMap(void) {
135
144
  + (NSArray<NSDictionary<NSString *, id> *> *)fb_appsInfoWithAxElements:(NSArray<id<FBXCAccessibilityElement>> *)axElements
136
145
  {
137
146
  NSMutableArray<NSDictionary<NSString *, id> *> *result = [NSMutableArray array];
138
- id<XCTestManager_ManagerInterface> proxy = [FBXCTestDaemonsProxy testRunnerProxy];
147
+ id<XCTMessagingChannel_RunnerToDaemon> proxy = [FBXCTestDaemonsProxy testRunnerProxy];
139
148
  for (id<FBXCAccessibilityElement> axElement in axElements) {
140
149
  NSMutableDictionary<NSString *, id> *appInfo = [NSMutableDictionary dictionary];
141
150
  pid_t pid = axElement.processIdentifier;
@@ -223,7 +232,7 @@ NSDictionary<NSString *, NSString *> *customExclusionAttributesMap(void) {
223
232
  if ([nonPrefixedKeys containsObject:key]) {
224
233
  info[key] = value;
225
234
  } else {
226
- info[[NSString stringWithFormat:@"is%@", [key capitalizedString]]] = value;
235
+ info[FBJsonPrefixedAttributeKey(key)] = value;
227
236
  }
228
237
  }
229
238
  }
@@ -268,6 +277,9 @@ NSDictionary<NSString *, NSString *> *customExclusionAttributesMap(void) {
268
277
  },
269
278
  FBExclusionAttributeAccessible: ^{
270
279
  return [@([wrappedSnapshot isWDAccessible]) stringValue];
280
+ },
281
+ FBExclusionAttributeNativeAccessibilityElement: ^{
282
+ return [@([wrappedSnapshot isWDNativeAccessibilityElement]) stringValue];
271
283
  },
272
284
  FBExclusionAttributeFocused: ^{
273
285
  return [@([wrappedSnapshot isWDFocused]) stringValue];
@@ -423,6 +435,7 @@ NSDictionary<NSString *, NSString *> *customExclusionAttributesMap(void) {
423
435
  }
424
436
  }
425
437
 
438
+ #if !TARGET_OS_WATCH
426
439
  if ([UIDevice.currentDevice userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
427
440
  NSPredicate *searchPredicate = [NSPredicate predicateWithFormat:@"elementType IN %@",
428
441
  @[@(XCUIElementTypeKey), @(XCUIElementTypeButton)]];
@@ -431,6 +444,7 @@ NSDictionary<NSString *, NSString *> *customExclusionAttributesMap(void) {
431
444
  [matchedKeys[matchedKeys.count - 1] tap];
432
445
  }
433
446
  }
447
+ #endif
434
448
  #endif
435
449
  NSString *errorDescription = @"Did not know how to dismiss the keyboard. Try to dismiss it in the way supported by your application under test.";
436
450
  return [[[[FBRunLoopSpinner new]
@@ -642,4 +656,19 @@ NSDictionary<NSString *, NSString *> *customExclusionAttributesMap(void) {
642
656
  return self == otherApp || [self.bundleID isEqualToString:(NSString *)otherApp.bundleID];
643
657
  }
644
658
 
659
+ + (nullable XCUIElement *)fb_elementForSnapshot:(id<FBXCElementSnapshot>)snapshot
660
+ underElement:(XCUIElement *)rootElement
661
+ {
662
+ NSString *uid = [FBXCElementSnapshotWrapper wdUIDWithSnapshot:snapshot];
663
+ if (nil == uid) {
664
+ return nil;
665
+ }
666
+ NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K = %@",
667
+ FBStringify(FBXCElementSnapshotWrapper, fb_uid), uid];
668
+ // Filtering by the snapshot's own type (instead of XCUIElementTypeAny) lets
669
+ // the query narrow down before the uid predicate is even applied.
670
+ return [[rootElement.fb_query descendantsMatchingType:snapshot.elementType]
671
+ matchingPredicate:predicate].allElementsBoundByIndex.firstObject;
672
+ }
673
+
645
674
  @end
@@ -16,10 +16,9 @@
16
16
  #import "FBRunLoopSpinner.h"
17
17
  #import "FBW3CActionsSynthesizer.h"
18
18
  #import "FBXCTestDaemonsProxy.h"
19
- #import "XCEventGenerator.h"
20
19
  #import "XCUIElement+FBUtilities.h"
21
20
 
22
- #if !TARGET_OS_TV
21
+ #if !TARGET_OS_TV && !TARGET_OS_WATCH
23
22
 
24
23
  @implementation XCUIApplication (FBTouchAction)
25
24
 
@@ -62,7 +61,7 @@
62
61
  error:error]) {
63
62
  return NO;
64
63
  }
65
- [self fb_waitUntilStableWithTimeout:FBConfiguration.animationCoolOffTimeout];
64
+ [self fb_waitUntilStableWithTimeout:FBConfiguration.sharedInstance.animationCoolOffTimeout];
66
65
  return YES;
67
66
  }
68
67
 
@@ -14,6 +14,7 @@
14
14
  #import "FBExceptions.h"
15
15
  #import "FBLogger.h"
16
16
  #import "FBSettings.h"
17
+ #import "FBXCAXClientProxy.h"
17
18
 
18
19
  static void (*original_waitForQuiescenceIncludingAnimationsIdle)(id, SEL, BOOL);
19
20
  static void (*original_waitForQuiescenceIncludingAnimationsIdlePreEvent)(id, SEL, BOOL, BOOL);
@@ -21,43 +22,35 @@ static void (*original_waitForQuiescenceIncludingAnimationsIdlePreEvent)(id, SEL
21
22
  static void swizzledWaitForQuiescenceIncludingAnimationsIdle(id self, SEL _cmd, BOOL includingAnimations)
22
23
  {
23
24
  NSString *bundleId = [self bundleID];
24
- if (![[self fb_shouldWaitForQuiescence] boolValue] || FBConfiguration.waitForIdleTimeout < DBL_EPSILON) {
25
+ if (![[self fb_shouldWaitForQuiescence] boolValue] || FBConfiguration.sharedInstance.waitForIdleTimeout < DBL_EPSILON) {
25
26
  [FBLogger logFmt:@"Quiescence checks are disabled for %@ application. Making it to believe it is idling",
26
27
  bundleId];
27
28
  return;
28
29
  }
29
30
 
30
- NSTimeInterval desiredTimeout = FBConfiguration.waitForIdleTimeout;
31
- NSTimeInterval previousTimeout = _XCTApplicationStateTimeout();
32
- _XCTSetApplicationStateTimeout(desiredTimeout);
31
+ NSTimeInterval desiredTimeout = FBConfiguration.sharedInstance.waitForIdleTimeout;
33
32
  [FBLogger logFmt:@"Waiting up to %@s until %@ is in idle state (%@ animations)",
34
33
  @(desiredTimeout), bundleId, includingAnimations ? @"including" : @"excluding"];
35
- @try {
34
+ [FBXCAXClientProxy withApplicationStateTimeout:desiredTimeout do:^{
36
35
  original_waitForQuiescenceIncludingAnimationsIdle(self, _cmd, includingAnimations);
37
- } @finally {
38
- _XCTSetApplicationStateTimeout(previousTimeout);
39
- }
36
+ }];
40
37
  }
41
38
 
42
39
  static void swizzledWaitForQuiescenceIncludingAnimationsIdlePreEvent(id self, SEL _cmd, BOOL includingAnimations, BOOL isPreEvent)
43
40
  {
44
41
  NSString *bundleId = [self bundleID];
45
- if (![[self fb_shouldWaitForQuiescence] boolValue] || FBConfiguration.waitForIdleTimeout < DBL_EPSILON) {
42
+ if (![[self fb_shouldWaitForQuiescence] boolValue] || FBConfiguration.sharedInstance.waitForIdleTimeout < DBL_EPSILON) {
46
43
  [FBLogger logFmt:@"Quiescence checks are disabled for %@ application. Making it to believe it is idling",
47
44
  bundleId];
48
45
  return;
49
46
  }
50
47
 
51
- NSTimeInterval desiredTimeout = FBConfiguration.waitForIdleTimeout;
52
- NSTimeInterval previousTimeout = _XCTApplicationStateTimeout();
53
- _XCTSetApplicationStateTimeout(desiredTimeout);
48
+ NSTimeInterval desiredTimeout = FBConfiguration.sharedInstance.waitForIdleTimeout;
54
49
  [FBLogger logFmt:@"Waiting up to %@s until %@ is in idle state (%@ animations)",
55
50
  @(desiredTimeout), bundleId, includingAnimations ? @"including" : @"excluding"];
56
- @try {
51
+ [FBXCAXClientProxy withApplicationStateTimeout:desiredTimeout do:^{
57
52
  original_waitForQuiescenceIncludingAnimationsIdlePreEvent(self, _cmd, includingAnimations, isPreEvent);
58
- } @finally {
59
- _XCTSetApplicationStateTimeout(previousTimeout);
60
- }
53
+ }];
61
54
  }
62
55
 
63
56
  @implementation XCUIApplicationProcess (FBQuiescence)
@@ -95,10 +95,19 @@ typedef NS_ENUM(NSUInteger, FBUIInterfaceAppearance) {
95
95
  */
96
96
  - (BOOL)fb_openUrl:(NSString *)url withApplication:(NSString *)bundleId error:(NSError **)error;
97
97
 
98
+ /**
99
+ Checks if the device has a specific hardware button available.
100
+
101
+ @param buttonName The name of the button to check (e.g., "home", "volumeUp", "volumeDown", "action", "camera")
102
+ @return YES if the button is available on the device, otherwise NO
103
+ */
104
+ - (BOOL)fb_hasButton:(NSString *)buttonName;
105
+
98
106
  /**
99
107
  Presses the corresponding hardware button on the device with duration.
100
108
 
101
- @param buttonName One of the supported button names: volumeUp (real devices only), volumeDown (real device only), home
109
+ @param buttonName One of the supported button names: volumeUp (real devices only), volumeDown (real device only),
110
+ camera (supported iOS 16+ real devices only), action (supported iOS 16+ devices only), home
102
111
  @param duration Duration in seconds or nil.
103
112
  This argument works only on tvOS. When this argument is nil on tvOS,
104
113
  https://developer.apple.com/documentation/xctest/xcuiremote/1627476-pressbutton will be called.
@@ -157,10 +166,44 @@ typedef NS_ENUM(NSUInteger, FBUIInterfaceAppearance) {
157
166
  */
158
167
  - (nullable NSNumber *)fb_getAppearance;
159
168
 
169
+ #if TARGET_OS_WATCH
170
+ /**
171
+ Rotates the Digital Crown on Apple Watch. See
172
+ https://developer.apple.com/documentation/xcuiautomation/xcuidevice/rotatedigitalcrown(delta:velocity:)
173
+ and https://developer.apple.com/documentation/xcuiautomation/xcuidevice/rotatedigitalcrown(delta:)
174
+ Invoked dynamically (this selector was only added to the SDK in Xcode 16.3), so this compiles against
175
+ older Xcode versions too - it just fails at runtime with an error if the OS/SDK combination in use
176
+ doesn't actually implement it.
177
+
178
+ @param delta The number of full crown rotations, e.g. 1.0 is one complete turn.
179
+ The sign gives the direction: positive rotates up/clockwise, negative rotates down/counterclockwise.
180
+ @param velocity The rotation speed, in rotations per second, e.g. 1.0 completes one full
181
+ rotation per second. This is the raw value behind the public XCUIGestureVelocity
182
+ API, which only exposes it via named presets (.slow/.default/.fast).
183
+ Pass nil to use XCTest's own default velocity instead of specifying one explicitly.
184
+ @param error If there is an error, upon return contains an NSError object that describes the problem.
185
+ @return YES if the operation succeeds, otherwise NO.
186
+ */
187
+ - (BOOL)fb_rotateDigitalCrown:(double)delta velocity:(nullable NSNumber *)velocity error:(NSError **)error;
188
+
189
+ /**
190
+ Performs a hand gesture on Apple Watch (e.g. Double Tap, Wrist Flick). See
191
+ https://developer.apple.com/documentation/xcuiautomation/xcuidevice/perform(handgesture:)
192
+ Invoked dynamically (this selector was only added to the SDK in Xcode 16.3), so this compiles against
193
+ older Xcode versions too - it just fails at runtime with an error if the OS/SDK combination in use
194
+ doesn't actually implement it.
195
+
196
+ @param gestureName One of the supported gesture names: doubleTap (watchOS 10+), flick (watchOS 26+).
197
+ @param error If there is an error, upon return contains an NSError object that describes the problem.
198
+ @return YES if the operation succeeds, otherwise NO.
199
+ */
200
+ - (BOOL)fb_performHandGesture:(NSString *)gestureName error:(NSError **)error;
201
+ #endif // TARGET_OS_WATCH
202
+
160
203
  #if !TARGET_OS_TV
161
204
  /**
162
205
  Allows to set a simulated geolocation coordinates.
163
- Only works since Xcode 14.3/iOS 16.4
206
+ Only works since iOS 16.4 runtime
164
207
 
165
208
  @param location The simlated location coordinates to set
166
209
  @param error If there is an error, upon return contains an NSError object that describes the problem.
@@ -170,7 +213,7 @@ typedef NS_ENUM(NSUInteger, FBUIInterfaceAppearance) {
170
213
 
171
214
  /**
172
215
  Allows to get a simulated geolocation coordinates.
173
- Only works since Xcode 14.3/iOS 16.4
216
+ Only works since iOS 16.4 runtime
174
217
 
175
218
  @param error If there is an error, upon return contains an NSError object that describes the problem.
176
219
  @return The current simulated location or nil in case of failure or if no location has previously been seet
@@ -180,7 +223,7 @@ typedef NS_ENUM(NSUInteger, FBUIInterfaceAppearance) {
180
223
 
181
224
  /**
182
225
  Allows to clear a previosuly set simulated geolocation coordinates.
183
- Only works since Xcode 14.3/iOS 16.4
226
+ Only works since iOS 16.4 runtime
184
227
 
185
228
  @param error If there is an error, upon return contains an NSError object that describes the problem.
186
229
  @return YES if the simulated location has been successfully cleared
@@ -26,6 +26,87 @@
26
26
  static const NSTimeInterval FBHomeButtonCoolOffTime = 1.;
27
27
  static const NSTimeInterval FBScreenLockTimeout = 5.;
28
28
 
29
+ #if TARGET_OS_TV
30
+ NSDictionary<NSString *, NSNumber *> *fb_availableButtonNames(void) {
31
+ static dispatch_once_t onceToken;
32
+ static NSDictionary *result;
33
+ dispatch_once(&onceToken, ^{
34
+ NSMutableDictionary *buttons = [NSMutableDictionary dictionary];
35
+ // https://developer.apple.com/design/human-interface-guidelines/remotes
36
+ buttons[@"up"] = @(XCUIRemoteButtonUp); // 0
37
+ buttons[@"down"] = @(XCUIRemoteButtonDown); // 1
38
+ buttons[@"left"] = @(XCUIRemoteButtonLeft); // 2
39
+ buttons[@"right"] = @(XCUIRemoteButtonRight); // 3
40
+ buttons[@"select"] = @(XCUIRemoteButtonSelect); // 4
41
+ buttons[@"menu"] = @(XCUIRemoteButtonMenu); // 5
42
+ buttons[@"playpause"] = @(XCUIRemoteButtonPlayPause); // 6
43
+ buttons[@"home"] = @(XCUIRemoteButtonHome); // 7
44
+ #if __clang_major__ >= 15 // Xcode 15+
45
+ buttons[@"pageup"] = @(XCUIRemoteButtonPageUp); // 9
46
+ buttons[@"pagedown"] = @(XCUIRemoteButtonPageDown); // 10
47
+ buttons[@"guide"] = @(XCUIRemoteButtonGuide); // 11
48
+ #endif
49
+ #if __clang_major__ >= 17 // likely Xcode 16.3+
50
+ if (@available(tvOS 18.1, *)) {
51
+ buttons[@"fourcolors"] = @(XCUIRemoteButtonFourColors); // 12
52
+ buttons[@"onetwothree"] = @(XCUIRemoteButtonOneTwoThree); // 13
53
+ buttons[@"tvprovider"] = @(XCUIRemoteButtonTVProvider); // 14
54
+ }
55
+ #endif
56
+ result = [buttons copy];
57
+ });
58
+ return result;
59
+ }
60
+ #else
61
+ NSDictionary<NSString *, NSNumber *> *fb_availableButtonNames(void) {
62
+ static dispatch_once_t onceToken;
63
+ static NSDictionary *result;
64
+ dispatch_once(&onceToken, ^{
65
+ NSMutableDictionary *buttons = [NSMutableDictionary dictionary];
66
+ buttons[@"home"] = @(XCUIDeviceButtonHome); // 1
67
+ #if !TARGET_OS_SIMULATOR
68
+ buttons[@"volumeup"] = @(XCUIDeviceButtonVolumeUp); // 2
69
+ buttons[@"volumedown"] = @(XCUIDeviceButtonVolumeDown); // 3
70
+ #endif
71
+ if (@available(iOS 16.0, watchOS 9.0, *)) {
72
+ #if __clang_major__ >= 15 // likely Xcode 15+
73
+ if ([XCUIDevice.sharedDevice hasHardwareButton:XCUIDeviceButtonAction]) {
74
+ buttons[@"action"] = @(XCUIDeviceButtonAction); // 4
75
+ }
76
+ #endif
77
+ #if (!TARGET_OS_SIMULATOR && !TARGET_OS_WATCH && __clang_major__ >= 16) // likely Xcode 16+; camera button does not exist on watchOS
78
+ if ([XCUIDevice.sharedDevice hasHardwareButton:XCUIDeviceButtonCamera]) {
79
+ buttons[@"camera"] = @(XCUIDeviceButtonCamera);
80
+ }
81
+ #endif
82
+ }
83
+ result = [buttons copy];
84
+ });
85
+ return result;
86
+ }
87
+ #endif
88
+
89
+ #if TARGET_OS_WATCH
90
+ // Raw values from XCUIDeviceHandGesture (XCUIAutomation/XCUIDeviceHandGesture.h): doubleTap = 1, flick = 2.
91
+ // Referenced by raw integer rather than the enum constant, and invoked via NSInvocation in
92
+ // fb_performHandGesture:error: below, since that enum/selector was only added to the SDK in Xcode 16.3
93
+ // (flick specifically needs watchOS 12.0/26 - see the @available check below). This way the code compiles
94
+ // against any Xcode version; unsupported gestures/selectors are only rejected at runtime.
95
+ NSDictionary<NSString *, NSNumber *> *fb_availableHandGestureNames(void) {
96
+ static dispatch_once_t onceToken;
97
+ static NSDictionary *result;
98
+ dispatch_once(&onceToken, ^{
99
+ NSMutableDictionary *gestures = [NSMutableDictionary dictionary];
100
+ gestures[@"doubletap"] = @(1);
101
+ if (@available(watchOS 12.0, *)) {
102
+ gestures[@"flick"] = @(2);
103
+ }
104
+ result = [gestures copy];
105
+ });
106
+ return result;
107
+ }
108
+ #endif // TARGET_OS_WATCH
109
+
29
110
  @implementation XCUIDevice (FBHelpers)
30
111
 
31
112
  static bool fb_isLocked;
@@ -63,7 +144,21 @@ static bool fb_isLocked;
63
144
  if (fb_isLocked) {
64
145
  return YES;
65
146
  }
147
+ #if TARGET_OS_SIMULATOR
66
148
  [self pressLockButton];
149
+ #else
150
+ if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"27.0")) {
151
+ // iOS 27: pressLockButton no longer locks; use a direct IOHID Power press (0x0C/0x30, ~0.5s hold).
152
+ if (![self fb_performIOHIDEventWithPage:0x0C
153
+ usage:0x30
154
+ duration:0.5
155
+ error:error]) {
156
+ return NO;
157
+ }
158
+ } else {
159
+ [self pressLockButton];
160
+ }
161
+ #endif
67
162
  return [[[[FBRunLoopSpinner new]
68
163
  timeout:FBScreenLockTimeout]
69
164
  timeoutErrorMessage:@"Timed out while waiting until the screen gets locked"]
@@ -100,7 +195,7 @@ static bool fb_isLocked;
100
195
 
101
196
  - (NSData *)fb_screenshotWithError:(NSError*__autoreleasing*)error
102
197
  {
103
- return [FBScreenshot takeInOriginalResolutionWithQuality:FBConfiguration.screenshotQuality
198
+ return [FBScreenshot takeInOriginalResolutionWithQuality:FBConfiguration.sharedInstance.screenshotQuality
104
199
  error:error];
105
200
  }
106
201
 
@@ -169,10 +264,10 @@ static bool fb_isLocked;
169
264
  return [self fb_activateSiriVoiceRecognitionWithText:[NSString stringWithFormat:@"Open {%@}", url] error:error];
170
265
  }
171
266
 
172
- NSString *description = [NSString stringWithFormat:@"Cannot open '%@' with the default application assigned for it. Consider upgrading to Xcode 14.3+/iOS 16.4+", url];
267
+ NSString *description = [NSString stringWithFormat:@"Cannot open '%@' with the default application assigned for it. This API requires an iOS 16.4+ runtime", url];
173
268
  return [[[FBErrorBuilder builder]
174
269
  withDescriptionFormat:@"%@", description]
175
- buildError:error];;
270
+ buildError:error];
176
271
  }
177
272
 
178
273
  - (BOOL)fb_openUrl:(NSString *)url withApplication:(NSString *)bundleId error:(NSError **)error
@@ -210,6 +305,11 @@ static bool fb_isLocked;
210
305
  }
211
306
  }
212
307
 
308
+ - (BOOL)fb_hasButton:(NSString *)buttonName
309
+ {
310
+ return fb_availableButtonNames()[buttonName.lowercaseString] != nil;
311
+ }
312
+
213
313
  - (BOOL)fb_pressButton:(NSString *)buttonName
214
314
  forDuration:(nullable NSNumber *)duration
215
315
  error:(NSError **)error
@@ -217,71 +317,23 @@ static bool fb_isLocked;
217
317
  #if !TARGET_OS_TV
218
318
  return [self fb_pressButton:buttonName error:error];
219
319
  #else
220
- NSMutableArray<NSString *> *supportedButtonNames = [NSMutableArray array];
221
- NSInteger remoteButton = -1; // no remote button
222
- if ([buttonName.lowercaseString isEqualToString:@"home"]) {
223
- // XCUIRemoteButtonHome = 7
224
- remoteButton = XCUIRemoteButtonHome;
225
- }
226
- [supportedButtonNames addObject:@"home"];
227
320
 
228
- // https://developer.apple.com/design/human-interface-guidelines/tvos/remote-and-controllers/remote/
229
- if ([buttonName.lowercaseString isEqualToString:@"up"]) {
230
- // XCUIRemoteButtonUp = 0,
231
- remoteButton = XCUIRemoteButtonUp;
232
- }
233
- [supportedButtonNames addObject:@"up"];
234
-
235
- if ([buttonName.lowercaseString isEqualToString:@"down"]) {
236
- // XCUIRemoteButtonDown = 1,
237
- remoteButton = XCUIRemoteButtonDown;
238
- }
239
- [supportedButtonNames addObject:@"down"];
240
-
241
- if ([buttonName.lowercaseString isEqualToString:@"left"]) {
242
- // XCUIRemoteButtonLeft = 2,
243
- remoteButton = XCUIRemoteButtonLeft;
244
- }
245
- [supportedButtonNames addObject:@"left"];
246
-
247
- if ([buttonName.lowercaseString isEqualToString:@"right"]) {
248
- // XCUIRemoteButtonRight = 3,
249
- remoteButton = XCUIRemoteButtonRight;
250
- }
251
- [supportedButtonNames addObject:@"right"];
252
-
253
- if ([buttonName.lowercaseString isEqualToString:@"menu"]) {
254
- // XCUIRemoteButtonMenu = 5,
255
- remoteButton = XCUIRemoteButtonMenu;
256
- }
257
- [supportedButtonNames addObject:@"menu"];
258
-
259
- if ([buttonName.lowercaseString isEqualToString:@"playpause"]) {
260
- // XCUIRemoteButtonPlayPause = 6,
261
- remoteButton = XCUIRemoteButtonPlayPause;
262
- }
263
- [supportedButtonNames addObject:@"playpause"];
264
-
265
- if ([buttonName.lowercaseString isEqualToString:@"select"]) {
266
- // XCUIRemoteButtonSelect = 4,
267
- remoteButton = XCUIRemoteButtonSelect;
268
- }
269
- [supportedButtonNames addObject:@"select"];
270
-
271
- if (remoteButton == -1) {
321
+ NSDictionary<NSString *, NSNumber *> *availableButtons = fb_availableButtonNames();
322
+ NSNumber *buttonValue = availableButtons[buttonName.lowercaseString];
323
+
324
+ if (!buttonValue) {
325
+ NSArray *sortedKeys = [availableButtons.allKeys sortedArrayUsingSelector:@selector(compare:)];
272
326
  return [[[FBErrorBuilder builder]
273
- withDescriptionFormat:@"The button '%@' is unknown. Only the following button names are supported: %@", buttonName, supportedButtonNames]
327
+ withDescriptionFormat:@"The button '%@' is not supported. The device under test only supports the following buttons: %@", buttonName, sortedKeys]
274
328
  buildError:error];
275
329
  }
276
-
277
330
  if (duration) {
278
- // https://developer.apple.com/documentation/xctest/xcuiremote/1627475-pressbutton
279
- [[XCUIRemote sharedRemote] pressButton:remoteButton forDuration:duration.doubleValue];
331
+ // https://developer.apple.com/documentation/xcuiautomation/xcuiremote/press(_:forduration:)
332
+ [[XCUIRemote sharedRemote] pressButton:(XCUIRemoteButton)[buttonValue unsignedIntegerValue] forDuration:duration.doubleValue];
280
333
  } else {
281
- // https://developer.apple.com/documentation/xctest/xcuiremote/1627476-pressbutton
282
- [[XCUIRemote sharedRemote] pressButton:remoteButton];
334
+ // https://developer.apple.com/documentation/xcuiautomation/xcuiremote/press(_:)
335
+ [[XCUIRemote sharedRemote] pressButton:(XCUIRemoteButton)[buttonValue unsignedIntegerValue]];
283
336
  }
284
-
285
337
  return YES;
286
338
  #endif
287
339
  }
@@ -290,29 +342,16 @@ static bool fb_isLocked;
290
342
  - (BOOL)fb_pressButton:(NSString *)buttonName
291
343
  error:(NSError **)error
292
344
  {
293
- NSMutableArray<NSString *> *supportedButtonNames = [NSMutableArray array];
294
- XCUIDeviceButton dstButton = 0;
295
- if ([buttonName.lowercaseString isEqualToString:@"home"]) {
296
- dstButton = XCUIDeviceButtonHome;
297
- }
298
- [supportedButtonNames addObject:@"home"];
299
- #if !TARGET_OS_SIMULATOR
300
- if ([buttonName.lowercaseString isEqualToString:@"volumeup"]) {
301
- dstButton = XCUIDeviceButtonVolumeUp;
302
- }
303
- if ([buttonName.lowercaseString isEqualToString:@"volumedown"]) {
304
- dstButton = XCUIDeviceButtonVolumeDown;
305
- }
306
- [supportedButtonNames addObject:@"volumeUp"];
307
- [supportedButtonNames addObject:@"volumeDown"];
308
- #endif
309
-
310
- if (dstButton == 0) {
345
+ NSDictionary<NSString *, NSNumber *> *availableButtons = fb_availableButtonNames();
346
+ NSNumber *buttonValue = availableButtons[buttonName.lowercaseString];
347
+
348
+ if (!buttonValue) {
349
+ NSArray *sortedKeys = [availableButtons.allKeys sortedArrayUsingSelector:@selector(compare:)];
311
350
  return [[[FBErrorBuilder builder]
312
- withDescriptionFormat:@"The button '%@' is unknown. Only the following button names are supported: %@", buttonName, supportedButtonNames]
351
+ withDescriptionFormat:@"The button '%@' is not supported. The device under test only supports the following buttons: %@", buttonName, sortedKeys]
313
352
  buildError:error];
314
353
  }
315
- [self pressButton:dstButton];
354
+ [self pressButton:(XCUIDeviceButton)[buttonValue unsignedIntegerValue]];
316
355
  return YES;
317
356
  }
318
357
  #endif
@@ -339,9 +378,9 @@ static bool fb_isLocked;
339
378
  return YES;
340
379
  }
341
380
 
342
- #if __clang_major__ >= 15 || (__clang_major__ >= 14 && __clang_minor__ >= 0 && __clang_patchlevel__ >= 3)
381
+ #if !TARGET_OS_WATCH && (__clang_major__ >= 15 || (__clang_major__ >= 14 && __clang_minor__ >= 0 && __clang_patchlevel__ >= 3))
343
382
  // Xcode 14.3.1 can build these values.
344
- // For iOS 17+
383
+ // For iOS 17+; the `appearance` property does not exist on watchOS
345
384
  if ([self respondsToSelector:NSSelectorFromString(@"appearance")]) {
346
385
  self.appearance = (XCUIDeviceAppearance) appearance;
347
386
  return YES;
@@ -368,6 +407,57 @@ static bool fb_isLocked;
368
407
  : nil;
369
408
  }
370
409
 
410
+ #if TARGET_OS_WATCH
411
+ - (BOOL)fb_rotateDigitalCrown:(double)delta velocity:(nullable NSNumber *)velocity error:(NSError **)error
412
+ {
413
+ SEL selector = nil == velocity
414
+ ? NSSelectorFromString(@"rotateDigitalCrownByDelta:")
415
+ : NSSelectorFromString(@"rotateDigitalCrownByDelta:withVelocity:");
416
+ if (nil == selector || ![self respondsToSelector:selector]) {
417
+ return [[[FBErrorBuilder builder]
418
+ withDescriptionFormat:@"Digital Crown rotation is not supported by the current Xcode SDK/OS combination"]
419
+ buildError:error];
420
+ }
421
+ NSMethodSignature *signature = [self methodSignatureForSelector:selector];
422
+ NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature];
423
+ [invocation setSelector:selector];
424
+ [invocation setTarget:self];
425
+ [invocation setArgument:&delta atIndex:2];
426
+ if (velocity) {
427
+ double velocityValue = velocity.doubleValue;
428
+ [invocation setArgument:&velocityValue atIndex:3];
429
+ }
430
+ [invocation invoke];
431
+ return YES;
432
+ }
433
+
434
+ - (BOOL)fb_performHandGesture:(NSString *)gestureName error:(NSError **)error
435
+ {
436
+ NSDictionary<NSString *, NSNumber *> *availableGestures = fb_availableHandGestureNames();
437
+ NSNumber *gestureValue = availableGestures[gestureName.lowercaseString];
438
+ if (!gestureValue) {
439
+ NSArray *sortedKeys = [availableGestures.allKeys sortedArrayUsingSelector:@selector(compare:)];
440
+ return [[[FBErrorBuilder builder]
441
+ withDescriptionFormat:@"The hand gesture '%@' is not supported. The device under test only supports the following hand gestures: %@", gestureName, sortedKeys]
442
+ buildError:error];
443
+ }
444
+ SEL selector = NSSelectorFromString(@"performHandGesture:");
445
+ if (nil == selector || ![self respondsToSelector:selector]) {
446
+ return [[[FBErrorBuilder builder]
447
+ withDescriptionFormat:@"Hand gesture automation is not supported by the current Xcode SDK/OS combination"]
448
+ buildError:error];
449
+ }
450
+ NSMethodSignature *signature = [self methodSignatureForSelector:selector];
451
+ NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature];
452
+ [invocation setSelector:selector];
453
+ [invocation setTarget:self];
454
+ NSInteger gestureRawValue = gestureValue.integerValue;
455
+ [invocation setArgument:&gestureRawValue atIndex:2];
456
+ [invocation invoke];
457
+ return YES;
458
+ }
459
+ #endif // TARGET_OS_WATCH
460
+
371
461
  #if !TARGET_OS_TV
372
462
  - (BOOL)fb_setSimulatedLocation:(CLLocation *)location error:(NSError **)error
373
463
  {
@@ -10,7 +10,7 @@
10
10
 
11
11
  NS_ASSUME_NONNULL_BEGIN
12
12
 
13
- #if !TARGET_OS_TV
13
+ #if !TARGET_OS_TV && !TARGET_OS_WATCH
14
14
  @interface XCUIDevice (FBRotation)
15
15
 
16
16
  /**
@@ -32,6 +32,14 @@ NS_ASSUME_NONNULL_BEGIN
32
32
  /*! The UIDeviceOrientation to rotation mappings */
33
33
  @property (strong, nonatomic, readonly) NSDictionary *fb_rotationMapping;
34
34
 
35
+ /**
36
+ The current physical device orientation as the raw UIDeviceOrientation name string,
37
+ e.g. UIDeviceOrientationPortrait, UIDeviceOrientationLandscapeLeft,
38
+ UIDeviceOrientationFaceUp. Returns UIDeviceOrientationUnknown if the orientation
39
+ cannot be determined.
40
+ */
41
+ @property (copy, nonatomic, readonly) NSString *fb_deviceOrientation;
42
+
35
43
  @end
36
44
  #endif
37
45