diff --git a/WebDriverAgent.xcodeproj/project.pbxproj b/WebDriverAgent.xcodeproj/project.pbxproj index 55df1bbe..9556dab9 100644 --- a/WebDriverAgent.xcodeproj/project.pbxproj +++ b/WebDriverAgent.xcodeproj/project.pbxproj @@ -340,6 +340,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.facebook.WebDriverAgentRunner; PRODUCT_NAME = "$(TARGET_NAME)"; USES_XCTRUNNER = YES; + VALIDATE_WORKSPACE = YES; }; name = Debug; }; @@ -364,6 +365,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.facebook.WebDriverAgentRunner; PRODUCT_NAME = "$(TARGET_NAME)"; USES_XCTRUNNER = YES; + VALIDATE_WORKSPACE = YES; }; name = Release; }; diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/CDStructures.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/CDStructures.h index 6a4fc09c..eaf3f46f 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/CDStructures.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/CDStructures.h @@ -23,3 +23,6 @@ typedef struct { unsigned short _field2; unsigned short _field3[1]; } CDStruct_27a325c0; + +int _XCTSetApplicationStateTimeout(double timeout); +double _XCTApplicationStateTimeout(void); diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBApplication.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBApplication.h index e94498a2..00adb527 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBApplication.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBApplication.h @@ -27,14 +27,22 @@ NS_ASSUME_NONNULL_BEGIN + (instancetype)fb_activeApplicationWithDefaultBundleId:(nullable NSString *)bundleId; /** - Constructor used to get the system application + Constructor used to get the system application (e.g. Springboard on iOS) */ + (instancetype)fb_systemApplication; /** - It allows to turn on/off waiting for application quiescence, while performing queries. Defaults to NO. + Retrieves the list of all currently active applications */ -@property (nonatomic, assign) BOOL fb_shouldWaitForQuiescence; ++ (NSArray *)fb_activeApplications; + +/** + Switch to system app (called Springboard on iOS) + + @param error If there is an error, upon return contains an NSError object that describes the problem. + @return YES if the operation succeeds, otherwise NO. + */ ++ (BOOL)fb_switchToSystemApplicationWithError:(NSError **)error; @end diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBConfiguration.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBConfiguration.h index 1a288a3c..9fa1acab 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBConfiguration.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBConfiguration.h @@ -9,12 +9,14 @@ #import -//#import "AXSettings.h" -//#import "UIKeyboardImpl.h" -//#import "TIPreferencesController.h" +// #import "AXSettings.h" +// #import "UIKeyboardImpl.h" +// #import "TIPreferencesController.h" NS_ASSUME_NONNULL_BEGIN +extern NSString *const FBSnapshotMaxDepthKey; + /** Accessors for Global Constants. */ @@ -28,6 +30,10 @@ NS_ASSUME_NONNULL_BEGIN + (void)setShouldUseCompactResponses:(BOOL)value; + (BOOL)shouldUseCompactResponses; +/*! If set to YES (which is the default), the app will be terminated at the end of the session, if a bundleId was specified */ ++ (void)setShouldTerminateApp:(BOOL)value; ++ (BOOL)shouldTerminateApp; + /*! If shouldUseCompactResponses == NO, is the comma-separated list of fields to return with each element. Defaults to "type,label". */ + (void)setElementResponseAttributes:(NSString *)value; + (NSString *)elementResponseAttributes; @@ -35,9 +41,18 @@ NS_ASSUME_NONNULL_BEGIN /*! Disables remote query evaluation making Xcode 9.x tests behave same as Xcode 8.x test */ + (void)disableRemoteQueryEvaluation; +/*! Enables the extended XCTest debug logging. Useful for developemnt purposes */ ++ (void)enableXcTestDebugLogs; + /*! Disables attribute key path analysis, which will cause XCTest on Xcode 9.x to ignore some elements */ + (void)disableAttributeKeyPathAnalysis; +/*! Disables XCTest automated screenshots taking */ ++ (void)disableScreenshots; + +/*! Enables XCTest automated screenshots taking */ ++ (void)enableScreenshots; + /* The maximum typing frequency for all typing activities */ + (void)setMaxTypingFrequency:(NSUInteger)value; + (NSUInteger)maxTypingFrequency; @@ -46,10 +61,6 @@ NS_ASSUME_NONNULL_BEGIN + (void)setShouldUseSingletonTestManager:(BOOL)value; + (BOOL)shouldUseSingletonTestManager; -/* Whether to wait for quiescence on application startup */ -+ (void)setShouldWaitForQuiescence:(BOOL)value; -+ (BOOL)shouldWaitForQuiescence; - /** * Extract switch value from arguments * @@ -107,20 +118,38 @@ NS_ASSUME_NONNULL_BEGIN */ + (BOOL)verboseLoggingEnabled; -+ (BOOL)shouldLoadSnapshotWithAttributes; +/** + Disables automatic handling of XCTest UI interruptions. + */ ++ (void)disableApplicationUIInterruptionsHandling; /** * Configure keyboards preference to make test running stable */ + (void)configureDefaultKeyboardPreferences; + +/** + * Turn on softwar keyboard forcefully for simulator. + */ ++ (void)forceSimulatorSoftwareKeyboardPresence; + +/** +Defines keyboard preference enabled status +*/ +typedef NS_ENUM(NSInteger, FBConfigurationKeyboardPreference) { + FBConfigurationKeyboardPreferenceDisabled = 0, + FBConfigurationKeyboardPreferenceEnabled = 1, + FBConfigurationKeyboardPreferenceNotSupported = 2, +}; + /** * Modify keyboard configuration of 'auto-correction'. * * @param isEnabled Turn the configuration on if the value is YES */ + (void)setKeyboardAutocorrection:(BOOL)isEnabled; -+ (BOOL)keyboardAutocorrection; ++ (FBConfigurationKeyboardPreference)keyboardAutocorrection; /** * Modify keyboard configuration of 'predictive' @@ -128,15 +157,15 @@ NS_ASSUME_NONNULL_BEGIN * @param isEnabled Turn the configuration on if the value is YES */ + (void)setKeyboardPrediction:(BOOL)isEnabled; -+ (BOOL)keyboardPrediction; ++ (FBConfigurationKeyboardPreference)keyboardPrediction; /** * The maximum time to wait until accessibility snapshot is taken * * @param timeout The number of float seconds to wait (15 seconds by default) */ -+ (void)setSnapshotTimeout:(NSTimeInterval)timeout; -+ (NSTimeInterval)snapshotTimeout; ++ (void)setCustomSnapshotTimeout:(NSTimeInterval)timeout; ++ (NSTimeInterval)customSnapshotTimeout; /** Sets maximum depth for traversing elements tree from parents to children while requesting XCElementSnapshot. @@ -171,6 +200,17 @@ NS_ASSUME_NONNULL_BEGIN + (void)setUseFirstMatch:(BOOL)enabled; + (BOOL)useFirstMatch; +/** + * Whether to bound the lookup results by index. + * By default this is disabled and bounding by accessibility is used. + * Read https://stackoverflow.com/questions/49307513/meaning-of-allelementsboundbyaccessibilityelement + * for more details on these two bounding methods. + * + * @param enabled Either YES or NO + */ ++ (void)setBoundElementsByIndex:(BOOL)enabled; ++ (BOOL)boundElementsByIndex; + /** * Modify reduce motion configuration in accessibility. * It works only for Simulator since Real device has security model which allows chnaging preferences @@ -181,6 +221,28 @@ NS_ASSUME_NONNULL_BEGIN + (void)setReduceMotionEnabled:(BOOL)isEnabled; + (BOOL)reduceMotionEnabled; +/** + * Set the idling timeout. If the timeout expires then WDA + * tries to interact with the application even if it is not idling. + * Setting it to zero disables idling checks. + * The default timeout is set to 10 seconds. + * + * @param timeout The actual timeout value in float seconds + */ ++ (void)setWaitForIdleTimeout:(NSTimeInterval)timeout; ++ (NSTimeInterval)waitForIdleTimeout; + +/** + * Set the idling timeout for different actions, for example events synthesis, rotation change, + * etc. If the timeout expires then WDA tries to interact with the application even if it is not idling. + * Setting it to zero disables idling checks. + * The default timeout is set to 2 seconds. + * + * @param timeout The actual timeout value in float seconds + */ ++ (void)setAnimationCoolOffTimeout:(NSTimeInterval)timeout; ++ (NSTimeInterval)animationCoolOffTimeout; + /** Enforces the page hierarchy to include non modal elements, like Contacts. By default such elements are not present there. diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBElement.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBElement.h index 3f9900dc..67e4593f 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBElement.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBElement.h @@ -17,17 +17,17 @@ NS_ASSUME_NONNULL_BEGIN */ @protocol FBElement -/*! Element's frame in CGRect format */ +/*! Element's frame in normalized (rounded dimensions without Infinity values) CGRect format */ @property (nonatomic, readonly, assign) CGRect wdFrame; -/*! Element's frame in NSDictionary format */ +/*! Element's wsFrame in NSDictionary format */ @property (nonatomic, readonly, copy) NSDictionary *wdRect; /*! Element's name */ -@property (nonatomic, readonly, copy) NSString *wdName; +@property (nonatomic, readonly, copy, nullable) NSString *wdName; /*! Element's label */ -@property (nonatomic, readonly, copy) NSString *wdLabel; +@property (nonatomic, readonly, copy, nullable) NSString *wdLabel; /*! Element's selected state */ @property (nonatomic, readonly, getter = isWDSelected) BOOL wdSelected; @@ -39,7 +39,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, readonly, strong, nullable) NSString *wdValue; /*! Element's unique identifier */ -@property (nonatomic, readonly, copy) NSString *wdUID; +@property (nonatomic, readonly, copy, nullable) NSString *wdUID; /*! Whether element is enabled */ @property (nonatomic, readonly, getter = isWDEnabled) BOOL wdEnabled; @@ -58,6 +58,9 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, readonly, getter = isWDFocused) BOOL wdFocused; #endif +/*! Element's index relatively to its parent. Starts from zero */ +@property (nonatomic, readonly) NSUInteger wdIndex; + /** Returns value of given property specified in WebDriver Spec Check the FBElement protocol to get list of supported attributes. diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBElementCache.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBElementCache.h index d96165e4..13100eeb 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBElementCache.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBElementCache.h @@ -30,13 +30,38 @@ extern const int ELEMENT_CACHE_SIZE; */ - (nullable NSString *)storeElement:(XCUIElement *)element; +/** + Returns cached element resolved with default snapshot attributes + + @param uuid uuid of element to fetch + @return element + @throws FBStaleElementException if the found element is not present in DOM anymore + @throws FBInvalidArgumentException if uuid is nil + */ +- (XCUIElement *)elementForUUID:(NSString *)uuid; + /** Returns cached element @param uuid uuid of element to fetch + @param additionalAttributes Add additonal attribute names if the snapshot should contain + them in `addtionalAttributes` section. nil value resolves the snapshot with standard attributes. + @param maxDepth The maximum depth of the snapshot. Only works if additional attributes are provided. + `nil` value means to use the default maximum depth value. @return element + @throws FBStaleElementException if the found element is not present in DOM anymore + @throws FBInvalidArgumentException if uuid is nil + */ +- (XCUIElement *)elementForUUID:(NSString *)uuid + resolveForAdditionalAttributes:(nullable NSArray *)additionalAttributes + andMaxDepth:(nullable NSNumber *)maxDepth; + +/** + Checks element existence in the cache + + @returns YES if the element with the given UUID is present in cache */ -- (nullable XCUIElement *)elementForUUID:(NSString *__nullable)uuid; +- (BOOL)hasElementWithUUID:(nullable NSString *)uuid; @end diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBExceptionHandler.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBExceptionHandler.h index 5371adff..693e5c40 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBExceptionHandler.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBExceptionHandler.h @@ -12,24 +12,6 @@ NS_ASSUME_NONNULL_BEGIN -/*! Exception used to notify about missing session */ -extern NSString *const FBSessionDoesNotExistException; - -/*! Exception used to notify about application deadlock */ -extern NSString *const FBApplicationDeadlockDetectedException; - -/*! Exception used to notify about unknown attribute */ -extern NSString *const FBElementAttributeUnknownException; - -/*! Exception used to notify about invalid argument */ -extern NSString *const FBInvalidArgumentException; - -/*! Exception used to notify about invisibility of an element while trying to interact with it */ -extern NSString *const FBElementNotVisibleException; - -/*! Exception used to notify about a timeout */ -extern NSString *const FBTimeoutException; - /** Class used to handle exceptions raised by command handlers */ diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBMathUtils.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBMathUtils.h index 858140bf..222a2ef6 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBMathUtils.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBMathUtils.h @@ -22,6 +22,9 @@ BOOL FBFloatFuzzyEqualToFloat(CGFloat float1, CGFloat float2, CGFloat threshold) /*! Returns whether points are equal within given threshold */ BOOL FBPointFuzzyEqualToPoint(CGPoint point1, CGPoint point2, CGFloat threshold); +/*! Returns whether vectors are equal within given threshold */ +BOOL FBVectorFuzzyEqualToVector(CGVector a, CGVector b, CGFloat threshold); + /*! Returns whether size are equal within given threshold */ BOOL FBSizeFuzzyEqualToSize(CGSize size1, CGSize size2, CGFloat threshold); @@ -38,6 +41,3 @@ CGPoint FBInvertOffsetForOrientation(CGPoint offset, UIInterfaceOrientation orie /*! Inverts size if necessary to match current screen orientation */ CGSize FBAdjustDimensionsForApplication(CGSize actualSize, UIInterfaceOrientation orientation); #endif - -/*! Replaces the wdRect dictionary passed as the argument with zero-size wdRect if any of its attributes equal to Infinity */ -NSDictionary *FBwdRectNoInf(NSDictionary *wdRect); diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBResponsePayload.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBResponsePayload.h index 9688d61d..9ff7a930 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBResponsePayload.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBResponsePayload.h @@ -54,10 +54,10 @@ id FBResponseWithUnknownErrorFormat(NSString *errorFormat, .. id FBResponseWithStatus(FBCommandStatus *status); /** - Returns a response payload as a NSDictionary for given element and elementUUID. + Returns a response payload as a NSDictionary for given element. Set compact=NO to include further attributes (defined by FBConfiguration.elementResponseAttributes) */ -NSDictionary *FBDictionaryResponseWithElement(XCUIElement *element, NSString *elementUUID, BOOL compact); +NSDictionary *FBDictionaryResponseWithElement(XCUIElement *element, BOOL compact); /** diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBRoute.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBRoute.h index 5a486055..2d313868 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBRoute.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBRoute.h @@ -48,6 +48,11 @@ typedef __nonnull id (^FBRouteSyncHandler)(FBRouteRequest *re */ + (instancetype)DELETE:(NSString *)pathPattern; +/** + Convenience constructor for OPTIONS route with given pathPattern +*/ ++ (instancetype)OPTIONS:(NSString *)pathPattern; + /** Chain-able constructor that handles response with given FBRouteSyncHandler block */ diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBSession.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBSession.h index 32bd4e51..be7f2bbb 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBSession.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBSession.h @@ -14,9 +14,6 @@ NS_ASSUME_NONNULL_BEGIN -/*! Exception used to notify about application crash */ -extern NSString *const FBApplicationCrashedException; - /** Class that represents testing session */ @@ -31,8 +28,18 @@ extern NSString *const FBApplicationCrashedException; /*! Element cache related to that session */ @property (nonatomic, strong, readonly) FBElementCache *elementCache; +/*! The identifier of the active application */ @property (nonatomic, copy) NSString *defaultActiveApplication; +/*! The action to apply to unexpected alerts. Either "accept"/"dismiss" or nil/empty string (by default) to do nothing */ +@property (nonatomic, nullable) NSString *defaultAlertAction; + +/*! Whether to use the native caching strategy for elements or the custom one: https://discuss.appium.io/t/elements-state-coming-from-xpath-vs-ios-predicate-string/34016 */ +@property (nonatomic) BOOL useNativeCachingStrategy; + +/*! Keeps cached visibility values for the current snapshots tree */ +@property (nonatomic, readonly) NSMutableDictionary *> *elementsVisibilityCache; + + (nullable instancetype)activeSession; /** @@ -74,21 +81,23 @@ extern NSString *const FBApplicationCrashedException; @param shouldWaitForQuiescence whether to wait for quiescence on application startup @param arguments The optional array of application command line arguments. The arguments are going to be applied if the application was not running before. @param environment The optional dictionary of environment variables for the application, which is going to be executed. The environment variables are going to be applied if the application was not running before. + @return The application instance @throws FBApplicationMethodNotSupportedException if the method is not supported with the current XCTest SDK */ -- (void)launchApplicationWithBundleId:(NSString *)bundleIdentifier - shouldWaitForQuiescence:(nullable NSNumber *)shouldWaitForQuiescence - arguments:(nullable NSArray *)arguments - environment:(nullable NSDictionary *)environment; +- (FBApplication *)launchApplicationWithBundleId:(NSString *)bundleIdentifier + shouldWaitForQuiescence:(nullable NSNumber *)shouldWaitForQuiescence + arguments:(nullable NSArray *)arguments + environment:(nullable NSDictionary *)environment; /** Activate an application with given bundle identifier in scope of current session. !This method is only available since Xcode9 SDK @param bundleIdentifier Valid bundle identifier of the application to be activated + @return The application instance @throws FBApplicationMethodNotSupportedException if the method is not supported with the current XCTest SDK */ -- (void)activateApplicationWithBundleId:(NSString *)bundleIdentifier; +- (FBApplication *)activateApplicationWithBundleId:(NSString *)bundleIdentifier; /** Terminate an application with the given bundle id. The application should be previously diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBSpringboardApplication.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBSpringboardApplication.h deleted file mode 100644 index ff2202fc..00000000 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBSpringboardApplication.h +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Copyright (c) 2015-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - */ - -#import - -NS_ASSUME_NONNULL_BEGIN - -/*! Bundle identifier of Springboard app */ -extern NSString *const SPRINGBOARD_BUNDLE_ID; - -@interface FBSpringboardApplication : FBApplication - -/** - @return FBApplication that is attached to SpringBoard - */ -+ (instancetype)fb_springboard; - -/** - Waits until application board is visible with timeout - - @param error If there is an error, upon return contains an NSError object that describes the problem. - @return YES if the operation succeeds, otherwise NO. - */ -- (BOOL)fb_waitUntilApplicationBoardIsVisible:(NSError **)error; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBXPath.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBXPath.h index 7899e8dd..a2ef915a 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBXPath.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/FBXPath.h @@ -27,16 +27,9 @@ #pragma clang diagnostic pop #endif -NS_ASSUME_NONNULL_BEGIN +@class FBXMLGenerationOptions; -/** - The exception happends if the provided XPath expession cannot be compiled because of a syntax error - */ -extern NSString *const FBInvalidXPathException; -/** - The exception happends if any internal error is triggered during XPath matching procedure - */ -extern NSString *const FBXPathQueryEvaluationException; +NS_ASSUME_NONNULL_BEGIN @interface FBXPath : NSObject @@ -56,12 +49,11 @@ extern NSString *const FBXPathQueryEvaluationException; representation, which is used for XPath search @param root the root element - @param excludedAttributes the list of attribute names to exclude from the resulting document. - Passing nil means all the available attributes should be included + @param options Optional values that affect the resulting XML creation process @return valid XML document as string or nil in case of failure */ + (nullable NSString *)xmlStringWithRootElement:(id)root - excludingAttributes:(nullable NSArray *)excludedAttributes; + options:(nullable FBXMLGenerationOptions *)options; @end diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/WebDriverAgentLib.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/WebDriverAgentLib.h index f7ff34ff..53138544 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/WebDriverAgentLib.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/WebDriverAgentLib.h @@ -38,7 +38,6 @@ FOUNDATION_EXPORT const unsigned char WebDriverAgentLib_VersionString[]; #import #import #import -#import #import #import #import diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCAXClient_iOS.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCAXClient_iOS.h index 529a6b29..9abfa0c0 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCAXClient_iOS.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCAXClient_iOS.h @@ -9,6 +9,7 @@ @class NSMutableDictionary; @class XCAccessibilityElement; +@class XCElementSnapshot; @interface XCAXClient_iOS : NSObject { @@ -18,19 +19,14 @@ } @property double AXTimeout; -// Removed since Xcode10.2 -+ (id)sharedClient; - // Added since Xcode 10.2 @property(readonly) id applicationProcessTracker; -- (BOOL)_setAXTimeout:(double)arg1 error:(id *)arg2; +- (BOOL)_setAXTimeout:(double)arg1 error:(NSError **)arg2; - (NSData *)screenshotData; - (BOOL)performAction:(int)arg1 onElement:(id)arg2 value:(id)arg3 error:(id *)arg4; - (id)parameterizedAttributeForElement:(id)arg1 attribute:(id)arg2 parameter:(id)arg3; - (BOOL)setAttribute:(id)arg1 value:(id)arg2 element:(id)arg3 outError:(id *)arg4; -// Removed in Xcode 10.2 -- (id)attributesForElement:(id)arg1 attributes:(id)arg2; // since Xcode10 - (id)attributesForElement:(id)arg1 attributes:(id)arg2 error:(id *)arg3; - (id)attributesForElementSnapshot:(id)arg1 attributeList:(id)arg2; @@ -53,6 +49,9 @@ - (BOOL)loadAccessibility:(id *)arg1; - (BOOL)_registerForAXNotification:(int)arg1 error:(id *)arg2; - (BOOL)_loadAccessibility:(id *)arg1; +// Since Xcode 11 +- (id)requestSnapshotForElement:(XCAccessibilityElement *)arg1 attributes:(id)arg2 parameters:(id)arg3 error:(NSError **)arg4; + - (id)init; @end diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCAccessibilityElement.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCAccessibilityElement.h index 6ae24418..c4573ac8 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCAccessibilityElement.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCAccessibilityElement.h @@ -4,6 +4,8 @@ // class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard. // +// FIXME: Probably we can remove here. instead, probably we should follow only XCElementSnapshot + @class NSString; @interface XCAccessibilityElement : NSObject diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCElementSnapshot+FBHelpers.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCElementSnapshot+FBHelpers.h index 1c2e5ee3..3cac4156 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCElementSnapshot+FBHelpers.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCElementSnapshot+FBHelpers.h @@ -84,6 +84,16 @@ NS_ASSUME_NONNULL_BEGIN */ - (nullable XCElementSnapshot *)fb_parentCellSnapshot; +/**! Human-readable snapshot description */ +- (NSString *)fb_description; + +/** + Returns the snapshot visibleFrame with a fallback to direct attribute retrieval from FBXCAXClient in case of a snapshot fault (nil visibleFrame) + + @return the snapshot visibleFrame + */ +- (CGRect)fb_visibleFrameWithFallback; + @end NS_ASSUME_NONNULL_END diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCElementSnapshot.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCElementSnapshot.h index 4ebdb8e4..917a1b2c 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCElementSnapshot.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCElementSnapshot.h @@ -8,7 +8,7 @@ #import -@class NSArray, NSDictionary, NSString, XCAccessibilityElement, XCUIApplication; +@class NSArray, NSDictionary, NSString, NSArray, XCAccessibilityElement, XCUIApplication; @interface XCElementSnapshot : NSObject { @@ -89,19 +89,14 @@ - (struct CGPoint)_transformPoint:(struct CGPoint)arg1 windowContextID:(id)arg2 windowDisplayID:(id)arg3; - (id)hitTest:(struct CGPoint)arg1; -/*! DO NOT USE DIRECTLY! Please use fb_rootElement instead */ -- (XCElementSnapshot *)_rootElement; -/*! DO NOT USE DIRECTLY! Please use fb_rootElement instead */ -- (XCElementSnapshot *)rootElement; - // Available since Xcode 10 - (id)hitPoint:(NSError **)error; -// Available only in Xcode 9.0 -+ (id)snapshotAttributesForElementSnapshotKeyPaths:(id)arg1; // Available since Xcode 10.0-beta4 on + (id)axAttributesForElementSnapshotKeyPaths:(id)arg1; // Since Xcode 10.2 + (id)axAttributesForElementSnapshotKeyPaths:(id)arg1 isMacOS:(_Bool)arg2; +// Since Xcode 10.0 ++ (NSArray *)sanitizedElementSnapshotHierarchyAttributesForAttributes:(NSArray *)arg1 isMacOS:(_Bool)arg2; @end diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCPointerEvent.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCPointerEvent.h index 9d28dc38..e40079d2 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCPointerEvent.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCPointerEvent.h @@ -21,6 +21,9 @@ + (CDUnknownBlockType)offsetComparator; + (id)pointerEventWithType:(unsigned long long)arg1 buttonType:(unsigned long long)arg2 coordinate:(struct CGPoint)arg3 pressure:(double)arg4 offset:(double)arg5; + (id)pointerEventWithType:(unsigned long long)arg1 buttonType:(unsigned long long)arg2 coordinate:(struct CGPoint)arg3 offset:(double)arg4; +// available since Xcode 10.2 ++ (id)keyboardEventForKeyCode:(unsigned long long)arg1 keyPhase:(unsigned long long)arg2 modifierFlags:(unsigned long long)arg3 offset:(double)arg4; + - (id)init; diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCPointerEventPath.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCPointerEventPath.h index 2c294083..26b289bb 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCPointerEventPath.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCPointerEventPath.h @@ -29,6 +29,15 @@ - (void)pressDownAtOffset:(double)arg1; - (id)initForMouseAtPoint:(struct CGPoint)arg1 offset:(double)arg2; - (id)initForTouchAtPoint:(CGPoint)arg1 offset:(double)arg2; +// Since Xcode 10.2 +- (void)typeKey:(id)arg1 modifiers:(unsigned long long)arg2 atOffset:(double)arg3; +// Since Xcode 12.beta5 +- (void)typeText:(id)arg1 atOffset:(double)arg2 typingSpeed:(unsigned long long)arg3 shouldRedact:(_Bool)arg4; +// Since Xcode 10.2 +- (id)initForTextInput; +// Since Xcode 10.2 +- (void)setModifiers:(unsigned long long)arg1 mergeWithCurrentModifierFlags:(_Bool)arg2 atOffset:(double)arg3; + - (id)init; @end diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCTestCase.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCTestCase.h index 76c6f034..f00038ef 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCTestCase.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCTestCase.h @@ -72,6 +72,8 @@ - (Class)_requiredTestRunBaseClass; - (void)_recordUnexpectedFailureWithDescription:(id)arg1 error:(id)arg2; - (void)_recordUnexpectedFailureWithDescription:(id)arg1 exception:(id)arg2; +// Exists since Xcode 9.4.1, at least +- (void)recordFailureWithDescription:(NSString *)arg1 inFile:(NSString *)arg2 atLine:(NSUInteger)arg3 expected:(BOOL)arg4; - (void)_enqueueFailureWithDescription:(NSString *)description inFile:(NSString *)filePath atLine:(NSUInteger)lineNumber expected:(BOOL)expected; - (void)_dequeueFailures; - (void)_interruptTest; diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCTestCaseRun.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCTestCaseRun.h index b677c37d..fbd614f7 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCTestCaseRun.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCTestCaseRun.h @@ -11,7 +11,6 @@ } - (void)_recordValues:(id)arg1 forPerformanceMetricID:(id)arg2 name:(id)arg3 unitsOfMeasurement:(id)arg4 baselineName:(id)arg5 baselineAverage:(id)arg6 maxPercentRegression:(id)arg7 maxPercentRelativeStandardDeviation:(id)arg8 maxRegression:(id)arg9 maxStandardDeviation:(id)arg10 file:(id)arg11 line:(unsigned long long)arg12; -- (void)recordFailureWithDescription:(id)arg1 inFile:(id)arg2 atLine:(unsigned long long)arg3 expected:(BOOL)arg4; - (void)recordFailureInTest:(id)arg1 withDescription:(id)arg2 inFile:(id)arg3 atLine:(unsigned long long)arg4 expected:(BOOL)arg5; - (void)stop; - (void)start; diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCTestDriver.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCTestDriver.h index f56baa8a..6529c183 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCTestDriver.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCTestDriver.h @@ -26,8 +26,6 @@ @property(retain) NSObject *queue; // @synthesize queue=_queue; @property(readonly) XCTestConfiguration *testConfiguration; // @synthesize testConfiguration=_testConfiguration; -+ (instancetype)sharedTestDriver; - - (void)runTestConfiguration:(id)arg1 completionHandler:(CDUnknownBlockType)arg2; - (void)runTestSuite:(id)arg1 completionHandler:(CDUnknownBlockType)arg2; - (void)reportStallOnMainThreadInTestCase:(id)arg1 method:(id)arg2 file:(id)arg3 line:(unsigned long long)arg4; @@ -37,7 +35,4 @@ - (void)logDebugMessage:(id)arg1; - (id)initWithTestConfiguration:(id)arg1; -// Removed with iOS 10.3 -@property(readonly) id managerProxy; - @end diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCTestManager_ManagerInterface-Protocol.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCTestManager_ManagerInterface-Protocol.h index 8b87a759..48ee41df 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCTestManager_ManagerInterface-Protocol.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCTestManager_ManagerInterface-Protocol.h @@ -28,8 +28,6 @@ - (void)_XCT_fetchParameterizedAttributeForElement:(XCAccessibilityElement *)arg1 attributes:(NSNumber *)arg2 parameter:(id)arg3 reply:(void (^)(id, NSError *))arg4; - (void)_XCT_setAttribute:(NSNumber *)arg1 value:(id)arg2 element:(XCAccessibilityElement *)arg3 reply:(void (^)(BOOL, NSError *))arg4; - (void)_XCT_fetchAttributesForElement:(XCAccessibilityElement *)arg1 attributes:(NSArray *)arg2 reply:(void (^)(NSDictionary *, NSError *))arg3; -// Deprecated with Xcode11 -- (void)_XCT_snapshotForElement:(XCAccessibilityElement *)arg1 attributes:(NSArray *)arg2 parameters:(NSDictionary *)arg3 reply:(void (^)(XCElementSnapshot *, NSError *))arg4; - (void)_XCT_terminateApplicationWithBundleID:(NSString *)arg1 completion:(void (^)(NSError *))arg2; - (void)_XCT_performAccessibilityAction:(int)arg1 onElement:(XCAccessibilityElement *)arg2 withValue:(id)arg3 reply:(void (^)(NSError *))arg4; - (void)_XCT_unregisterForAccessibilityNotification:(int)arg1 withRegistrationToken:(NSNumber *)arg2 reply:(void (^)(NSError *))arg3; @@ -44,7 +42,12 @@ - (void)_XCT_exchangeProtocolVersion:(unsigned long long)arg1 reply:(void (^)(unsigned long long))arg2; // Available since Xcode9 -- (void)_XCT_requestScreenshotOfScreenWithID:(unsigned int)arg1 withRect:(struct CGRect)arg2 uti:(NSString *)arg3 compressionQuality:(double)arg4 withReply:(void (^)(NSData *, NSError *))arg5; -- (void)_XCT_requestScreenshotOfScreenWithID:(unsigned int)arg1 withRect:(struct CGRect)arg2 withReply:(void (^)(NSData *, NSError *))arg3; +// The first screenID type changed from "unsigned int" to "long long" since Xcode 13.3 in XCTAutomationSupport.framework/XCTScreenshotRequest.h +// but this place is still "unsigned int" in the header. Appium/WDA changes to "long long" for Xcode 13.3 x iOS 15.4 environment. +- (void)_XCT_requestScreenshotOfScreenWithID:(long long)arg1 withRect:(struct CGRect)arg2 uti:(NSString *)arg3 compressionQuality:(double)arg4 withReply:(void (^)(NSData *, NSError *))arg5; +- (void)_XCT_requestScreenshotOfScreenWithID:(long long)arg1 withRect:(struct CGRect)arg2 withReply:(void (^)(NSData *, NSError *))arg3; - (void)_XCT_requestSnapshotForElement:(XCAccessibilityElement *)arg1 attributes:(NSArray *)arg2 parameters:(NSDictionary *)arg3 reply:(void (^)(XCElementSnapshot *, NSError *))arg4; + +// Available since Xcode 12.5. Required (!!!) to use since Xcode 13 +- (void)_XCT_requestScreenshot:(/*XCTScreenshotRequest * */id)arg1 withReply:(void (^)(/*XCTImage * */id, NSError *))arg2; @end diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIApplication+FBHelpers.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIApplication+FBHelpers.h index 78d4a5b5..f831abed 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIApplication+FBHelpers.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIApplication+FBHelpers.h @@ -11,6 +11,7 @@ @class XCElementSnapshot; @class XCAccessibilityElement; +@class FBXMLGenerationOptions; NS_ASSUME_NONNULL_BEGIN @@ -36,18 +37,20 @@ NS_ASSUME_NONNULL_BEGIN - (NSDictionary *)fb_accessibilityTree; /** - Return application elements tree in form of xml string + Return application elements tree in a form of xml string + with default options. + + @return nil if there was a failure while retriveing the page source. */ - (nullable NSString *)fb_xmlRepresentation; /** - Return application elements tree in form of xml string exluding the given attribute names. + Return application elements tree in a form of xml string - @param excludedAttributes the list of XML attribute names to be excluded from the resulting document. - Invalid attribute names are silently skipped - @returns The XML representation of the current element as a string + @param options Optional values that affect the resulting XML generation process. + @return nil if there was a failure while retriveing the page source. */ -- (NSString *)fb_xmlRepresentationWithoutAttributes:(NSArray *)excludedAttributes; +- (nullable NSString *)fb_xmlRepresentationWithOptions:(nullable FBXMLGenerationOptions *)options; /** Return application elements tree in form of internal XCTest debugDescription string @@ -89,6 +92,16 @@ NS_ASSUME_NONNULL_BEGIN */ + (NSArray *> *)fb_activeAppsInfo; +/** + Tries to dismiss the on-screen keyboard + + @param keyNames Optional list of possible keyboard key labels to tap + in order to dismiss the keyboard. + @param error The resulting error object if the method fails to dismiss the keyboard + @returns YES if the keyboard dismissal was successful or NO otherwise + */ +- (BOOL)fb_dismissKeyboardWithKeyNames:(nullable NSArray *)keyNames + error:(NSError **)error; @end diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIApplication.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIApplication.h index 2760117f..286d52f3 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIApplication.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIApplication.h @@ -38,9 +38,6 @@ @property(nonatomic) pid_t processID; // @synthesize processID=_processID; @property(readonly) XCAccessibilityElement *accessibilityElement; -/*! DO NOT USE DIRECTLY! Please use fb_applicationWithPID instead */ -+ (instancetype)appWithPID:(pid_t)processID; -/*! DO NOT USE DIRECTLY! Please use fb_applicationWithPID instead */ + (instancetype)applicationWithPID:(pid_t)processID; /*! DO NOT USE DIRECTLY! Please use fb_activate instead */ - (void)activate; diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIApplicationProcess.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIApplicationProcess.h index 0c8b979b..9217559e 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIApplicationProcess.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIApplicationProcess.h @@ -6,10 +6,13 @@ #import +#import + @class XCAXClient_iOS; @class XCAccessibilityElement; @class XCApplicationMonitor; @class XCUIApplicationImpl; +@class XCElementSnapshot; @protocol XCTestManager_IDEInterface; @protocol XCTRunnerAutomationSession; @@ -27,14 +30,18 @@ BOOL _hasReceivedAnimationsHaveFinished; BOOL _hasExitCode; BOOL _hasCrashReport; + NSString *_bundleID; XCUIApplicationImpl *_applicationImplementation; id _automationSession; + XCElementSnapshot *_lastSnapshot; XCApplicationMonitor *_applicationMonitor; XCAXClient_iOS *_AXClient_iOS; } + (BOOL)automaticallyNotifiesObserversForKey:(id)arg1; @property XCAXClient_iOS *AXClient_iOS; // @synthesize AXClient_iOS=_AXClient_iOS; +// Since Xcode 10 +@property(retain) XCElementSnapshot *lastSnapshot; // @synthesize lastSnapshot=_lastSnapshot; @property XCApplicationMonitor *applicationMonitor; // @synthesize applicationMonitor=_applicationMonitor; @property(retain) id automationSession; // @synthesize automationSession=_automationSession; @property BOOL hasCrashReport; // @synthesize hasCrashReport=_hasCrashReport; @@ -46,6 +53,8 @@ @property int exitCode; @property(retain) id token; @property(nonatomic) int processID; +// Since Xcode 10.2 +@property(readonly, copy, nonatomic) NSString *bundleID; // @synthesize bundleID=_bundleID; @property(readonly) BOOL running; @property XCUIApplicationImpl *applicationImplementation; // @synthesize applicationImplementation=_applicationImplementation; @property(nonatomic) unsigned long long applicationState; @@ -66,4 +75,9 @@ // Gone with iOS 10.3 - (void)waitForQuiescence; +// Since Xcode 10.2 +- (void)_notifyWhenAnimationsAreIdle:(void (^)(id, void *))arg1; +- (_Bool)_supportsAnimationsIdleNotifications; +- (void)_notifyWhenMainRunLoopIsIdle:(void (^)(id, void *))arg1; + @end diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIDevice+FBHelpers.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIDevice+FBHelpers.h index 096bfd78..3621f03e 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIDevice+FBHelpers.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIDevice+FBHelpers.h @@ -11,6 +11,12 @@ NS_ASSUME_NONNULL_BEGIN +typedef NS_ENUM(NSUInteger, FBUIInterfaceAppearance) { + FBUIInterfaceAppearanceUnspecified, + FBUIInterfaceAppearanceLight, + FBUIInterfaceAppearanceDark +}; + @interface XCUIDevice (FBHelpers) /** @@ -52,18 +58,6 @@ NS_ASSUME_NONNULL_BEGIN */ - (BOOL)fb_unlockScreen:(NSError **)error; -/** - Returns screenshot - - @param quality The number in range 0-2, where 2 (JPG) is the lowest and 0 (PNG) is the highest quality. - @param error If there is an error, upon return contains an NSError object that describes the problem. - @return Device screenshot as PNG- or JPG-encoded data or nil in case of failure - */ -- (nullable NSData *)fb_rawScreenshotWithQuality:(NSUInteger)quality error:(NSError*__autoreleasing*)error; - - -- (NSData *)fb_fast_screenshotWithError:(NSError*__autoreleasing*)error; - /** Returns screenshot @param error If there is an error, upon return contains an NSError object that describes the problem. @@ -87,12 +81,19 @@ NS_ASSUME_NONNULL_BEGIN - (BOOL)fb_openUrl:(NSString *)url error:(NSError **)error; /** - Presses the corresponding hardware button on the device + Presses the corresponding hardware button on the device with duration. @param buttonName One of the supported button names: volumeUp (real devices only), volumeDown (real device only), home + @param duration Duration in seconds or nil. + This argument works only on tvOS. When this argument is nil on tvOS, + https://developer.apple.com/documentation/xctest/xcuiremote/1627476-pressbutton will be called. + Others are https://developer.apple.com/documentation/xctest/xcuiremote/1627475-pressbutton. + A single tap when this argument is `nil` is equal to when the duration is 0.005 seconds in XCTest. + On iOS, this value will be ignored. It always calls https://developer.apple.com/documentation/xctest/xcuidevice/1619052-pressbutton @return YES if the button has been pressed */ -- (BOOL)fb_pressButton:(NSString *)buttonName error:(NSError **)error; +- (BOOL)fb_pressButton:(NSString *)buttonName forDuration:(nullable NSNumber *)duration error:(NSError **)error; + /** Activates Siri service voice recognition with the given text to parse @@ -103,6 +104,57 @@ NS_ASSUME_NONNULL_BEGIN */ - (BOOL)fb_activateSiriVoiceRecognitionWithText:(NSString *)text error:(NSError **)error; +/** + Emulated triggering of the given low-level IOHID device event. The constants for possible events are defined + in https://unix.superglobalmegacorp.com/xnu/newsrc/iokit/IOKit/hidsystem/IOHIDUsageTables.h.html + Popular constants: + - kHIDPage_Consumer = 0x0C + - kHIDUsage_Csmr_VolumeIncrement = 0xE9 (Volume Up) + - kHIDUsage_Csmr_VolumeDecrement = 0xEA (Volume Down) + - kHIDUsage_Csmr_Menu = 0x40 (Home) + - kHIDUsage_Csmr_Power = 0x30 (Power) + - kHIDUsage_Csmr_Snapshot = 0x65 (Power + Home) + + @param page The event page identifier + @param usage The event usage identifier (usages are defined per-page) + @param duration The event duration in float seconds (XCTest uses 0.005 for a single press event) + @param error If there is an error, upon return contains an NSError object that describes the problem. + @return YES the event has successfully been triggered + */ +- (BOOL)fb_performIOHIDEventWithPage:(unsigned int)page + usage:(unsigned int)usage + duration:(NSTimeInterval)duration + error:(NSError **)error; + +- (BOOL)fb_synthTapWithX:(CGFloat)x + y:(CGFloat)y + duration:(CGFloat)duration; + +- (BOOL)fb_synthSwipe:(CGFloat)x1 + y1:(CGFloat)y1 + x2:(CGFloat)x2 + y2:(CGFloat)y2 + delay:(CGFloat)delay; + +- (BOOL)fb_synthKeyEvent:(id)keyId + modifierFlags:(unsigned long long)modifierFlags; + +/** + Allows to set device appearance + + @param appearance The desired appearance value + @param error If there is an error, upon return contains an NSError object that describes the problem. + @return YES if the appearance has been successfully set + */ +- (BOOL)fb_setAppearance:(FBUIInterfaceAppearance)appearance error:(NSError **)error; + +/** + Get current appearance prefefence. + + @return 0 (automatic), 1 (light) or 2 (dark), or nil + */ +- (nullable NSNumber *)fb_getAppearance; + @end NS_ASSUME_NONNULL_END diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIDevice.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIDevice.h index 8721a789..01b8b2bc 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIDevice.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIDevice.h @@ -11,10 +11,18 @@ // Since Xcode 10.2 @property (readonly) id accessibilityInterface; // implements XCUIAccessibilityInterface @property (readonly) id eventSynthesizer; // implements XCUIEventSynthesizing +@property (readonly) id screenDataSource; // @synthesize screenDataSource=_screenDataSource; + +- (_Bool)performDeviceEvent:(id)arg1 error:(id *)arg2; + +// Since Xcode 13 +// 1 - Light +// 2 - Dark +- (void)setAppearanceMode:(long long)arg1; +- (long long)appearanceMode; - (void)pressLockButton; - (void)holdHomeButtonForDuration:(double)arg1; - (void)_silentPressButton:(long long)arg1; -- (void)_dispatchEventWithPage:(unsigned int)arg1 usage:(unsigned int)arg2 duration:(double)arg3; @end diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIElement+FBCaching.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIElement+FBCaching.h new file mode 100644 index 00000000..109a2637 --- /dev/null +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIElement+FBCaching.h @@ -0,0 +1,23 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface XCUIElement (FBCaching) + +/*! This property is set to YES if the given element has been resolved from the cache, so it is safe to use the `lastSnapshot` property */ +@property (nullable, nonatomic) NSNumber *fb_isResolvedFromCache; + +@property (nonatomic, readonly) NSString *fb_cacheId; + +@end + +NS_ASSUME_NONNULL_END diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIElement+FBTyping.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIElement+FBTyping.h index c8a83fca..49ef3c6c 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIElement+FBTyping.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIElement+FBTyping.h @@ -18,21 +18,28 @@ NS_ASSUME_NONNULL_BEGIN It will try to activate keyboard on element, if element has no keyboard focus. @param text text that should be typed + @param shouldClear Whether to clear the input field before start typing @param error If there is an error, upon return contains an NSError object that describes the problem. @return YES if the operation succeeds, otherwise NO. */ -- (BOOL)fb_typeText:(NSString *)text error:(NSError **)error; +- (BOOL)fb_typeText:(NSString *)text + shouldClear:(BOOL)shouldClear + error:(NSError **)error; /** Types a text into element. It will try to activate keyboard on element, if element has no keyboard focus. @param text text that should be typed + @param shouldClear Whether to clear the input field before start typing @param frequency Frequency of typing (letters per sec) @param error If there is an error, upon return contains an NSError object that describes the problem. @return YES if the operation succeeds, otherwise NO. */ -- (BOOL)fb_typeText:(NSString *)text frequency:(NSUInteger)frequency error:(NSError **)error; +- (BOOL)fb_typeText:(NSString *)text + shouldClear:(BOOL)shouldClear + frequency:(NSUInteger)frequency + error:(NSError **)error; /** Clears text on element. diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIElement+FBUtilities.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIElement+FBUtilities.h index 5379b09c..a4d79c01 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIElement+FBUtilities.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIElement+FBUtilities.h @@ -16,47 +16,59 @@ NS_ASSUME_NONNULL_BEGIN @interface XCUIElement (FBUtilities) /** - Waits for receiver's frame to become stable with timeout + Gets the most recent snapshot of the current element. The element will be + automatically resolved if the snapshot is not available yet. + Calls to this method mutate the `lastSnapshot` instance property.. + Calls to this method reset the `fb_isResolvedFromCache` property value to `NO`. + + @return The recent snapshot of the element + @throws FBStaleElementException if the element is not present in DOM and thus no snapshot could be made */ -- (BOOL)fb_waitUntilFrameIsStable; +- (XCElementSnapshot *)fb_takeSnapshot; /** - Gets the most recent snapshot of the current element. The element will be - automatically resolved if the snapshot is not available yet + Extracts the cached element snapshot from its query. + No requests to the accessiblity framework is made. + It is only safe to use this call right after element lookup query + has been executed. - @return The recent snapshot of the element + @return Either the cached snapshot or nil */ -- (XCElementSnapshot *)fb_lastSnapshot; +- (nullable XCElementSnapshot *)fb_cachedSnapshot; /** Gets the most recent snapshot of the current element and already resolves the accessibility attributes needed for creating the page source of this element. No additional calls to the accessibility layer are required. + Calls to this method mutate the `lastSnapshot` instance property. + Calls to this method reset the `fb_isResolvedFromCache` property value to `NO`. + + @param maxDepth The maximum depth of the snapshot. nil value means to use the default depth. + with custom attributes cannot be resolved - @return The recent snapshot of the element with the attributes resolved + @return The recent snapshot of the element with all attributes resolved or a snapshot with default + attributes resolved if there was a failure while resolving additional attributes + @throws FBStaleElementException if the element is not present in DOM and thus no snapshot could be made */ -- (nullable XCElementSnapshot *)fb_snapshotWithAllAttributes; +- (nullable XCElementSnapshot *)fb_snapshotWithAllAttributesAndMaxDepth:(nullable NSNumber *)maxDepth; /** Gets the most recent snapshot of the current element with given attributes resolved. No additional calls to the accessibility layer are required. + Calls to this method mutate the `lastSnapshot` instance property. + Calls to this method reset the `fb_isResolvedFromCache` property value to `NO`. @param attributeNames The list of attribute names to resolve. Must be one of - FB_...Name values exported by XCTestPrivateSymbols.h module - @return The recent snapshot of the element with the attributes resolved -*/ -- (nullable XCElementSnapshot *)fb_snapshotWithAttributes:(NSArray *)attributeNames; + FB_...Name values exported by XCTestPrivateSymbols.h module. + `nil` value means that only the default attributes must be extracted + @param maxDepth The maximum depth of the snapshot. nil value means to use the default depth. -/** - Gets the most recent snapshot of the current element from the query snapshot that found the element. - fb_lastSnapshot actually resolves the query for that element, which then creates a new complete - snapshot from the device, and filters it down to the element. This is slow. This method on the other - hand finds the root query, obtains the rootSnapshot tree from that query, then applies the element's - query to each snapshot object to find it's corresponding snapshot. - - @return The recent snapshot of the element - */ -- (XCElementSnapshot *)fb_lastSnapshotFromQuery; + @return The recent snapshot of the element with the given attributes resolved or a snapshot with default + attributes resolved if there was a failure while resolving additional attributes + @throws FBStaleElementException if the element is not present in DOM and thus no snapshot could be made +*/ +- (nullable XCElementSnapshot *)fb_snapshotWithAttributes:(nullable NSArray *)attributeNames + maxDepth:(nullable NSNumber *)maxDepth; /** Filters elements by matching them to snapshots from the corresponding array @@ -76,10 +88,15 @@ NS_ASSUME_NONNULL_BEGIN Waits until element snapshot is stable to avoid "Error copying attributes -25202 error". This error usually happens for testmanagerd if there is an active UI animation in progress and causes 15-seconds delay while getting hitpoint value of element's snapshot. +*/ +- (void)fb_waitUntilStable; + +/** + Waits for receiver's snapshot to become stable with the given timeout - @return YES if wait succeeded ortherwise NO if there is still some active animation in progress + @param timeout The max time to wait util the snapshot is stable */ -- (BOOL)fb_waitUntilSnapshotIsStable; +- (void)fb_waitUntilStableWithTimeout:(NSTimeInterval)timeout; /** Returns screenshot of the particular element diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIElement.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIElement.h index c1e7dac2..166c41ea 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIElement.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIElement.h @@ -35,9 +35,6 @@ - (unsigned long long)traits; - (void)resolveHandleUIInterruption:(BOOL)arg1; -// !!! deprecated since Xcode 11.0 -// Do not call directly -- (void)resolve; - (BOOL)waitForExistenceWithTimeout:(double)arg1; - (BOOL)_waitForExistenceWithTimeout:(double)arg1; - (BOOL)evaluatePredicateForExpectation:(id)arg1 debugMessage:(id *)arg2; @@ -60,4 +57,10 @@ // Available since Xcode 10.0 - (id)screenshot; +// Since Xcode 11.4 +- (void)swipeRightWithVelocity:(double)arg1; +- (void)swipeLeftWithVelocity:(double)arg1; +- (void)swipeDownWithVelocity:(double)arg1; +- (void)swipeUpWithVelocity:(double)arg1; + @end diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIElementQuery.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIElementQuery.h index 1846e80e..63f479a0 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIElementQuery.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIElementQuery.h @@ -60,8 +60,6 @@ - (unsigned long long)_derivedExpressedType; - (id)initWithInputQuery:(id)arg1 queryDescription:(id)arg2 filter:(CDUnknownBlockType)arg3; -// Deprecated since Xcode 11.0 -- (XCElementSnapshot *)elementSnapshotForDebugDescription; // Added since Xcode 11.0 - (XCElementSnapshot *)elementSnapshotForDebugDescriptionWithNoMatchesMessage:(id *)arg1; // Added since Xcode 11.0 diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIScreen.h b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIScreen.h index 47850748..3b23c242 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIScreen.h +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/Headers/XCUIScreen.h @@ -7,10 +7,10 @@ @interface XCUIScreen() { _Bool _isMainScreen; - int _displayID; + long long _displayID; } @property(readonly) _Bool isMainScreen; // @synthesize isMainScreen=_isMainScreen; -@property(readonly) int displayID; // @synthesize displayID=_displayID; +@property(readonly) long long displayID; // @synthesize displayID=_displayID; - (id)_clippedScreenshotData:(id)arg1 quality:(long long)arg2 rect:(struct CGRect)arg3 scale:(double)arg4; - (id)_screenshotDataForQuality:(long long)arg1 rect:(struct CGRect)arg2 error:(id *)arg3; @@ -20,7 +20,8 @@ - (id)screenshot; - (id)_imageFromData:(id)arg1; - (double)scale; -- (id)initWithDisplayID:(int)arg1 isMainScreen:(_Bool)arg2; + +- (id)initWithDisplayID:(long long)arg1 isMainScreen:(_Bool)arg2 device:(id)arg3 screenDataSource:(id)arg4; @end diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/Info.plist b/WebDriverAgentLib/WebDriverAgentLib.framework/Info.plist index 66e92e33..941071cd 100644 Binary files a/WebDriverAgentLib/WebDriverAgentLib.framework/Info.plist and b/WebDriverAgentLib/WebDriverAgentLib.framework/Info.plist differ diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/WebDriverAgentLib b/WebDriverAgentLib/WebDriverAgentLib.framework/WebDriverAgentLib index 4fad9d88..7e29be50 100755 Binary files a/WebDriverAgentLib/WebDriverAgentLib.framework/WebDriverAgentLib and b/WebDriverAgentLib/WebDriverAgentLib.framework/WebDriverAgentLib differ diff --git a/WebDriverAgentLib/WebDriverAgentLib.framework/_CodeSignature/CodeResources b/WebDriverAgentLib/WebDriverAgentLib.framework/_CodeSignature/CodeResources index c25243e3..24f880ea 100644 --- a/WebDriverAgentLib/WebDriverAgentLib.framework/_CodeSignature/CodeResources +++ b/WebDriverAgentLib/WebDriverAgentLib.framework/_CodeSignature/CodeResources @@ -4,33 +4,9 @@ files - Frameworks/RoutingHTTPServer.framework/Info.plist - - b25TJUQS9k35+FVqTuoMZxBgIzs= - - Frameworks/RoutingHTTPServer.framework/RoutingHTTPServer - - B3v9HS+xsQGqF838mBv23VgaKVk= - - Frameworks/RoutingHTTPServer.framework/_CodeSignature/CodeResources - - GWp4LZtYdpL7vhLop4QxC0LoabI= - - Frameworks/YYCache.framework/Info.plist - - Y+ASwe4vXn+0dYQzzYQxBem7k2o= - - Frameworks/YYCache.framework/YYCache - - CeTu57Z0efMZZs9gfVYXULwVGuI= - - Frameworks/YYCache.framework/_CodeSignature/CodeResources - - dq66ThgvnsLnFje7ikImNiKbv+w= - Headers/CDStructures.h - EpTs4jQtfy4PKXwUBsbscTeT2gY= + eEM0meztYN0iHcrPry9ltJXgDiQ= Headers/FBAlert.h @@ -38,7 +14,7 @@ Headers/FBApplication.h - tclXMh7cqQMNFjACmnJSkgV6pPs= + c8RRyTb1CYq4HT34/lplzyBw39w= Headers/FBCommandHandler.h @@ -50,7 +26,7 @@ Headers/FBConfiguration.h - YCN5rBN/wvJT5UgsF9FFAsd5Yz4= + t7SsHKZeTM+gno0PV6dEx+2SbC4= Headers/FBDebugLogDelegateDecorator.h @@ -58,11 +34,11 @@ Headers/FBElement.h - EqE2fc1sHMSJi4x8NXZO6dpj7eM= + SaPD5l8V8jMIuVB+d5V2M3M5Ocg= Headers/FBElementCache.h - lSbAfvR2GFt9J85lQ1gbCysX7d4= + zT+LcOeLJIzrTt6IGRpDYkTYAag= Headers/FBElementTypeTransformer.h @@ -74,7 +50,7 @@ Headers/FBExceptionHandler.h - RrRF6hhC6czwLVVH6oqN3MtRtX8= + o2/YKG0MK0j4oG3P0EkakXz8Fw0= Headers/FBFailureProofTestCase.h @@ -98,7 +74,7 @@ Headers/FBMathUtils.h - 1Bo6lVHxWtwfC2psoqH9+CRwe4g= + 1B92nEb9wyGsBnpIkeyILULCfJw= Headers/FBResponseJSONPayload.h @@ -106,11 +82,11 @@ Headers/FBResponsePayload.h - jG8gRLR9PYjmAgS+NDbDA79BsMc= + Rhg9mCd+m5a5hXDlEsaUa5txF9k= Headers/FBRoute.h - vIVQqvr9uCZC5FL9hivp98PnC9M= + cWQvRanKJ+//xS0BD4f4J1LpLJU= Headers/FBRouteRequest.h @@ -126,11 +102,7 @@ Headers/FBSession.h - xt3PNgUU/bOoYkaESiQs44BWFe8= - - Headers/FBSpringboardApplication.h - - gBIutzOe5Xa6X2ZjemhRI7QQyfM= + vi1kf9JvNaudvev1HlZzZIWRGcM= Headers/FBWebServer.h @@ -138,7 +110,7 @@ Headers/FBXPath.h - Hr85FjDTt7wirfArLm0TRE78fN4= + /EKqXfpebE4HNoissGACnJe9z30= Headers/NSString-XCTAdditions.h @@ -174,15 +146,15 @@ Headers/WebDriverAgentLib.h - 01dKNhxPAa9hBzw5Waa/EbUuEKA= + QwJh5bPSv5tzTEgUWQYugx1EA34= Headers/XCAXClient_iOS.h - WCLEzlmz+/qTUZ4S5F2anmLle2k= + lNREBJOSPYWSiNemKDyMSWymCxw= Headers/XCAccessibilityElement.h - 0foiaNlyA/HzpdfPn7h2LQlbjrw= + WQT11ClWA572wDhbcJ5WsZH4hsk= Headers/XCActivityRecord.h @@ -210,11 +182,11 @@ Headers/XCElementSnapshot+FBHelpers.h - 64VUJmxk2+o0eIeQyWHvM7whlFM= + VpdRdc+UROoY23kllcmuak5EwpU= Headers/XCElementSnapshot.h - z/30Rmgl8TXqI1sRLfeSDG2AFNg= + dFDd8au0v+1pyJVH6Bm49VnaQrc= Headers/XCEventGenerator.h @@ -238,11 +210,11 @@ Headers/XCPointerEvent.h - UggvCwrAskmVJUvu2FbnSSQ4ICk= + ZBkORQ8GyVGnCeMnu1ENog38hrs= Headers/XCPointerEventPath.h - PsuC7G4znNR2wohgXROBW4lbo+s= + /JBrT6Gpwn1EPlWU80uDO5yWFNI= Headers/XCSourceCodeRecording.h @@ -358,11 +330,11 @@ Headers/XCTestCase.h - RxoZIFFzyOo0P3z1apZs5+pZocA= + OP46I+lmxG6jWLwDpZ23fRHp0CA= Headers/XCTestCaseRun.h - cQSDGwu+ikHn0WJWjWx6NBzqSsk= + gNT95xixy9cHU45a4qndQ1JWBe0= Headers/XCTestCaseSuite.h @@ -382,7 +354,7 @@ Headers/XCTestDriver.h - /yx4tJBAbJA0K+frc4cdpPyu7SU= + Pht6Vdf1pKy8xxbcaYNeRseezHU= Headers/XCTestDriverInterface-Protocol.h @@ -410,7 +382,7 @@ Headers/XCTestManager_ManagerInterface-Protocol.h - wRg/UPpPlXPOFHAQfeGN8f26fYU= + oUuZaNEeYtnH7RhyLHhactj0axI= Headers/XCTestManager_TestsInterface-Protocol.h @@ -454,11 +426,11 @@ Headers/XCUIApplication+FBHelpers.h - M5HLYis+2O0wVIzF6FgFLUnILfU= + bYZ91KCi99Q2UH+qBfx88LvP17M= Headers/XCUIApplication.h - Y2UcTc9KSFoDiPoUfdjYFvYCCpY= + hxpvhLDDYToZzoQn0fi71aYNimg= Headers/XCUIApplicationImpl.h @@ -466,7 +438,7 @@ Headers/XCUIApplicationProcess.h - J8H4NrAnmaUDfVHipiA2BQoDbzo= + GIeKpJ/Z130BoY8SfeoYavesR/4= Headers/XCUICoordinate.h @@ -478,7 +450,7 @@ Headers/XCUIDevice+FBHelpers.h - UxK2yskRmSJJBoLYhQHdjSL3/1o= + Qfg+zAEY41VQJdEoKo13GZ1z1Zk= Headers/XCUIDevice+FBRotation.h @@ -486,12 +458,16 @@ Headers/XCUIDevice.h - 3vA2D15iR5VPoP0YJEBsQRilSKg= + MbRz90q4hWiYoJHvMxFO/F5GMp0= Headers/XCUIElement+FBAccessibility.h EtUmHh2V3PFR7A+A1+FGSKRhBSQ= + Headers/XCUIElement+FBCaching.h + + EyK0Rd+TSwJ3lfKNEWzZc35x2Ds= + Headers/XCUIElement+FBFind.h XEV4DNMjPOExrtPgsq3v5igEtZc= @@ -514,11 +490,11 @@ Headers/XCUIElement+FBTyping.h - OvrTcTYyAqg3VOsgRgr/8k70Tik= + fSekXIQM+duh8E7HstqzoX2Mgv4= Headers/XCUIElement+FBUtilities.h - 7duCYSgicslXq/M5G4bVPLM2pdo= + HlF4X+YAeJuuCOh8nWWsf175Yvc= Headers/XCUIElement+FBWebDriverAttributes.h @@ -526,7 +502,7 @@ Headers/XCUIElement.h - vCRQ6ycDVzCYqRpvSCsbOWYLyXk= + p6xg1S0tf2Nzyr4FjwFtFpZqIPY= Headers/XCUIElementAsynchronousHandlerWrapper.h @@ -538,7 +514,7 @@ Headers/XCUIElementQuery.h - DdFqmCYhfev/lHUCW16RyTucAd4= + iYqyEaHjdkLG9zyMSWCLEtVxY3s= Headers/XCUIRecorderNodeFinder.h @@ -558,7 +534,7 @@ Headers/XCUIScreen.h - OPOeJlxtyJ/hJtDIi0uh5djpBdI= + 6qBKl1hFwmkr5hP0uBFavNOI10M= Headers/_XCInternalTestRun.h @@ -610,94 +586,20 @@ Info.plist - Yt+KEob8Bb/AQ32EV2rh2HepsiU= + WmSfNgwnHaLWkOYMfkf00XK/REg= files2 - Frameworks/RoutingHTTPServer.framework/Info.plist - - hash - - b25TJUQS9k35+FVqTuoMZxBgIzs= - - hash2 - - YO5h1xHx1hq4Z0TQmXOWwVzcBZdQMatx/sDclLc5kJ4= - - - Frameworks/RoutingHTTPServer.framework/RoutingHTTPServer - - hash - - B3v9HS+xsQGqF838mBv23VgaKVk= - - hash2 - - qQQ17Hr9cpvvJXfZKaWe1ajX8kYtj3ZC93wk4WbHooE= - - - Frameworks/RoutingHTTPServer.framework/_CodeSignature/CodeResources - - hash - - GWp4LZtYdpL7vhLop4QxC0LoabI= - - hash2 - - irSr3OolCsU7b7l+PdpC843fV7BqoR51TRd5rowYN4o= - - - Frameworks/YYCache.framework/Info.plist - - hash - - Y+ASwe4vXn+0dYQzzYQxBem7k2o= - - hash2 - - fJX+SdzcF9NG7V7yrEubxk7ByMSFo6ItqA2d0IndjzM= - - - Frameworks/YYCache.framework/YYCache - - hash - - CeTu57Z0efMZZs9gfVYXULwVGuI= - - hash2 - - RpzGh9G3hhhgwSBkgKWwOihRTLPAsz9QfPazgNZHVVA= - - - Frameworks/YYCache.framework/_CodeSignature/CodeResources - - hash - - dq66ThgvnsLnFje7ikImNiKbv+w= - - hash2 - - 7DMDTNzevg/QXyRI/5RH6qdVJUSbru8hTH1fBhPynuY= - - Headers/CDStructures.h - hash - - EpTs4jQtfy4PKXwUBsbscTeT2gY= - hash2 - knDiH3Ue2c3hUjG0yqESoVRKoZ0fwH3/nH35ziJ0d6A= + ezjxeEC7w2z88xNDMlDSqAI3cVbnvoOggiaqSSFflx4= Headers/FBAlert.h - hash - - VYkZNmhIocl1qGfNj9R2ed2Rcbg= - hash2 SsWBU5TFDLW7mnh4ZRPSAxNiy3jcjoYGGKJ2kWjxW9w= @@ -705,21 +607,13 @@ Headers/FBApplication.h - hash - - tclXMh7cqQMNFjACmnJSkgV6pPs= - hash2 - 6QzfJN9Io4QUQU4B9ATqogjxeJjkrLGaukrgKBtGIYQ= + gP0MTF8n2tTQOkHZJB3Z/M1/FgYAZ5Ndjv16gKtnTus= Headers/FBCommandHandler.h - hash - - LUgMK5Sumreip6MD9d6Pp0XyElw= - hash2 +Lv/WTFCW9yNEk0Os7BO/Ax2le1whH7uS1nkhFE+bMs= @@ -727,10 +621,6 @@ Headers/FBCommandStatus.h - hash - - asMmOALTqO2/JG2NFhmUSB25MQo= - hash2 lbA+ZRfgqArAIQ30aUbvDEbvLFg7rFFFl+lwDFxj7cc= @@ -738,21 +628,13 @@ Headers/FBConfiguration.h - hash - - YCN5rBN/wvJT5UgsF9FFAsd5Yz4= - hash2 - qw4gTmC4WUjgPDS4DZKOEGcBdmU8eD5UV/K1lGqZQyY= + ILTYw/q2qn4DDezga6edbOourKFRP+V3xfyvKGbwUCc= Headers/FBDebugLogDelegateDecorator.h - hash - - FUL+W/QXbFiKENcJi9eW8kZh0zM= - hash2 I5RJ7QrwMfsOdWs29OD//d/8cUINpDN39AYgHA+xu0I= @@ -760,32 +642,20 @@ Headers/FBElement.h - hash - - EqE2fc1sHMSJi4x8NXZO6dpj7eM= - hash2 - /OaSqHi+rUcIGnQpiysQdu64iuoshR3OKhxpCSMqg7g= + ZpFffZKnXM/7QUVKGHsEbMnzMQhCpep68Nyl+QhMTXc= Headers/FBElementCache.h - hash - - lSbAfvR2GFt9J85lQ1gbCysX7d4= - hash2 - xFawlJ0s3HjCHKN9JCuKkj0a97sEB5svBhfjISDrciU= + z0q7LV7I1gsk+09ceA1aDnY0bpvR8FS19OGK9/+DUgw= Headers/FBElementTypeTransformer.h - hash - - CHRk9UAlJYGSDCmPKvIgERA3xRE= - hash2 H3Y1mlfW/YA0HsVTC7BGum7AdvUQGnsp6GPIiZpUpAM= @@ -793,10 +663,6 @@ Headers/FBErrorBuilder.h - hash - - wfRR0/zi3eqj5efFzSLX4iDkBOg= - hash2 E4pTN7838UYO4+3jhl7sYVMbKMIYNIjFxKTi9d3yIrs= @@ -804,21 +670,13 @@ Headers/FBExceptionHandler.h - hash - - RrRF6hhC6czwLVVH6oqN3MtRtX8= - hash2 - W5NFAyucTTrAAm4SlwjqC7C8F3kAbILkttLmY8DrJqg= + aFjsCCpxc90vtiobVyF6Y+953l/kzQ9f4oxOy5yPS5o= Headers/FBFailureProofTestCase.h - hash - - J5Upa4Kgq1gCUT8nUN2SgZUlufo= - hash2 GhgZaomK7mGzagZYG7mDSKv2Lk15dmCKRItm0NITx+4= @@ -826,10 +684,6 @@ Headers/FBHTTPStatusCodes.h - hash - - doITKcKG3iJV5csRu4ersbk7XMc= - hash2 wzhWxdllzIR/LU79q7UgdFaG279tvgxBn+UYyFhZ5cQ= @@ -837,10 +691,6 @@ Headers/FBKeyboard.h - hash - - kNmi5JC8FKA40g9l0jTAP27B8EI= - hash2 8tuzmc/mhHlVp8+Q0Uz1wLbtrAebTJ+AbLSjlyNOUd0= @@ -848,10 +698,6 @@ Headers/FBLogger.h - hash - - 5+mX+7LLapVBB1h3mOgyFDRb7MM= - hash2 /bARU/liSxIdoixREsFOyz+fXmXpdC9e8uVDl2++Epg= @@ -859,10 +705,6 @@ Headers/FBMacros.h - hash - - WR2AjB2Oam3jAmSZOmHYc8C6vS0= - hash2 e/22cK1+vOROYH/Kcckj8RRQRubO1fUmWsq6IkOkB+E= @@ -870,21 +712,13 @@ Headers/FBMathUtils.h - hash - - 1Bo6lVHxWtwfC2psoqH9+CRwe4g= - hash2 - 1H/OeCz3KEbABdIqCY+Vj81Z1FPQ9Ylgjnd+ZMcVwfo= + Ony/gpM+LvMaKYA9nj77hFRvDtnmb7H2uzPIM/JP5dw= Headers/FBResponseJSONPayload.h - hash - - Pc/jp0r+TJSptDnnILOZ/sNGjAQ= - hash2 kUICqrUK0mVbgBfr8m6igz+oqe6NKQ9wYCF2Q+AP/qc= @@ -892,32 +726,20 @@ Headers/FBResponsePayload.h - hash - - jG8gRLR9PYjmAgS+NDbDA79BsMc= - hash2 - Tl/Q0OrMbHb3wQpHF0gHppB74w/6C75tdiaRxLwboFk= + jYM/7RXwl1sWcSIH0pFBh3+6T1hbVibf9pugXq545pw= Headers/FBRoute.h - hash - - vIVQqvr9uCZC5FL9hivp98PnC9M= - hash2 - YxFQm9MZAvXoJeCyCwQpyEvE+CtBZ/CcLz0qWRSDT1E= + lU8RJLzwZwOpIrjNYnml6xirvjHgIG27KTLAx0hCvfI= Headers/FBRouteRequest.h - hash - - 2DVxsO4emFKPm4Wb/Dueu15IiCo= - hash2 mw9F13YF4OWUMOiIFi3HIl8rhVpn2xD6lrOojsJwwL0= @@ -925,10 +747,6 @@ Headers/FBRunLoopSpinner.h - hash - - TvOfez21U7+6L+tGoE4Fn0nAQgM= - hash2 9lS/mLloYiseKbk2rrimeR7vnjaBluxsIdqjBxfQWIA= @@ -936,10 +754,6 @@ Headers/FBRuntimeUtils.h - hash - - yYOA/a90GucGENU2cv+ijxCZq7Q= - hash2 kuS38zyZxpdHSBd2Ztl0SZ8CmH4UYavGx9l1NCI0n80= @@ -947,32 +761,13 @@ Headers/FBSession.h - hash - - xt3PNgUU/bOoYkaESiQs44BWFe8= - hash2 - ieHINtISJsn5iSkNgAg1nH20UJp00aGQNNAEsMboCmY= - - - Headers/FBSpringboardApplication.h - - hash - - gBIutzOe5Xa6X2ZjemhRI7QQyfM= - - hash2 - - EcrL4IOuxkksy9Om27HE0qQA26LNouVQ+QrtokmH3WE= + Yi6wGiqrxBE1SQwVOe8Mm0Xf/IkfhQ3tmh72L/w5kTU= Headers/FBWebServer.h - hash - - IPXcE4tIbJie0OH/blGJhyW47RE= - hash2 qV1apTvjb/SB8nx1Kqta+7j1tutNfYfj7TMJubV+aNU= @@ -980,21 +775,13 @@ Headers/FBXPath.h - hash - - Hr85FjDTt7wirfArLm0TRE78fN4= - hash2 - TJGOVFHfUMu2va1yD6/y1JfiXUjv1HMhSFuvfKf3kmU= + rS2o8B7dZZPClMWEaC2nGSnEk1NwLKd5LCrNiqEyFSA= Headers/NSString-XCTAdditions.h - hash - - 5W2iC+oVKaofvbL3Xv91ZlTrfyo= - hash2 9oKqd3d9lBgLO203npAjKpjF7AEOXAf/QuWgdJZzBjk= @@ -1002,10 +789,6 @@ Headers/NSValue-XCTestAdditions.h - hash - - 0WKYAO5vg71aYQvq7DwcvHaCpr4= - hash2 jht7YUTZHs7rgHTjZ28keJhnWEqzwVSlxVKRt9wjnq4= @@ -1013,10 +796,6 @@ Headers/UIGestureRecognizer-RecordingAdditions.h - hash - - fPGH4ny/6FS8birkERcVCZHsYGk= - hash2 k5/mlu/tBj0OCAwW8H+71Z+BfJRp58wDlvUEuSvkOq0= @@ -1024,10 +803,6 @@ Headers/UILongPressGestureRecognizer-RecordingAdditions.h - hash - - SC/vRr877k6z8G8TYC9d5psWFug= - hash2 1DgBFupH6JI0Cd94eSHJTx2QkozxvF1wotGmbU5Sjd4= @@ -1035,10 +810,6 @@ Headers/UIPanGestureRecognizer-RecordingAdditions.h - hash - - e3S3uVmmrsiTXVy2AjiM1aZ7VRs= - hash2 Y3BDetUZL+Cz/EKCe4SAHpanIFCxDvcnuqYdoyWheyk= @@ -1046,10 +817,6 @@ Headers/UIPinchGestureRecognizer-RecordingAdditions.h - hash - - 2lyYInk5/JOMwGJmSieOzRIxmDY= - hash2 fLAaeSWK2ZXfgpiFBXcUBHgekfyycrCvasiGBIOkM+c= @@ -1057,10 +824,6 @@ Headers/UISwipeGestureRecognizer-RecordingAdditions.h - hash - - 31s5jhcPqNm7arH2wekyo/eqGtw= - hash2 o8p1C8GNhFZ+PIly3T/sroZID3yBCLFcDCZcab1vg5A= @@ -1068,10 +831,6 @@ Headers/UITapGestureRecognizer-RecordingAdditions.h - hash - - Fl1+pDS7Hd09UVPFk5aQNhiHAaQ= - hash2 6tmt/rQFwXTuq+H6WQ10E4D83KsjRN+d3ulyez+spMM= @@ -1079,43 +838,27 @@ Headers/WebDriverAgentLib.h - hash - - 01dKNhxPAa9hBzw5Waa/EbUuEKA= - hash2 - QMTfuBNgJPVVDqmI35Ys0hHTT1BMmj9KF5vZu/dfmnQ= + NXaPe49isVAICo/gktBRoQ0HLn+4qDc6++PKmY02PvE= Headers/XCAXClient_iOS.h - hash - - WCLEzlmz+/qTUZ4S5F2anmLle2k= - hash2 - TCJRUIkV0Npmm/eqWUNRz6lGySd/d2b1aVftXQ0HLmY= + jxO+u+Tm096qKjXkChtQOn3d9r/dwCbIlxJn7OPMNGU= Headers/XCAccessibilityElement.h - hash - - 0foiaNlyA/HzpdfPn7h2LQlbjrw= - hash2 - AG9tQawElVGuGk1oX63oQnNIAvN1CqbB/6fxA5kZzE8= + cxUwcdPddtHDshKc51IaXfkJMl3ZNpCDCW7g8bgtpTM= Headers/XCActivityRecord.h - hash - - v3Vq4xiFB7mA6NnXfZSKB5TH1W4= - hash2 XwaiNFurnl77Y6T4JdgPgpIOO97pt4IaRi18CfPTRLg= @@ -1123,10 +866,6 @@ Headers/XCApplicationMonitor.h - hash - - qkf5sBP2TNqWv0eSMH3wB8aqiOA= - hash2 Ygt9te6UQUR5NlIjvLD1P9/+6kZYPSf5rbuReWfwMvQ= @@ -1134,10 +873,6 @@ Headers/XCApplicationMonitor_iOS.h - hash - - lWvCD7Yr1YTkmwgH8qa/pv/MYFA= - hash2 Q4JbcKniSXMYi8jXwHCjVxbjjMrWgXoTa+VMzhvm3ac= @@ -1145,10 +880,6 @@ Headers/XCApplicationQuery.h - hash - - A96iKqj/itm5JX/ZHHkxTDHUR7k= - hash2 mdQ06tZutD+mNFpYZ/onJ4pVBgB5iA4pQBmi5ZTIX3M= @@ -1156,10 +887,6 @@ Headers/XCDebugLogDelegate-Protocol.h - hash - - ic+IIZk97E4VZ28JVUAoCjTSs2s= - hash2 kONWxrxdpXMnMuoWyNfQ2vv5jOmRh1wIPvrlPZiMEmI= @@ -1167,10 +894,6 @@ Headers/XCDeviceEvent.h - hash - - +Xe19sFLDxX06Zp/5cjOzUu7aq4= - hash2 Hrq+dd1o31cZ91H+lVRwApmH8N4q8/kvvj68I/bjOM0= @@ -1178,32 +901,20 @@ Headers/XCElementSnapshot+FBHelpers.h - hash - - 64VUJmxk2+o0eIeQyWHvM7whlFM= - hash2 - WKYohackWwgvqtQ/bj9FVm52K4OMt6sd+QgHs1/lOtY= + Dtz+WMMlJt8c7gnd/4lP5i/q6ePdlf7uJ9QVGaXWtrc= Headers/XCElementSnapshot.h - hash - - z/30Rmgl8TXqI1sRLfeSDG2AFNg= - hash2 - nELOHVoA/QaPkt2RN0kzfGFMSJOYjGyk+18ZDPGD5r4= + D2JCuTF2dgtCQnyTT9ePV5NnSUlt2Nb5RmQkgkgFhF4= Headers/XCEventGenerator.h - hash - - Vyi5my9i/IigfNjnBon+FIUgc58= - hash2 CBfiJ38q7UjqUOsdE+hgoaQxa8POIi/kG0HVjz+TrKo= @@ -1211,10 +922,6 @@ Headers/XCKeyMappingPath.h - hash - - pljWGJEJE5Icj0T+nwTv9bamKrs= - hash2 Z71idB8oVnozYAVqUPfqPXf5XzbaOqTgUAZzcdO/NGA= @@ -1222,10 +929,6 @@ Headers/XCKeyboardInputSolver.h - hash - - whbbEeY9N29Ow5TvNrTa3jaNauo= - hash2 43MgwTT3ZDf7BJC4Yvjr4nOYyIH1Cc6EFrcuIXBZFPA= @@ -1233,10 +936,6 @@ Headers/XCKeyboardKeyMap.h - hash - - peh5/6dcf2KrPNKQmgXdJqwyKQw= - hash2 +7Ndq1RWIqCJG8kojzqZsL+pateinMtZS3jDxjTB4V8= @@ -1244,10 +943,6 @@ Headers/XCKeyboardLayout.h - hash - - fvaFcBq1y4GClZPD/twkh+xagco= - hash2 3PFEd5xJKqlwpCBtK/s+G+e7PUVQPScWwdT+zy6MYYU= @@ -1255,32 +950,20 @@ Headers/XCPointerEvent.h - hash - - UggvCwrAskmVJUvu2FbnSSQ4ICk= - hash2 - MXcwknehtYmCyMkhpJRXbM4MKUoDqgLvtolSIgfExk0= + EmuCkOkuCLZzCE1a3PHSwNFKLBqcBuSajZQgpM+18E4= Headers/XCPointerEventPath.h - hash - - PsuC7G4znNR2wohgXROBW4lbo+s= - hash2 - nvyYeFgAHjpYutjMX+SP4L/7oDAYKizs2NSwGP83SWI= + zpL8F9+gMcPygopulfjZDFw86016XMOIUDLXk7ukeRY= Headers/XCSourceCodeRecording.h - hash - - X09uItvxFiBCV6JTjkGithPyEfg= - hash2 KtU8mlC0LuC6pGWBKmkiHqIqGiiaqDA9Fn9xnwcquwI= @@ -1288,10 +971,6 @@ Headers/XCSourceCodeTreeNode.h - hash - - fEpj3c3LBGZqLQotVLfJCdaMlKM= - hash2 kXHF0y6NbZX3mym7f1WqVaZ33PHL4GkZF1rSu4TJAeE= @@ -1299,10 +978,6 @@ Headers/XCSourceCodeTreeNodeEnumerator.h - hash - - gLWLSNJhlIl16s2PDTrhT1G4IZU= - hash2 ZW+J3M8jTocP05CIL0qbkUZ5WZ0K3I78YecqA0rWWdc= @@ -1310,10 +985,6 @@ Headers/XCSymbolicationRecord.h - hash - - YccbL9ylJZ2zSTOpUsUSWW26zUg= - hash2 tGsCsUbmdP0z2jY5cLpgqpOUuJginozhRKD4GJpXDy0= @@ -1321,10 +992,6 @@ Headers/XCSymbolicatorHolder.h - hash - - RJJUIOvmFruIuEp1vBLxTiuAE9E= - hash2 +oLEqUvixsx8LKWGS5qbFfhEzBmn1qGCA3E1Bk50HWY= @@ -1332,10 +999,6 @@ Headers/XCSynthesizedEventRecord.h - hash - - t683rTul2JUN4xfzeTQDLSAhHwo= - hash2 lsCJhllE+dDW7fOZnck7FoMFqPm2vQAp6/sjRq7XBCQ= @@ -1343,10 +1006,6 @@ Headers/XCTAXClient-Protocol.h - hash - - 4sXhW1qId2cMPDg0jT0KdWLEY8A= - hash2 j14nn9vj10r6FNSxYs342M/2kMFiLcbrdh0zh6ujl5k= @@ -1354,10 +1013,6 @@ Headers/XCTAsyncActivity-Protocol.h - hash - - bBtSrl3bN0Xloi2AYXUP5TQr1xY= - hash2 N3MajwBl5A63aBIC+Og33/XnCJ+EZkWxfkqzQ13qHr4= @@ -1365,10 +1020,6 @@ Headers/XCTAsyncActivity.h - hash - - 5GmG2qwZhxr1EoyucQFocNW82l8= - hash2 1d4wahaWSc25ivfUDrbQ5xcvPBtxbckP4HVWnRIGw7g= @@ -1376,10 +1027,6 @@ Headers/XCTAutomationTarget-Protocol.h - hash - - ORu5dsqy8z2yWstbR43sccP5H6c= - hash2 x2pT+APxDxlvmiu+35X6MzU+oiLURmhenLxVQ1gKPTo= @@ -1387,10 +1034,6 @@ Headers/XCTDarwinNotificationExpectation.h - hash - - mO98PfLs+wkppPYNP+UsvaBcr9Y= - hash2 wxj4qv+Svc42eHOhtS3cgSHAhqBRWSJrH6d6WPUi6uw= @@ -1398,10 +1041,6 @@ Headers/XCTKVOExpectation.h - hash - - PkwLaxihwZx0pEMwSNJO1U3nZ0A= - hash2 LpGUF/4ODEd3zwtTFtj1R2AQzGRceCI1Wc76FfTdrqE= @@ -1409,10 +1048,6 @@ Headers/XCTMetric.h - hash - - ivhjFacYUlYLm2mNk3Kl/zzWq6o= - hash2 G/FHBNMYBDJ2c7sbJrACGMgB7xyMjr7uc72WrkG6fU4= @@ -1420,10 +1055,6 @@ Headers/XCTNSNotificationExpectation.h - hash - - Had8ZKDimsXeDdbrOyOp+43n6E0= - hash2 Zv1j3r6Q9w2t+/47qeCTKHjGNYFI8AE4xqQzpK7Zie4= @@ -1431,10 +1062,6 @@ Headers/XCTNSPredicateExpectation.h - hash - - +ZSvsXw7SUmRxXi1D+TLs0i4toQ= - hash2 rMNSznWO5ORDDKnrC1sQJWwxrYAnfPuTjKnuPKNQc9s= @@ -1442,10 +1069,6 @@ Headers/XCTNSPredicateExpectationObject-Protocol.h - hash - - N/lrHMjkKbtp/0kyEqApx478xj8= - hash2 Qx4RUd8Vak6kvYGU/3MGXSNKWCkYi2LBdTXpRFFtsCU= @@ -1453,10 +1076,6 @@ Headers/XCTRunnerAutomationSession.h - hash - - wUOxWWifoD9TGVy86gkI8cKd0AU= - hash2 sHUDn9VSYjg33QsYXnundtV64S85dClABOwSaWUFDQk= @@ -1464,10 +1083,6 @@ Headers/XCTRunnerDaemonSession.h - hash - - afi8ddiGqiLPnTPSjlMZq+dtXsk= - hash2 pOG8ocN6C1pDZ9MeSjkpBSMjY/ZJu8Qgd7GaQpYCexc= @@ -1475,10 +1090,6 @@ Headers/XCTRunnerIDESession.h - hash - - Zo2s0dhBESTDwY/tDDwf3fEYOSM= - hash2 6n8Aa1WExbl8aI0zeNQge2LdRMAvnT0Hajvw89Kscyk= @@ -1486,10 +1097,6 @@ Headers/XCTTestRunSession.h - hash - - 3Zmn8uAjWaZxIt1bfgP6Rl1oJY0= - hash2 1J/RPi9u+NLQd4Il2x2M75D2bonR5+hooqDTQA8WkH0= @@ -1497,10 +1104,6 @@ Headers/XCTTestRunSessionDelegate-Protocol.h - hash - - ND1usbGwXmw7B1VlfGWaPLwheKY= - hash2 Ry9NeQ1nW7+Ca/UeEAmozO56n1USKZq7Qwq2Rj9kTOA= @@ -1508,10 +1111,6 @@ Headers/XCTUIApplicationMonitor-Protocol.h - hash - - eaJZUUbm3BD8HWVs4VKEIm+CVY0= - hash2 1nZ8cG9o0PwUropLshufUZeA0emZi2/DSVcUDeldDh8= @@ -1519,10 +1118,6 @@ Headers/XCTWaiter.h - hash - - p0UfBZ4mmGsBabRXfx/M6HEfls8= - hash2 lysW7o4yQpdRkMR/Nzf3sk+YD2r6pm4KphQS+UV+EoQ= @@ -1530,10 +1125,6 @@ Headers/XCTWaiterDelegate-Protocol.h - hash - - lV84x094johb17RsxlPt4+bSyAw= - hash2 U/nK240hGy7fQCPA7iW+pg1gA4uz0pLjEDh+0kh81z8= @@ -1541,10 +1132,6 @@ Headers/XCTWaiterDelegatePrivate-Protocol.h - hash - - EP63fXjxYg3nqqGTGXD4/xS50SU= - hash2 xzxJOMYmWT7r0NaZfiQOo7TMFmYC6ykMHz/uCLx22d8= @@ -1552,10 +1139,6 @@ Headers/XCTWaiterManagement-Protocol.h - hash - - hMsiHzaVPMjR5/oParCnFu3WIRU= - hash2 mo/kTFLIXxTSDes27jYSOD74qC5MggDybzYEhefviNM= @@ -1563,10 +1146,6 @@ Headers/XCTWaiterManager.h - hash - - 6kD0U/wB1BlZn7IVwEKPmBRl6Ww= - hash2 0ekmxUbfAF7f4kF9kbm9IovQLJmmH2fFwYNWTGo8bQ8= @@ -1574,10 +1153,6 @@ Headers/XCTest.h - hash - - 3/zXlJ8DNWpqJiXiJswhRok/LJo= - hash2 6jU6zsPckBibf0QzQQfFNRcN7rAZEXp6b66rOboHNSU= @@ -1585,32 +1160,20 @@ Headers/XCTestCase.h - hash - - RxoZIFFzyOo0P3z1apZs5+pZocA= - hash2 - qH4sPZbILFx+IBEcwf7srQRU7cqxLULJKNbitNkfHgg= + EdqtubwLKQxoBxkGKiXdU+9bh2t/ZZL7e2re/YbuMDY= Headers/XCTestCaseRun.h - hash - - cQSDGwu+ikHn0WJWjWx6NBzqSsk= - hash2 - ChtxUmmMcB8CK6wcEht89fk1j3izTSduI1tELGRZ1zw= + RLqB2zlVsXEVzmfj+2MxHCHX0dI8Iq0eZMsiVXSS3vY= Headers/XCTestCaseSuite.h - hash - - 43WEuNH59dn6ixB9EuIkDJcfcH0= - hash2 a3ZliC5hDyetsFWXEBwh2VPUu2nrNKNSpmoP4oEI8ig= @@ -1618,10 +1181,6 @@ Headers/XCTestConfiguration.h - hash - - Q6E3CnAQjDZAfRVzV1VRUD/RKyQ= - hash2 HP/iGaiV+OJUUNgU6y6Cw6tlF3eWY7J8hNPdriTTX54= @@ -1629,10 +1188,6 @@ Headers/XCTestContext.h - hash - - Ntj2U+YhEpE2wQXUhcHwS3haGxw= - hash2 4N+4FkdFC+8cXL5btmmEea9RyqJs6spCFU10NKDzKms= @@ -1640,10 +1195,6 @@ Headers/XCTestContextScope.h - hash - - y/evGi5aCAK+HxYZDIGn7nvHgLk= - hash2 9EP+UDZLDhwSJuNpm/JU1qbDyTvC2wlCiFnJ/i0FtlI= @@ -1651,21 +1202,13 @@ Headers/XCTestDriver.h - hash - - /yx4tJBAbJA0K+frc4cdpPyu7SU= - hash2 - fut15V8qEzWJm72gC/0iQ2UIN7XmFHV5jcK0HOxCF8M= + n1TX7Io35iMg4SPiWowU3I+VUpC6pzMiqFxQVR4vqSI= Headers/XCTestDriverInterface-Protocol.h - hash - - OiTCNMwqOlmK2Jde8NP4MN/p+rc= - hash2 DW+O7435FVDBMxHOWAItbsVyaHXm9rC3f6gV5x1R/bk= @@ -1673,10 +1216,6 @@ Headers/XCTestExpectation.h - hash - - qrI1cQvWi2A+TFTXAFb+jhGYdqI= - hash2 3yxEoC8hFdFgfIhZtH1YDGp7gqCdv5qkl0KkXL4xfHs= @@ -1684,10 +1223,6 @@ Headers/XCTestExpectationDelegate-Protocol.h - hash - - ljDAJPg049cXo/7ljqxITAm2OYc= - hash2 uSwa7IEbRSoWr9bbVhkcVoaPosMwtwydZL2cytpQqQo= @@ -1695,10 +1230,6 @@ Headers/XCTestExpectationWaiter.h - hash - - QPLmdoJ1z+0PZXZOCZr7WwTa084= - hash2 Alhzp5/J7O+ZPYon6b1dmgyIaPo7XfAU4tPPCnWcGlg= @@ -1706,10 +1237,6 @@ Headers/XCTestLog.h - hash - - M0oecpjNgccsaWJGWTSOvLYXMQ8= - hash2 oXUxQ3qBqOr0qNtyAdsaCF/GiShMijGGxDnqHoUKZj0= @@ -1717,10 +1244,6 @@ Headers/XCTestManager_IDEInterface-Protocol.h - hash - - RIK8xRwBHFHAImmn1TlgrtSGY+c= - hash2 RScu/ALyNdd0x5LRHz0sR/BH7oDH/z9rPrFAiVUHVxo= @@ -1728,21 +1251,13 @@ Headers/XCTestManager_ManagerInterface-Protocol.h - hash - - wRg/UPpPlXPOFHAQfeGN8f26fYU= - hash2 - GcG5Oy+whleI/gq7by6Qw+WMdhk10Ywn7bzRIi0AJ3c= + 8CSUTe/8mWsP3wf1KolL+x+/hpVp3bsurb5W5QzEmP8= Headers/XCTestManager_TestsInterface-Protocol.h - hash - - MgUlNOTEfqjbGKQy/70bPLz4N6s= - hash2 kBn8e9X2sUzJ7A62NwTVf5i8EQsJIpd8zLtVyMcSJKk= @@ -1750,10 +1265,6 @@ Headers/XCTestMisuseObserver.h - hash - - dSW9FU1o1GsMygH59Pobo+hJfKA= - hash2 Rv/SIDfji8vYwxAgX7gX3q4ypM8+dr6v/+BbX2NWGmM= @@ -1761,10 +1272,6 @@ Headers/XCTestObservation-Protocol.h - hash - - 425cACLs946+idypRgm/NL0wtp8= - hash2 LNhkL9PJx7Q/uKBN8m3qt8tpJLAEHxmgvK3D8GQ7xJ4= @@ -1772,10 +1279,6 @@ Headers/XCTestObservationCenter.h - hash - - 2j6m9X2E9kiMalO5ZCw8gs1M3E0= - hash2 lbXWUyTP1fivF2/o5zo9JtzR7/lft1AGKuENJwRZSWo= @@ -1783,10 +1286,6 @@ Headers/XCTestObserver.h - hash - - 4u6weFqIpuq7dzLnetOmMpFNMXc= - hash2 GmF3WMukATjFIkfzvjrXeLqD1HIHwg+qZc1D7fm3Rdo= @@ -1794,10 +1293,6 @@ Headers/XCTestProbe.h - hash - - ykHYeuPoTx19rSxIFCwFqRpUm6w= - hash2 tT/CoKbY3+MbMGjdrjOB5BHU+1dVD/N00zoJud/NfGc= @@ -1805,10 +1300,6 @@ Headers/XCTestRun.h - hash - - PcLrKMuzhDOWNpYGWqhVkQVDdwk= - hash2 wy5y9oJPMeSDMdFZPisBtLf5TfDRKSjYQPQqtYXRo+M= @@ -1816,10 +1307,6 @@ Headers/XCTestSuite.h - hash - - wcZhg7zz3NvVECus19YJ7117P04= - hash2 hriMKQV922d6o29uQ3cIESHjt55iuZYvUVhKEnMv9io= @@ -1827,10 +1314,6 @@ Headers/XCTestSuiteRun.h - hash - - S540ixFz9TcWy1RbM9tyMIMpjW4= - hash2 YrGaW3oHrVZnRFyrUILEr65VNXxQO62rLWffoaWkoW8= @@ -1838,10 +1321,6 @@ Headers/XCTestWaiter.h - hash - - zW2YuLZrbEUI/0iu7iy+S8u+rWA= - hash2 R83fmFABUVq5rLcyPpyy/BsksnokG+Ci7GO03NLGMnY= @@ -1849,32 +1328,20 @@ Headers/XCUIApplication+FBHelpers.h - hash - - M5HLYis+2O0wVIzF6FgFLUnILfU= - hash2 - qVXdHR6CDFqBVSbOpTT9ezG9pUKWIYtvZTagwVLfKZk= + en086L3VZPjFIGgXbiOiziLr2kLYXlZ9F/Vx6EE1+CI= Headers/XCUIApplication.h - hash - - Y2UcTc9KSFoDiPoUfdjYFvYCCpY= - hash2 - ecFxbQL00/tv8ANjQqurnXX0mKaYjN/RIIT2APKasIc= + bPrborpMZz65ly20LDLJrbd/xeFPWpQiGpYzuk6+VQk= Headers/XCUIApplicationImpl.h - hash - - 7URU6Ki59blGZmeibE8Hd+Ihieo= - hash2 dURpMK7Ex66k/odWkXqzD/VmQXLWFP+x90B9Xeh8flc= @@ -1882,21 +1349,13 @@ Headers/XCUIApplicationProcess.h - hash - - J8H4NrAnmaUDfVHipiA2BQoDbzo= - hash2 - oNqtrf+sA43YAZohKcwxbZaHrJBq/tIpyq3wLkE+bXM= + Kwhl0+rgkw+nKdEpVcXQLu98k/Z+/GF9BlEmRjpq1eU= Headers/XCUICoordinate.h - hash - - IWAbE22uO4q0KcNXQP66Pq8G9d4= - hash2 nNiT4Snc5LUNUXFeKykrcfnUerifOVZOTp8TeG0NRDY= @@ -1904,10 +1363,6 @@ Headers/XCUIDevice+FBHealthCheck.h - hash - - UlzQCy7KGKTuISLvUXaemRmuAV0= - hash2 Y36bEOb8cJwIobnKCKLBiJSi11ybeVCFEm1Fic34BPo= @@ -1915,21 +1370,13 @@ Headers/XCUIDevice+FBHelpers.h - hash - - UxK2yskRmSJJBoLYhQHdjSL3/1o= - hash2 - DAf30R141PDfatJQ6EocQXh7XOBFkLsm3ToOlxqVG1I= + Vs4tHI3ZQeNGkbJggIohWWJ7tIP2N5Wj6ndK/cIk+ac= Headers/XCUIDevice+FBRotation.h - hash - - FYALbIVMrtg6IUQ/1LB2pYmxT1M= - hash2 1XjkDJV3ZJGUFPcypXHhlZcouLUOi+iQKYPljCcFZx4= @@ -1937,32 +1384,27 @@ Headers/XCUIDevice.h - hash - - 3vA2D15iR5VPoP0YJEBsQRilSKg= - hash2 - 1nxmMEdYguWdaBbJgipqShdWVh49qYqBpSwJ6iWuowc= + phbZ0znI2myVUDMiVvMvTn/yoq3auvGL1Dl1kUKXeck= Headers/XCUIElement+FBAccessibility.h - hash - - EtUmHh2V3PFR7A+A1+FGSKRhBSQ= - hash2 5wMhaM48Zl1NObKNHMi7G85TUdgiX0b08793suR11iw= - Headers/XCUIElement+FBFind.h + Headers/XCUIElement+FBCaching.h - hash + hash2 - XEV4DNMjPOExrtPgsq3v5igEtZc= + W/KRBJoJrRCow1Iv+ik6+O6lBf/5Af0yeK9o23znPS0= + + Headers/XCUIElement+FBFind.h + hash2 P1wMWlSdG3fXkehYWs7CMUIb0PoTli5aF0PQNlZxqpw= @@ -1970,10 +1412,6 @@ Headers/XCUIElement+FBForceTouch.h - hash - - /y8XjMiukukXt0yr3OG8DZ2rV/U= - hash2 F0cMcLCEKIhRtkCY4aybNgCUDRM79+8MzOEnu9FOB5M= @@ -1981,10 +1419,6 @@ Headers/XCUIElement+FBIsVisible.h - hash - - kj0q8uobGqNMbCT7kTAg4loWOss= - hash2 H8FvjBzo/KaJILuubza9iS7ATuIrLz9V98w9FvG9IQc= @@ -1992,10 +1426,6 @@ Headers/XCUIElement+FBScrolling.h - hash - - Q/aK1aEkVH0dkVU6IFq/rnyHg5E= - hash2 35xJiGC3MEBNopxUNSqYJkFKinFcvP0OkqkfvNAMNzw= @@ -2003,10 +1433,6 @@ Headers/XCUIElement+FBTap.h - hash - - neuG8M8kBJ5H5RULfwz/hmneDgw= - hash2 5uAXtJDFqPVu6hwVoZIhGajdq7ZRWzIgCW9xmrxxvXE= @@ -2014,32 +1440,20 @@ Headers/XCUIElement+FBTyping.h - hash - - OvrTcTYyAqg3VOsgRgr/8k70Tik= - hash2 - q8rNuu7KPBv5TRItsiQH5BGceaXLhNUwKFrSVKC9NVQ= + 1cnSV+cBrACRqkrfu6r5lBspBV3atqnhjqsgpyUck5A= Headers/XCUIElement+FBUtilities.h - hash - - 7duCYSgicslXq/M5G4bVPLM2pdo= - hash2 - Ur84UpT+CX1MV58qnnk3VVCLcCFtFv4RTZSDUJH4OWs= + n2CJyLH0lUBKkflTnc0a5GyIf5Sxh+UhvMUiS1VcM+c= Headers/XCUIElement+FBWebDriverAttributes.h - hash - - H8t6E708lKoe7+kSe/ClMbcjPc0= - hash2 7v1IFhbGr8wKqxoDSmFGTIUIl0ZfiVXsYfmdX5k37YA= @@ -2047,21 +1461,13 @@ Headers/XCUIElement.h - hash - - vCRQ6ycDVzCYqRpvSCsbOWYLyXk= - hash2 - EFCwhFBveqCaMApWsg5RuhYT7wAtG9hp6gtQZrnC5x8= + OlNJvzXwgMARNZ7c+Hvwr0FVlA62iOTjJVpdYl7sI7U= Headers/XCUIElementAsynchronousHandlerWrapper.h - hash - - Bug1jdGmmbkClFskuv1LjRhgd5M= - hash2 MquEMbvKeW0d0ax+Za9OP6HvRvtexWvvB3YpkpbWHpM= @@ -2069,10 +1475,6 @@ Headers/XCUIElementHitPointCoordinate.h - hash - - IHBhCYE8F2dgiEjhk8+nhs1wEXs= - hash2 vzdrtq+8UTo1reUKrvZkce9vZQcFVQC6UyLXmaa2kwg= @@ -2080,21 +1482,13 @@ Headers/XCUIElementQuery.h - hash - - DdFqmCYhfev/lHUCW16RyTucAd4= - hash2 - yRCaKzwdy8aSWaqtG50Vg4VI4Yy6Qo7zU4vZ9oCD7HE= + Csnfo+YPjnKzCvOZPsmnsw48jnWDiDWUCWuoc0EL+7o= Headers/XCUIRecorderNodeFinder.h - hash - - 6GhmXgYbbJCqs8MiBuCQc+VwBI0= - hash2 eBAea7UuPGZKC4bkfAYyIVccsqwGZRKNNrcuLh8zrSU= @@ -2102,10 +1496,6 @@ Headers/XCUIRecorderNodeFinderMatch.h - hash - - WdVa1OFU4hSvkrPyHOoUZ3I/32o= - hash2 LtD3XEiO9T3qxTwLQO5DxnR/Dr36u2U5m2Pi81d/zR0= @@ -2113,10 +1503,6 @@ Headers/XCUIRecorderTimingMessage.h - hash - - 8cYNoKeuoyWQbkLr/7L+zDq6Q5Q= - hash2 HBycfv4l9o76VVvbPIRHouGlzCmQnTliymEAnIMfonY= @@ -2124,10 +1510,6 @@ Headers/XCUIRecorderUtilities.h - hash - - Bect8HhnqRJ7Y3v+9PszGxE/QN4= - hash2 XHxPX8xiKsypVmMBVGf6i0r4yi9b/WdnGzXDWc9iR34= @@ -2135,21 +1517,13 @@ Headers/XCUIScreen.h - hash - - OPOeJlxtyJ/hJtDIi0uh5djpBdI= - hash2 - V9BaRCGcgVDEtCOwYgRGxSBmdLAWaNfhJNuWsjwxEH8= + cvM3tLHqkdm4sBoAHtq4Zz4T1E5/JJKC2tupTaOxdAc= Headers/_XCInternalTestRun.h - hash - - 0gfVRASPsEw4WJFQPjFkJnLYloE= - hash2 1Hz1h/tbC7dBa3TnESyrbp7cMx8YTWF51mASeZBLHI4= @@ -2157,10 +1531,6 @@ Headers/_XCKVOExpectationImplementation.h - hash - - BLna1DuR/zfTomi7GKAu6CeL58k= - hash2 EmGLJQRnVsG4xCatIBAVRUsNChyYMmNmkgUu2GJAUXY= @@ -2168,10 +1538,6 @@ Headers/_XCTDarwinNotificationExpectationImplementation.h - hash - - ZHIk1mwF8gPI90JpKvZyzGKp5gg= - hash2 YgC80yphr80nzet2reoYk4n5lcRPHn3CGX8QHLlc+t8= @@ -2179,10 +1545,6 @@ Headers/_XCTNSNotificationExpectationImplementation.h - hash - - diEYYMZA8o1YScH+sn3VXBwvu8g= - hash2 djwWnDtDkPzWhDUuQsxiEVs+8B+VEK+ZOqIyl8Gte/4= @@ -2190,10 +1552,6 @@ Headers/_XCTNSPredicateExpectationImplementation.h - hash - - fIRuCDlEHWHWmQSMEWQutI+Krf0= - hash2 QVcovbpV2C1G3WL5MBrr1HJeV1bPAMom6chcsJz4YIo= @@ -2201,10 +1559,6 @@ Headers/_XCTWaiterImpl.h - hash - - X1y6bugdnQAC6tHdwjTL+9mqEO8= - hash2 FqMyzVhKp7cGFmO5YYMvWy+fsqRVDF02Tazn+v7I6wM= @@ -2212,10 +1566,6 @@ Headers/_XCTestCaseImplementation.h - hash - - nT90/A4hTAkT/uzHFGGuYLPXxvg= - hash2 VHT+NZajh/rDkXAUO+4XcoRgiVjWefs1ZmKbzSLvKfw= @@ -2223,10 +1573,6 @@ Headers/_XCTestCaseInterruptionException.h - hash - - DFS+SiRqrBBxYPLcdu5EQkFE29o= - hash2 RCWea6MSbIqdHs+AddRbPNQF8Ka5gYcHnyM+UOuQhE8= @@ -2234,10 +1580,6 @@ Headers/_XCTestExpectationImplementation.h - hash - - fpMfCX4CIZtEqXLuZ52l1g0H6zo= - hash2 la0GvbHIjhvEvECjitWcXklqnUFz5AGpVE+3Zc0rLoc= @@ -2245,10 +1587,6 @@ Headers/_XCTestImplementation.h - hash - - X1I52K0rzlVfiwBvSiRiS+r3Qxs= - hash2 PyaGOevGUpXlwCXmwemLNJ4sf5q17v8hI3vaO1Nb2Eg= @@ -2256,10 +1594,6 @@ Headers/_XCTestObservationCenterImplementation.h - hash - - 24FAAcqA1l7K19dBlBwjqf8L4nM= - hash2 Zdv72eXshmZShCEdlyc1CjKLyix/GeY5WoUXcGsdH+8= @@ -2267,10 +1601,6 @@ Headers/_XCTestSuiteImplementation.h - hash - - CVk40B2LvAi5aUOplHM5k+CKUaM= - hash2 SV8l/T70jQn2tPKfhRbcz6mUeTM8moiEnj2LL2gbQnk= diff --git a/WebDriverAgentRunner/Info.plist b/WebDriverAgentRunner/Info.plist index 028151a6..ba72822e 100644 --- a/WebDriverAgentRunner/Info.plist +++ b/WebDriverAgentRunner/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - com.facebook.wda.runner + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName