@devicelab/maestro-runner-darwin-arm64 1.1.27 → 1.1.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -19
- package/bin/maestro-runner +0 -0
- package/drivers/LICENSE-BINARIES.md +38 -0
- package/drivers/android/devicelab-android-driver.apk +0 -0
- package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunner.xcodeproj/project.pbxproj +38 -14
- package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/Bridging-Header.h +3 -0
- package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerAXSnapshotBridge.h +51 -0
- package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerAXSnapshotBridge.m +439 -0
- package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerDefaults.h +12 -0
- package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerDefaults.m +59 -0
- package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests+AXSnapshotFallback.swift +128 -0
- package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests+CommandExecution.swift +68 -14
- package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests+Interaction.swift +256 -48
- package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests+Lifecycle.swift +102 -6
- package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests+Models.swift +74 -1
- package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests+Settle.swift +89 -0
- package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests+Snapshot.swift +279 -82
- package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests+SystemModal.swift +1 -1
- package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests+Transport.swift +7 -2
- package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerTests.swift +44 -10
- package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerXCTestTimeouts.h +87 -0
- package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/RunnerXCTestTimeouts.m +207 -0
- package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/SnapshotParams.m +22 -6
- package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/SyntheticTyping.h +23 -0
- package/drivers/ios/DevicelabIOSRunner/DevicelabIOSRunnerUITests/SyntheticTyping.m +77 -30
- package/drivers/ios/DevicelabIOSRunner/PROTOCOL.md +26 -3
- package/drivers/ios/WebDriverAgent/.editorconfig +11 -0
- package/drivers/ios/WebDriverAgent/.github/dependabot.yml +1 -1
- package/drivers/ios/WebDriverAgent/.github/workflows/functional-test.yml +65 -24
- package/drivers/ios/WebDriverAgent/.github/workflows/publish.js.yml +15 -8
- package/drivers/ios/WebDriverAgent/.github/workflows/unit-test.yml +4 -2
- package/drivers/ios/WebDriverAgent/.github/workflows/wda-package.yml +9 -2
- package/drivers/ios/WebDriverAgent/.github/workflows/wda-tests.yml +54 -29
- package/drivers/ios/WebDriverAgent/CHANGELOG.md +546 -0
- package/drivers/ios/WebDriverAgent/Fastlane/Fastfile +8 -1
- package/drivers/ios/WebDriverAgent/Gemfile +1 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/CDStructures.h +5 -26
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/NSFastEnumeration-Protocol.h +23 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCAXClient_iOS.h +80 -44
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCApplicationQuery.h +18 -11
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCDebugLogDelegate-Protocol.h +17 -5
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCPointerEvent.h +52 -19
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCPointerEventPath.h +55 -33
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCSynthesizedEventRecord.h +44 -21
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTAggregateSuiteRunStatistics.h +38 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTAttachmentManager.h +33 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTCapabilities.h +35 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTCapabilitiesProviding-Protocol.h +23 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTElementSetTransformer-Protocol.h +30 -13
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTElementSnapshotAttributeDataSource-Protocol.h +33 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTElementSnapshotProvider-Protocol.h +23 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTExpectedFailureContextManager.h +35 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTFuture.h +45 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTHarnessEventReporting-Protocol.h +29 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTIssue.h +49 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTIssueHandling-Protocol.h +26 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMacCatalystStatusProviding-Protocol.h +23 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMeasureOptions.h +48 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMemoryChecker.h +50 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMemoryCheckerDelegate-Protocol.h +26 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingChannel_IDEToRunner-Protocol.h +27 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingChannel_RunnerToDaemon-Protocol.h +39 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingChannel_RunnerToIDE-Protocol.h +32 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_ActivityReporting-Protocol.h +24 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_AttachmentFutureResultStatusUpdating-Protocol.h +23 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_BundleRequesting-Protocol.h +24 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_CapabilityExchange-Protocol.h +56 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_DebugLogging-Protocol.h +23 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_EventSynthesis-Protocol.h +34 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_ForcePressureSupportQuerying-Protocol.h +25 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_HIDEventRecording-Protocol.h +25 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_MemoryTesting-Protocol.h +23 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_PerformanceMeasurementReporting-Protocol.h +23 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_ProcessMonitoring-Protocol.h +25 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_ProtectedResourceAuthorization-Protocol.h +22 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_ScreenRecording-Protocol.h +24 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_SelfDiagnosisIssueReporting-Protocol.h +23 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_SignpostRequesting-Protocol.h +24 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_SiriAutomation-Protocol.h +27 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_SystemConfiguration-Protocol.h +27 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_TelemetrySending-Protocol.h +23 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_TestExecution-Protocol.h +28 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_TestReporting-Protocol.h +40 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_UIAutomation-Protocol.h +29 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_UIAutomationRunnerEventReporting-Protocol.h +27 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMessagingRole_UserPresence-Protocol.h +24 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMetricDiagnosticHelper.h +49 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTNSPredicateExpectationObject-Protocol.h +15 -7
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTPromise.h +30 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTRemoteSignpostListenerProxy-Protocol.h +29 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTRepetitionPolicy.h +43 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTReportingSession.h +50 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTReportingSessionConfiguration-Protocol.h +27 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTReportingSessionIssueReporter-Protocol.h +23 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTReportingSessionTestContainer-Protocol.h +26 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTReportingSessionTestReporter.h +51 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTRunnerAutomationSession-Protocol.h +38 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTRunnerDaemonSession.h +76 -78
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTRunnerDaemonSessionUIAutomationDelegate-Protocol.h +33 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTRunnerIDESession.h +87 -53
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTRunnerIDESessionDelegate-Protocol.h +24 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTRuntimeDiagnosticsPolicy.h +36 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTRuntimeIssueDetectionPolicy.h +39 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTScreenCapturePolicy.h +35 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTSignpostListener-Protocol.h +25 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTSkippedTestContext.h +37 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTSourceCodeContext.h +39 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTSourceCodeLocation.h +31 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTTagSelection.h +41 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTTestIdentifier.h +81 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTTestIdentifierSet.h +54 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTTestSelection.h +35 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTWaiter.h +45 -46
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTWaiterManagement-Protocol.h +17 -6
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTWaiterManager-Protocol.h +25 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTWaiterWait.h +40 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTest.h +47 -28
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestCase.h +165 -87
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestCaseDiscoveryUIAutomationDelegate-Protocol.h +20 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestCaseRun.h +19 -9
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestCaseUIAutomationDelegate-Protocol.h +25 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestCastMethodNamesUIAutomationDelegate-Protocol.h +24 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestConfiguration.h +83 -55
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestDriver.h +54 -28
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestExpectation.h +37 -26
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestExpectationDelegate-Protocol.h +15 -6
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestObservationCenter.h +49 -25
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestRun.h +33 -28
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIAXNotificationHandling-Protocol.h +25 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIAccessibilityInterface-Protocol.h +58 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIAlertMonitoring-Protocol.h +27 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplication.h +87 -49
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationAutomationSessionProviding-Protocol.h +26 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationImpl.h +78 -26
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationImplReporter-Protocol.h +26 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationManaging-Protocol.h +23 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationMonitor-Protocol.h +43 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationOpenRequest.h +34 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationPlatformServicesProviderDelegate-Protocol.h +25 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationProcess.h +89 -69
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationProcessDelegate-Protocol.h +25 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationProcessManaging-Protocol.h +26 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationProcessTracker-Protocol.h +28 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIApplicationRegistry.h +32 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIButtonConsole.h +26 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUICoordinate.h +37 -32
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIDevice.h +121 -17
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIDeviceAutomationModeInterface-Protocol.h +25 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIDeviceDelayedAttachmentTransferSupportInterface-Protocol.h +22 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIDeviceEventAndStateInterface-Protocol.h +40 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIElement.h +192 -59
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIElementAttributesPrivate-Protocol.h +26 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIElementEventTarget-Protocol.h +38 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIElementQuery.h +154 -58
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIElementTypeQueryProvider_Private-Protocol.h +24 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIEventRecording-Protocol.h +37 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIHitPointResult.h +16 -11
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIInterruptionMonitoring-Protocol.h +27 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIIssueDiagnosticsProviding-Protocol.h +23 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIKnobControl.h +26 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUILocation.h +24 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIPlatformApplicationServicesProviding-Protocol.h +33 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIRemoteAccessibilityInterface-Protocol.h +45 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIRemoteDeviceRunner-Protocol.h +24 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIRemoteSiriInterface-Protocol.h +30 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIResetAuthorizationStatusOfProtectedResourcesInterface-Protocol.h +22 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIScreen.h +45 -19
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIScreenDataSource-Protocol.h +28 -12
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUISiriService.h +39 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUISystem.h +26 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIXcodeApplicationManaging-Protocol.h +27 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_TtC10XCTestCore19XCTReportingContext.h +26 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTMessaging_VoidProtocol-Protocol.h +20 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTestObservationInternal-Protocol.h +26 -0
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTestObservationPrivate-Protocol.h +27 -0
- package/drivers/ios/WebDriverAgent/README.md +0 -10
- package/drivers/ios/WebDriverAgent/Scripts/build-webdriveragent.mjs +30 -22
- package/drivers/ios/WebDriverAgent/Scripts/build.sh +14 -1
- package/drivers/ios/WebDriverAgent/Scripts/embed-runner-icon.sh +118 -0
- package/drivers/ios/WebDriverAgent/Scripts/fetch-prebuilt-wda.mjs +34 -22
- package/drivers/ios/WebDriverAgent/Scripts/update-wda-version.mjs +12 -10
- package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/project.pbxproj +2583 -659
- package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationApp.xcscheme +1 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationApp_tvOS.xcscheme +78 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationApp_watchOS.xcscheme +78 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationTests_1.xcscheme +8 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationTests_2.xcscheme +8 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationTests_3.xcscheme +8 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationTests_tvOS.xcscheme +93 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/IntegrationTests_watchOS.xcscheme +93 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/WebDriverAgentLib.xcscheme +1 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/WebDriverAgentLib_tvOS.xcscheme +1 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/WebDriverAgentLib_watchOS.xcscheme +85 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/WebDriverAgentRunner-nodebug.xcscheme +1 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/WebDriverAgentRunner.xcscheme +20 -2
- package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/WebDriverAgentRunner_tvOS.xcscheme +1 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgent.xcodeproj/xcshareddata/xcschemes/WebDriverAgentRunner_watchOS.xcscheme +128 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/NSDictionary+FBUtf8SafeDictionary.m +45 -27
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCAXClient_iOS+FBSnapshotReqParams.h +1 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCAXClient_iOS+FBSnapshotReqParams.m +91 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIApplication+FBAlert.h +27 -3
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIApplication+FBAlert.m +125 -55
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIApplication+FBHelpers.h +15 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIApplication+FBHelpers.m +32 -3
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIApplication+FBTouchAction.m +2 -3
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIApplicationProcess+FBQuiescence.m +9 -16
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIDevice+FBHelpers.h +47 -4
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIDevice+FBHelpers.m +173 -83
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIDevice+FBRotation.h +9 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIDevice+FBRotation.m +45 -5
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIDevice+FBVoiceOver.h +66 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIDevice+FBVoiceOver.m +218 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBClassChain.m +144 -3
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBFind.m +1 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBForceTouch.m +5 -2
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBPickerWheel.m +4 -3
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBScrolling.m +113 -50
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBTVFocuse.m +5 -5
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBTyping.h +33 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBTyping.m +39 -5
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBUtilities.m +9 -7
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBVisibleFrame.m +12 -3
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElement+FBWebDriverAttributes.m +6 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIElementQuery+FBHelpers.m +1 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Commands/FBAlertViewCommands.m +10 -36
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Commands/FBCustomCommands.m +155 -8
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Commands/FBElementCommands.m +45 -19
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Commands/FBFindElementCommands.m +7 -7
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Commands/FBOrientationCommands.m +9 -2
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Commands/FBScreenshotCommands.m +3 -3
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Commands/FBSessionCommands.m +220 -296
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/FBAlert.h +43 -30
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/FBAlert.m +273 -93
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Info.plist +2 -2
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBElement.h +3 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBExceptionHandler.m +8 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBExceptions.h +9 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBExceptions.m +3 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBHTTPServer.h +97 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBHTTPServer.m +932 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBResponseJSONPayload.m +2 -3
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBResponsePayload.m +1 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBRoute.h +9 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBRoute.m +9 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBScreenRecordingContainer.h +9 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBScreenRecordingContainer.m +28 -12
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBScreenRecordingRequest.m +1 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBSession.h +16 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBSession.m +252 -42
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBTCPSocket.h +57 -9
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBTCPSocket.m +183 -33
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBWebServer.h +18 -2
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBWebServer.m +92 -37
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/FBXCElementSnapshot.h +1 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/RouteRequest.h +28 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/RouteRequest.m +25 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/RouteResponse.h +30 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Routing/RouteResponse.m +54 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBActiveAppDetectionPoint.m +10 -2
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBAlertsMonitor.m +21 -5
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBBaseActionsSynthesizer.h +2 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBBaseActionsSynthesizer.m +3 -3
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBCapabilities.h +1 -3
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBCapabilities.m +0 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBClassChainQueryParser.m +1 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBConfiguration.h +106 -136
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBConfiguration.m +150 -386
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBFailureProofTestCase.m +6 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBImageProcessor.m +54 -29
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBLogger.m +2 -2
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBMacros.h +14 -5
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBMathUtils.h +54 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBMathUtils.m +48 -2
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBMjpegServer.h +12 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBMjpegServer.m +119 -24
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBPasteboard.h +1 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBPasteboard.m +9 -5
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBScreen.h +10 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBScreen.m +32 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBScreenshot.m +3 -3
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBSettings.h +3 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBSettings.m +3 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBSettingsHandler.h +35 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBSettingsHandler.m +374 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBTVNavigationTracker-Private.h +10 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBTVNavigationTracker.h +29 -4
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBTVNavigationTracker.m +62 -27
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBW3CActionsSynthesizer.h +1 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBW3CActionsSynthesizer.m +28 -10
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBXCAXClientProxy.h +124 -2
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBXCAXClientProxy.m +142 -21
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBXCTestDaemonsProxy.h +2 -2
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBXCTestDaemonsProxy.m +22 -19
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBXCodeCompatibility.h +1 -8
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBXCodeCompatibility.m +57 -27
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBXPath-Private.h +5 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBXPath.m +69 -14
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBXPathExtensions.h +40 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/FBXPathExtensions.m +418 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/XCTestPrivateSymbols.h +2 -2
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Utilities/XCTestPrivateSymbols.m +54 -34
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/WebDriverAgentLib.h +1 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentRunner/Assets.xcassets/AppIcon.appiconset/Contents.json +14 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentRunner/Assets.xcassets/AppIcon.appiconset/icon-1024.png +0 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentRunner/Assets.xcassets/Contents.json +6 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentRunner/UITestingUITests.m +7 -7
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/COORDINATE_PROBE.md +50 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/Classes/FBCoordinateProbeViewController.h +4 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/Classes/FBCoordinateProbeViewController.m +176 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/Classes/FBScrollViewController.m +15 -2
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/Classes/TouchViewController.h +1 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/Classes/TouchableView.h +2 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/Classes/TouchableView.m +14 -3
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/Classes/ViewController.m +44 -3
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/Info.plist +2 -2
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp/Resources/Base.lproj/Main.storyboard +52 -22
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp_tvOS/AppDelegate.h +13 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp_tvOS/AppDelegate.m +26 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp_tvOS/Info.plist +41 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp_tvOS/SceneDelegate.h +15 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp_tvOS/SceneDelegate.m +22 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp_tvOS/ViewController.h +13 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp_tvOS/ViewController.m +79 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp_tvOS/main.m +17 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp_watchOS/ContentView.swift +31 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationApp_watchOS/WatchSpikeApp.swift +18 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBAlertTests.m +37 -56
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBAutoAlertsHandlerTests.m +10 -4
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBConfigurationTests.m +41 -8
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBElementAttributeTests.m +10 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBElementSwipingTests.m +4 -4
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBElementVisibilityTests.m +14 -19
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBForceTouchTests.m +6 -3
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBIntegrationAppTests.m +87 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBIntegrationTestCase.h +30 -5
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBIntegrationTestCase.m +51 -15
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBPasteboardTests.m +3 -2
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBSafariAlertTests.m +6 -2
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBScreenTests.m +28 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBScrollingTests.m +3 -6
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBTapTest.m +83 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBVideoRecordingTests.m +1 -2
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBVoiceOverTests.m +103 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBW3CMultiTouchActionsIntegrationTests.m +35 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBW3CTouchActionsIntegrationTests.m +96 -13
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBW3CTypeActionsTests.m +3 -3
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/FBXPathIntegrationTests.m +108 -5
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/XCElementSnapshotHelperTests.m +1 -7
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/XCUIApplicationHelperTests.m +1 -1
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/XCUIDeviceHelperTests.m +21 -5
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/XCUIDeviceRotationTests.m +21 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/XCUIElementAttributesTests.m +5 -5
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests/XCUIElementFBFindTests.m +98 -10
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_tvOS/FBTVFocusIntegrationTests.m +84 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_tvOS/Info.plist +24 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/IntegrationTests_watchOS-Bridging-Header.h +23 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/WDAAlertIntegrationTests.swift +25 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/WDAAppLifecycleIntegrationTests.swift +37 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/WDAClickIntegrationTests.swift +25 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/WDADeviceIntegrationTests.swift +92 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/WDAElementAttributeIntegrationTests.swift +39 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/WDAFindIntegrationTests.swift +101 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/WDAMjpegStreamingIntegrationTests.swift +81 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/WDAScreenshotAndSourceIntegrationTests.swift +54 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/WDATypingIntegrationTests.swift +73 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/IntegrationTests_watchOS/WDAWatchInProcessTestCase.swift +51 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/Doubles/XCUIElementDouble.h +4 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/Doubles/XCUIElementDouble.m +10 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBConfigurationTests.m +18 -6
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBCustomCommandsTests.m +83 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBHTTPServerSessionTests.m +133 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBHTTPServerTests.m +264 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBMathUtilsTests.m +38 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBResponseJSONPayloadTests.m +76 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBSessionTests.m +3 -3
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBTouchableViewTests.m +121 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBXCAXClientProxyTests.m +90 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/FBXPathTests.m +127 -2
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests/NSDictionaryFBUtf8SafeTests.m +43 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests_tvOS/Doubles/FBXCAccessibilityElementDouble.h +27 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests_tvOS/Doubles/FBXCAccessibilityElementDouble.m +23 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests_tvOS/Doubles/FBXCElementSnapshotDouble.h +43 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests_tvOS/Doubles/FBXCElementSnapshotDouble.m +24 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests_tvOS/Doubles/XCUIElementDouble.h +1 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests_tvOS/Doubles/XCUIElementDouble.m +1 -0
- package/drivers/ios/WebDriverAgent/WebDriverAgentTests/UnitTests_tvOS/FBTVNavigationTrackerTests.m +48 -0
- package/drivers/ios/WebDriverAgent/lib/check-dependencies.ts +42 -21
- package/drivers/ios/WebDriverAgent/lib/constants.ts +12 -2
- package/drivers/ios/WebDriverAgent/lib/index.ts +7 -0
- package/drivers/ios/WebDriverAgent/lib/logger.ts +1 -1
- package/drivers/ios/WebDriverAgent/lib/no-session-proxy.ts +8 -14
- package/drivers/ios/WebDriverAgent/lib/types.ts +108 -8
- package/drivers/ios/WebDriverAgent/lib/utils/index.ts +15 -0
- package/drivers/ios/WebDriverAgent/lib/utils/module.ts +24 -0
- package/drivers/ios/WebDriverAgent/lib/utils/platform.ts +34 -0
- package/drivers/ios/WebDriverAgent/lib/utils/processes.ts +166 -0
- package/drivers/ios/WebDriverAgent/lib/utils/security.ts +13 -0
- package/drivers/ios/WebDriverAgent/lib/utils/xctestrun.ts +173 -0
- package/drivers/ios/WebDriverAgent/lib/wda-strategies.ts +333 -0
- package/drivers/ios/WebDriverAgent/lib/webdriveragent.ts +336 -428
- package/drivers/ios/WebDriverAgent/lib/xcodebuild.ts +232 -127
- package/drivers/ios/WebDriverAgent/oxfmt.config.mjs +6 -0
- package/drivers/ios/WebDriverAgent/oxlint.config.mjs +6 -0
- package/drivers/ios/WebDriverAgent/package.json +70 -79
- package/drivers/ios/WebDriverAgent/release.config.mjs +14 -0
- package/drivers/ios/WebDriverAgent/test/functional/desired.ts +10 -6
- package/drivers/ios/WebDriverAgent/test/functional/helpers/simulator.ts +39 -28
- package/drivers/ios/WebDriverAgent/test/functional/webdriveragent-e2e.spec.ts +100 -0
- package/drivers/ios/WebDriverAgent/test/unit/processes.spec.ts +99 -0
- package/drivers/ios/WebDriverAgent/test/unit/utils.spec.ts +235 -0
- package/drivers/ios/WebDriverAgent/test/unit/wda-cleanup.spec.ts +136 -0
- package/drivers/ios/WebDriverAgent/test/unit/webdriveragent.spec.ts +562 -0
- package/drivers/ios/WebDriverAgent/tsconfig.json +6 -8
- package/drivers/ios/devicelab-ios-agent/README.md +51 -0
- package/drivers/ios/devicelab-ios-agent/device/DevicelabIOSAgent.app/DevicelabIOSAgent +0 -0
- package/drivers/ios/devicelab-ios-agent/device/DevicelabIOSAgent.app/Info.plist +0 -0
- package/drivers/ios/devicelab-ios-agent/device/DevicelabIOSAgent.app/PkgInfo +1 -0
- package/drivers/ios/devicelab-ios-agent/device/DevicelabIOSAgentUITests-Runner.app/DevicelabIOSAgentUITests-Runner +0 -0
- package/drivers/ios/devicelab-ios-agent/device/DevicelabIOSAgentUITests-Runner.app/Info.plist +302 -0
- package/drivers/ios/devicelab-ios-agent/device/DevicelabIOSAgentUITests-Runner.app/PkgInfo +1 -0
- package/drivers/ios/devicelab-ios-agent/device/DevicelabIOSAgentUITests-Runner.app/PlugIns/DevicelabIOSAgentUITests.xctest/DevicelabIOSAgentUITests +0 -0
- package/drivers/ios/devicelab-ios-agent/device/DevicelabIOSAgentUITests-Runner.app/PlugIns/DevicelabIOSAgentUITests.xctest/Info.plist +0 -0
- package/drivers/ios/devicelab-ios-agent/device/agent.xctestrun +120 -0
- package/drivers/ios/devicelab-ios-agent/device/manifest.json +18 -0
- package/drivers/ios/devicelab-ios-agent/signing-stub/SigningStub/StubApp.swift +10 -0
- package/drivers/ios/devicelab-ios-agent/signing-stub/SigningStub.xcodeproj/project.pbxproj +394 -0
- package/drivers/ios/devicelab-ios-agent/signing-stub/SigningStub.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/drivers/ios/devicelab-ios-agent/signing-stub/SigningStub.xcodeproj/xcshareddata/xcschemes/SigningStubUITests.xcscheme +100 -0
- package/drivers/ios/devicelab-ios-agent/signing-stub/SigningStubUITests/StubUITests.swift +8 -0
- package/drivers/ios/devicelab-ios-agent/signing-stub/project.yml +64 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgent.app/DevicelabIOSAgent +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgent.app/Info.plist +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgent.app/PkgInfo +1 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/DevicelabIOSAgentUITests-Runner +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Info.plist +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Modules/Testing.swiftcrossimport/CoreGraphics.swiftoverlay +3 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Modules/Testing.swiftcrossimport/CoreImage.swiftoverlay +3 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Modules/Testing.swiftcrossimport/CoreTransferable.swiftoverlay +3 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Modules/Testing.swiftcrossimport/Foundation.swiftoverlay +3 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Modules/Testing.swiftcrossimport/UIKit.swiftoverlay +3 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Modules/Testing.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Modules/Testing.swiftmodule/arm64-apple-ios-simulator.swiftinterface +1431 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Modules/Testing.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Modules/Testing.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +1431 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/Testing +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/_CodeSignature/CodeResources +212 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/Testing.framework/version.plist +18 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTAutomationSupport.framework/Info.plist +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTAutomationSupport.framework/XCTAutomationSupport +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTAutomationSupport.framework/_CodeSignature/CodeResources +113 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTAutomationSupport.framework/version.plist +18 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCAbstractTest.h +140 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTActivity.h +33 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTAttachment+XCUIScreenshot.h +32 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTAttachment.h +219 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTAttachmentLifetime.h +28 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTContext.h +65 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTDarwinNotificationExpectation.h +60 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTExpectedFailure.h +134 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTIssue.h +143 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTKVOExpectation.h +110 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTMeasureOptions.h +57 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTMetric+UIAutomation.h +77 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTMetric.h +390 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTNSNotificationExpectation.h +92 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTNSPredicateExpectation.h +74 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTSourceCodeContext.h +109 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTWaiter.h +304 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTest.apinotes +182 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTest.h +41 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestAssertions.h +277 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestAssertionsImpl.h +503 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestCase+AsynchronousTesting.h +276 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestCase+XCUIApplicationLaunchTesting.h +36 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestCase+XCUIInterruptionMonitoring.h +95 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestCase.h +443 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestCaseRun.h +50 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestCore.h +42 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestDefines.h +135 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestErrors.h +33 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestExpectation.h +73 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestLog.h +56 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestObservation.h +195 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestObservationCenter.h +60 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestObserver.h +61 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestProbe.h +55 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestRun.h +223 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestSkipping.h +41 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestSkippingImpl.h +46 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestSuite.h +92 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCTestSuiteRun.h +50 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIAccessibilityAuditIssue.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIAccessibilityAuditTypes.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIApplication.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIAutomation.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIAutomationDefines.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUICoordinate.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIDevice.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIDeviceButton.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIDeviceHandGesture.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIElement.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIElementAttributes.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIElementQuery.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIElementTypeQueryProvider.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIElementTypes.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIKeyboardKeys.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUILocation.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIProtectedResource.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIRemote.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIScreen.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIScreenshot.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUIScreenshotProviding.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUISiriService.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Headers/XCUISystem.h +9 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Info.plist +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/Modules/module.modulemap +30 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/XCTest +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/_CodeSignature/CodeResources +817 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTest.framework/version.plist +18 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTestCore.framework/Info.plist +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTestCore.framework/XCTestCore +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTestCore.framework/_CodeSignature/CodeResources +113 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTestCore.framework/version.plist +18 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTestSupport.framework/Info.plist +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTestSupport.framework/XCTestSupport +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTestSupport.framework/_CodeSignature/CodeResources +113 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCTestSupport.framework/version.plist +18 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIAccessibilityAuditIssue.h +33 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIAccessibilityAuditTypes.h +36 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIApplication.h +154 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIAutomation.apinotes +88 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIAutomation.h +30 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIAutomationDefines.h +62 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUICoordinate.h +99 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIDevice.h +133 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIDeviceButton.h +40 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIDeviceHandGesture.h +24 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIElement.h +366 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIElementAttributes.h +106 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIElementQuery.h +81 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIElementTypeQueryProvider.h +109 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIElementTypes.h +95 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIKeyboardKeys.h +68 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUILocation.h +35 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIProtectedResource.h +52 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIRemote.h +77 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIScreen.h +36 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIScreenshot.h +42 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIScreenshotProviding.h +26 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUISiriService.h +45 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUISystem.h +26 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIVoiceOverOutput.h +26 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIVoiceOverService.h +72 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Headers/XCUIVoiceOverServiceError.h +25 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Info.plist +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Modules/XCUIAutomation.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Modules/XCUIAutomation.swiftmodule/arm64-apple-ios-simulator.swiftinterface +30 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Modules/XCUIAutomation.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Modules/XCUIAutomation.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +30 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/Modules/module.modulemap +4 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/XCUIAutomation +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/_CodeSignature/CodeResources +465 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUIAutomation.framework/version.plist +18 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUnit.framework/Info.plist +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUnit.framework/XCUnit +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUnit.framework/_CodeSignature/CodeResources +113 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/XCUnit.framework/version.plist +18 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/_Testing_Foundation.framework/Info.plist +0 -0
- 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
- 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
- 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
- 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
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/_Testing_Foundation.framework/_CodeSignature/CodeResources +157 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/_Testing_Foundation.framework/_Testing_Foundation +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/_Testing_Foundation.framework/version.plist +18 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/libXCTestBundleInject.dylib +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/libXCTestSwiftSupport.dylib +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Frameworks/lib_TestingInterop.dylib +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/Info.plist +302 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/PkgInfo +1 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/PlugIns/DevicelabIOSAgentUITests.xctest/DevicelabIOSAgentUITests +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/DevicelabIOSAgentUITests-Runner.app/PlugIns/DevicelabIOSAgentUITests.xctest/Info.plist +0 -0
- package/drivers/ios/devicelab-ios-agent/simulator/agent.xctestrun +140 -0
- package/drivers/ios/devicelab-ios-agent/simulator/manifest.json +162 -0
- package/package.json +1 -1
- package/drivers/ios/WebDriverAgent/.mocharc.js +0 -4
- package/drivers/ios/WebDriverAgent/.releaserc +0 -45
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/NSString-XCTAdditions.h +0 -11
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/NSValue-XCTestAdditions.h +0 -11
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/UIGestureRecognizer-RecordingAdditions.h +0 -11
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/UILongPressGestureRecognizer-RecordingAdditions.h +0 -11
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/UIPanGestureRecognizer-RecordingAdditions.h +0 -11
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/UIPinchGestureRecognizer-RecordingAdditions.h +0 -11
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/UISwipeGestureRecognizer-RecordingAdditions.h +0 -11
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/UITapGestureRecognizer-RecordingAdditions.h +0 -11
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCActivityRecord.h +0 -39
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCApplicationMonitor.h +0 -44
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCApplicationMonitor_iOS.h +0 -18
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCDeviceEvent.h +0 -27
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCEventGenerator.h +0 -73
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCKeyMappingPath.h +0 -36
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCKeyboardInputSolver.h +0 -41
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCKeyboardKeyMap.h +0 -101
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCKeyboardLayout.h +0 -35
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCSourceCodeRecording.h +0 -42
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCSourceCodeTreeNode.h +0 -84
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCSourceCodeTreeNodeEnumerator.h +0 -18
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCSymbolicationRecord.h +0 -29
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCSymbolicatorHolder.h +0 -14
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTAXClient-Protocol.h +0 -14
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTAsyncActivity-Protocol.h +0 -16
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTAsyncActivity.h +0 -23
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTAutomationTarget-Protocol.h +0 -12
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTDarwinNotificationExpectation.h +0 -23
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTKVOExpectation.h +0 -28
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTMetric.h +0 -29
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTNSNotificationExpectation.h +0 -27
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTNSPredicateExpectation.h +0 -24
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTRunnerAutomationSession.h +0 -21
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTTestRunSession.h +0 -25
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTTestRunSessionDelegate-Protocol.h +0 -17
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTUIApplicationMonitor-Protocol.h +0 -17
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTWaiterDelegate-Protocol.h +0 -16
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTWaiterDelegatePrivate-Protocol.h +0 -12
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTWaiterManager.h +0 -28
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestCaseSuite.h +0 -19
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestContext.h +0 -26
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestContextScope.h +0 -19
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestDriverInterface-Protocol.h +0 -14
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestExpectationWaiter.h +0 -17
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestLog.h +0 -32
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestManager_IDEInterface-Protocol.h +0 -36
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestManager_ManagerInterface-Protocol.h +0 -54
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestManager_TestsInterface-Protocol.h +0 -12
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestMisuseObserver.h +0 -37
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestObservation-Protocol.h +0 -20
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestObserver.h +0 -20
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestProbe.h +0 -13
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestSuite.h +0 -48
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestSuiteRun.h +0 -28
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCTestWaiter.h +0 -14
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIElementAsynchronousHandlerWrapper.h +0 -19
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIElementHitPointCoordinate.h +0 -24
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIRecorderNodeFinder.h +0 -65
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIRecorderNodeFinderMatch.h +0 -25
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIRecorderTimingMessage.h +0 -20
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/XCUIRecorderUtilities.h +0 -45
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCInternalTestRun.h +0 -43
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCKVOExpectationImplementation.h +0 -32
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTDarwinNotificationExpectationImplementation.h +0 -27
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTNSNotificationExpectationImplementation.h +0 -30
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTNSPredicateExpectationImplementation.h +0 -29
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTWaiterImpl.h +0 -41
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTestCaseImplementation.h +0 -70
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTestCaseInterruptionException.h +0 -13
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTestExpectationImplementation.h +0 -40
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTestImplementation.h +0 -14
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTestObservationCenterImplementation.h +0 -19
- package/drivers/ios/WebDriverAgent/PrivateHeaders/XCTest/_XCTestSuiteImplementation.h +0 -23
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaAsyncSocket/GCDAsyncSocket.h +0 -1220
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaAsyncSocket/GCDAsyncSocket.m +0 -8812
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaAsyncSocket/GCDAsyncUdpSocket.h +0 -1036
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaAsyncSocket/GCDAsyncUdpSocket.m +0 -5868
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/Categories/DDNumber.h +0 -12
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/Categories/DDNumber.m +0 -88
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/Categories/DDRange.h +0 -56
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/Categories/DDRange.m +0 -106
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/HTTPConnection.h +0 -107
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/HTTPConnection.m +0 -2238
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/HTTPLogging.h +0 -122
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/HTTPMessage.h +0 -53
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/HTTPMessage.m +0 -357
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/HTTPResponse.h +0 -149
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/HTTPServer.h +0 -126
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/HTTPServer.m +0 -372
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/LICENSE +0 -18
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/Responses/HTTPDataResponse.h +0 -13
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/Responses/HTTPDataResponse.m +0 -83
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/Responses/HTTPErrorResponse.h +0 -9
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/CocoaHTTPServer/Responses/HTTPErrorResponse.m +0 -40
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/HTTPResponseProxy.h +0 -13
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/HTTPResponseProxy.m +0 -84
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/LICENSE +0 -19
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/Route.h +0 -18
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/Route.m +0 -11
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/RouteRequest.h +0 -16
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/RouteRequest.m +0 -50
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/RouteResponse.h +0 -20
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/RouteResponse.m +0 -66
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/RoutingConnection.h +0 -5
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/RoutingConnection.m +0 -142
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/RoutingHTTPServer.h +0 -55
- package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Vendor/RoutingHTTPServer/RoutingHTTPServer.m +0 -303
- package/drivers/ios/WebDriverAgent/eslint.config.mjs +0 -13
- package/drivers/ios/WebDriverAgent/index.ts +0 -7
- package/drivers/ios/WebDriverAgent/lib/utils.ts +0 -342
- package/drivers/ios/WebDriverAgent/test/functional/webdriveragent-e2e-specs.ts +0 -119
- package/drivers/ios/WebDriverAgent/test/unit/utils-specs.ts +0 -157
- 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 "
|
|
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<
|
|
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[
|
|
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
|
package/drivers/ios/WebDriverAgent/WebDriverAgentLib/Categories/XCUIApplication+FBTouchAction.m
CHANGED
|
@@ -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
|
-
|
|
34
|
+
[FBXCAXClientProxy withApplicationStateTimeout:desiredTimeout do:^{
|
|
36
35
|
original_waitForQuiescenceIncludingAnimationsIdle(self, _cmd, includingAnimations);
|
|
37
|
-
}
|
|
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
|
-
|
|
51
|
+
[FBXCAXClientProxy withApplicationStateTimeout:desiredTimeout do:^{
|
|
57
52
|
original_waitForQuiescenceIncludingAnimationsIdlePreEvent(self, _cmd, includingAnimations, isPreEvent);
|
|
58
|
-
}
|
|
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),
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
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
|
|
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/
|
|
279
|
-
[[XCUIRemote sharedRemote] pressButton:
|
|
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/
|
|
282
|
-
[[XCUIRemote sharedRemote] pressButton:
|
|
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
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
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
|
|
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:
|
|
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
|
|