blob: 5ceedf3b16b535cbc67f42adef2b212d6501e9e6 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<title>EarlGrey Reference</title>
<link rel="stylesheet" type="text/css" href="css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="css/highlight.css" />
<meta charset='utf-8'>
<script src="js/jquery.min.js" defer></script>
<script src="js/jazzy.js" defer></script>
</head>
<body>
<a title="EarlGrey Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="index.html">EarlGrey Docs</a> (100% documented)</p>
<p class="header-right"><a href="https://github.com/google/EarlGrey"><img src="img/gh.png"/>View on GitHub</a></p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="index.html">EarlGrey Reference</a>
<img id="carat" src="img/carat.png" />
EarlGrey Reference
</p>
</div>
<div class="content-wrapper">
<nav class="sidebar">
<ul class="nav-groups">
<li class="nav-group-name">
<a href="Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Classes/EarlGreyImpl.html">EarlGreyImpl</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYActionBlock.html">GREYActionBlock</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYActions.html">GREYActions</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYAllOf.html">GREYAllOf</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYAnyOf.html">GREYAnyOf</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYAssertionBlock.html">GREYAssertionBlock</a>
</li>
<li class="nav-group-task">
<a href="Classes.html#/c:objc(cs)GREYAssertions">GREYAssertions</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYBaseAction.html">GREYBaseAction</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYBaseMatcher.html">GREYBaseMatcher</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYCondition.html">GREYCondition</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYConfiguration.html">GREYConfiguration</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYConstants.html">GREYConstants</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYDataEnumerator.html">GREYDataEnumerator</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYDispatchQueueIdlingResource.html">GREYDispatchQueueIdlingResource</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYElementFinder.html">GREYElementFinder</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYElementHierarchy.html">GREYElementHierarchy</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYElementInteraction.html">GREYElementInteraction</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYElementMatcherBlock.html">GREYElementMatcherBlock</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYFrameworkException.html">GREYFrameworkException</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYLayoutConstraint.html">GREYLayoutConstraint</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYManagedObjectContextIdlingResource.html">GREYManagedObjectContextIdlingResource</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYMatchers.html">GREYMatchers</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYNSTimerIdlingResource.html">GREYNSTimerIdlingResource</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYNot.html">GREYNot</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYOperationQueueIdlingResource.html">GREYOperationQueueIdlingResource</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYScreenshotUtil.html">GREYScreenshotUtil</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYTestHelper.html">GREYTestHelper</a>
</li>
<li class="nav-group-task">
<a href="Classes/GREYUIThreadExecutor.html">GREYUIThreadExecutor</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Constants.html">Constants</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYAcceptableFloatDifference">kGREYAcceptableFloatDifference</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYActionElementUserInfoKey">kGREYActionElementUserInfoKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYActionErrorUserInfoKey">kGREYActionErrorUserInfoKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYActionFailedException">kGREYActionFailedException</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYActionUserInfoKey">kGREYActionUserInfoKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYAllowVerboseLogging">kGREYAllowVerboseLogging</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYAssertionElementUserInfoKey">kGREYAssertionElementUserInfoKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYAssertionErrorUserInfoKey">kGREYAssertionErrorUserInfoKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYAssertionFailedException">kGREYAssertionFailedException</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYAssertionUserInfoKey">kGREYAssertionUserInfoKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYConfigKeyActionConstraintsEnabled">kGREYConfigKeyActionConstraintsEnabled</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYConfigKeyAnalyticsEnabled">kGREYConfigKeyAnalyticsEnabled</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYConfigKeyArtifactsDirLocation">kGREYConfigKeyArtifactsDirLocation</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYConfigKeyCALayerMaxAnimationDuration">kGREYConfigKeyCALayerMaxAnimationDuration</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYConfigKeyCALayerModifyAnimations">kGREYConfigKeyCALayerModifyAnimations</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYConfigKeyDelayedPerformMaxTrackableDuration">kGREYConfigKeyDelayedPerformMaxTrackableDuration</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYConfigKeyDispatchAfterMaxTrackableDelay">kGREYConfigKeyDispatchAfterMaxTrackableDelay</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYConfigKeyIncludeStatusBarWindow">kGREYConfigKeyIncludeStatusBarWindow</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYConfigKeyInteractionTimeoutDuration">kGREYConfigKeyInteractionTimeoutDuration</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYConfigKeyNSTimerMaxTrackableInterval">kGREYConfigKeyNSTimerMaxTrackableInterval</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYConfigKeySynchronizationEnabled">kGREYConfigKeySynchronizationEnabled</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYConfigKeyURLBlacklistRegex">kGREYConfigKeyURLBlacklistRegex</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYConstraintFailedException">kGREYConstraintFailedException</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYDidPerformActionNotification">kGREYDidPerformActionNotification</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYDidPerformAssertionNotification">kGREYDidPerformAssertionNotification</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYFailureHandlerKey">kGREYFailureHandlerKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYGenericFailureException">kGREYGenericFailureException</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYInfiniteTimeout">kGREYInfiniteTimeout</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYInteractionErrorDomain">kGREYInteractionErrorDomain</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYKeyboardDismissalErrorDomain">kGREYKeyboardDismissalErrorDomain</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYLongPressDefaultDuration">kGREYLongPressDefaultDuration</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYMinimumVisibleAlpha">kGREYMinimumVisibleAlpha</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYMultipleElementsFoundException">kGREYMultipleElementsFoundException</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYNilException">kGREYNilException</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYNoMatchingElementException">kGREYNoMatchingElementException</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYNotNilException">kGREYNotNilException</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYPinchAngleDefault">kGREYPinchAngleDefault</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYPinchFastDuration">kGREYPinchFastDuration</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYPinchSlowDuration">kGREYPinchSlowDuration</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYScrollErrorDomain">kGREYScrollErrorDomain</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYSwipeFastDuration">kGREYSwipeFastDuration</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYSwipeSlowDuration">kGREYSwipeSlowDuration</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYTimeoutException">kGREYTimeoutException</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYUIThreadExecutorErrorDomain">kGREYUIThreadExecutorErrorDomain</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYWillPerformActionNotification">kGREYWillPerformActionNotification</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kGREYWillPerformAssertionNotification">kGREYWillPerformAssertionNotification</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@kUIPickerViewMaxAccessibilityViews">kUIPickerViewMaxAccessibilityViews</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Enums.html">Enums</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Enums/GREYContentEdge.html">GREYContentEdge</a>
</li>
<li class="nav-group-task">
<a href="Enums/GREYDirection.html">GREYDirection</a>
</li>
<li class="nav-group-task">
<a href="Enums/GREYInteractionErrorCode.html">GREYInteractionErrorCode</a>
</li>
<li class="nav-group-task">
<a href="Enums/GREYKeyboardDismissalErrorCode.html">GREYKeyboardDismissalErrorCode</a>
</li>
<li class="nav-group-task">
<a href="Enums/GREYLayoutAttribute.html">GREYLayoutAttribute</a>
</li>
<li class="nav-group-task">
<a href="Enums/GREYLayoutDirection.html">GREYLayoutDirection</a>
</li>
<li class="nav-group-task">
<a href="Enums/GREYLayoutRelation.html">GREYLayoutRelation</a>
</li>
<li class="nav-group-task">
<a href="Enums/GREYPinchDirection.html">GREYPinchDirection</a>
</li>
<li class="nav-group-task">
<a href="Enums/GREYScrollErrorCode.html">GREYScrollErrorCode</a>
</li>
<li class="nav-group-task">
<a href="Enums/GREYTapType.html">GREYTapType</a>
</li>
<li class="nav-group-task">
<a href="Enums/GREYUIThreadExecutorErrorCode.html">GREYUIThreadExecutorErrorCode</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Protocols/GREYAction.html">GREYAction</a>
</li>
<li class="nav-group-task">
<a href="Protocols/GREYAssertion.html">GREYAssertion</a>
</li>
<li class="nav-group-task">
<a href="Protocols/GREYDescription.html">GREYDescription</a>
</li>
<li class="nav-group-task">
<a href="Protocols/GREYFailureHandler.html">GREYFailureHandler</a>
</li>
<li class="nav-group-task">
<a href="Protocols/GREYIdlingResource.html">GREYIdlingResource</a>
</li>
<li class="nav-group-task">
<a href="Protocols/GREYInteraction.html">GREYInteraction</a>
</li>
<li class="nav-group-task">
<a href="Protocols/GREYMatcher.html">GREYMatcher</a>
</li>
<li class="nav-group-task">
<a href="Protocols/GREYProvider.html">GREYProvider</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Type Definitions.html">Type Definitions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Type Definitions.html#/c:GREYElementMatcherBlock.h@T@DescribeToBlock">DescribeToBlock</a>
</li>
<li class="nav-group-task">
<a href="Type Definitions.html#/c:GREYAssertionBlock.h@T@GREYCheckBlockWithError">GREYCheckBlockWithError</a>
</li>
<li class="nav-group-task">
<a href="Type Definitions.html#/c:GREYUIThreadExecutor.h@T@GREYExecBlock">GREYExecBlock</a>
</li>
<li class="nav-group-task">
<a href="Type Definitions.html#/c:GREYActionBlock.h@T@GREYPerformBlock">GREYPerformBlock</a>
</li>
<li class="nav-group-task">
<a href="Type Definitions.html#/c:GREYElementMatcherBlock.h@T@MatchesBlock">MatchesBlock</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Functions.html">Functions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Functions.html#/c:@F@NSStringFromGREYContentEdge">NSStringFromGREYContentEdge</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@NSStringFromGREYDirection">NSStringFromGREYDirection</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@NSStringFromGREYLayoutAttribute">NSStringFromGREYLayoutAttribute</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@NSStringFromGREYLayoutRelation">NSStringFromGREYLayoutRelation</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@NSStringFromPinchDirection">NSStringFromPinchDirection</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@NSStringFromUIAccessibilityTraits">NSStringFromUIAccessibilityTraits</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@NSStringFromUIDeviceOrientation">NSStringFromUIDeviceOrientation</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_accessibilityElement">grey_accessibilityElement</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_accessibilityFocused">grey_accessibilityFocused</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_accessibilityHint">grey_accessibilityHint</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_accessibilityID">grey_accessibilityID</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_accessibilityLabel">grey_accessibilityLabel</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_accessibilityTrait">grey_accessibilityTrait</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_accessibilityValue">grey_accessibilityValue</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_allOf">grey_allOf</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_allOfMatchers">grey_allOfMatchers</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_ancestor">grey_ancestor</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_anyOf">grey_anyOf</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_anyOfMatchers">grey_anyOfMatchers</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_anything">grey_anything</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_buttonTitle">grey_buttonTitle</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_clearText">grey_clearText</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_closeTo">grey_closeTo</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_conformsToProtocol">grey_conformsToProtocol</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_createImagePixelDataFromCGImageRef">grey_createImagePixelDataFromCGImageRef</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_datePickerValue">grey_datePickerValue</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_descendant">grey_descendant</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_doubleTap">grey_doubleTap</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_doubleTapAtPoint">grey_doubleTapAtPoint</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_enabled">grey_enabled</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_equalTo">grey_equalTo</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_execute_async">grey_execute_async</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_execute_sync">grey_execute_sync</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_firstResponder">grey_firstResponder</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_getFailureHandler">grey_getFailureHandler</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_greaterThan">grey_greaterThan</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_interactable">grey_interactable</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_javaScriptExecution">grey_javaScriptExecution</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_keyWindow">grey_keyWindow</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_kindOfClass">grey_kindOfClass</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_layout">grey_layout</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_lessThan">grey_lessThan</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_longPress">grey_longPress</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_longPressAtPointWithDuration">grey_longPressAtPointWithDuration</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_longPressWithDuration">grey_longPressWithDuration</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_minimumVisiblePercent">grey_minimumVisiblePercent</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_moveSliderToValue">grey_moveSliderToValue</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_multiFingerSwipeFastInDirection">grey_multiFingerSwipeFastInDirection</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_multiFingerSwipeFastInDirectionWithStartPoint">grey_multiFingerSwipeFastInDirectionWithStartPoint</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_multiFingerSwipeSlowInDirection">grey_multiFingerSwipeSlowInDirection</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_multiFingerSwipeSlowInDirectionWithStartPoint">grey_multiFingerSwipeSlowInDirectionWithStartPoint</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_multipleTapsWithCount">grey_multipleTapsWithCount</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_nil">grey_nil</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_not">grey_not</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_notNil">grey_notNil</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_notVisible">grey_notVisible</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_pickerColumnSetToValue">grey_pickerColumnSetToValue</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_pinchFastInDirectionAndAngle">grey_pinchFastInDirectionAndAngle</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_pinchSlowInDirectionAndAngle">grey_pinchSlowInDirectionAndAngle</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_progress">grey_progress</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_replaceText">grey_replaceText</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_respondsToSelector">grey_respondsToSelector</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_scrollInDirection">grey_scrollInDirection</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_scrollInDirectionWithStartPoint">grey_scrollInDirectionWithStartPoint</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_scrollToContentEdge">grey_scrollToContentEdge</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_scrollToContentEdgeWithStartPoint">grey_scrollToContentEdgeWithStartPoint</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_scrollViewContentOffset">grey_scrollViewContentOffset</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_scrolledToContentEdge">grey_scrolledToContentEdge</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_selected">grey_selected</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_setDate">grey_setDate</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_setPickerColumnToValue">grey_setPickerColumnToValue</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_setStepperValue">grey_setStepperValue</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_sliderValueMatcher">grey_sliderValueMatcher</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_snapshot">grey_snapshot</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_stepperValue">grey_stepperValue</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_sufficientlyVisible">grey_sufficientlyVisible</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_swipeFastInDirection">grey_swipeFastInDirection</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_swipeFastInDirectionWithStartPoint">grey_swipeFastInDirectionWithStartPoint</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_swipeSlowInDirection">grey_swipeSlowInDirection</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_swipeSlowInDirectionWithStartPoint">grey_swipeSlowInDirectionWithStartPoint</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_switchWithOnState">grey_switchWithOnState</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_systemAlertViewShown">grey_systemAlertViewShown</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_tap">grey_tap</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_tapAtPoint">grey_tapAtPoint</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_text">grey_text</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_textFieldValue">grey_textFieldValue</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_turnSwitchOn">grey_turnSwitchOn</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_typeText">grey_typeText</a>
</li>
<li class="nav-group-task">
<a href="Functions.html#/c:@F@grey_userInteractionEnabled">grey_userInteractionEnabled</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1 id='earlgrey' class='heading'>EarlGrey</h1>
<p><a href="https://github.com/google/EarlGrey/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-Apache%202-lightgrey.svg?style=flat" alt="Apache License"></a>
<a href="https://github.com/google/EarlGrey/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-CC%20BY%204.0-lightgrey.svg" alt="CC-BY 4.0 License"></a>
<a href="https://travis-ci.org/google/EarlGrey"><img src="https://travis-ci.org/google/EarlGrey.svg?branch=master" alt="Build Status"></a>
<a href="https://github.com/Carthage/Carthage"><img src="https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat" alt="Carthage compatible"></a>
<a href="https://cocoapods.org/pods/EarlGrey"><img src="https://img.shields.io/cocoapods/v/EarlGrey.svg?maxAge=2592000" alt="CocoaPods"></a>
<a href="https://rubygems.org/gems/earlgrey"><img src="https://badge.fury.io/rb/earlgrey.svg" alt="Gem Version"></a></p>
<p>EarlGrey is a native iOS UI automation test framework that enables you to write
clear, concise tests.</p>
<p>With the EarlGrey framework, you have access to enhanced synchronization
features. EarlGrey automatically synchronizes with the UI, network requests,
and various queues; but still allows you to manually implement customized
timings, if needed.</p>
<p>EarlGrey’s synchronization features help to ensure that the UI is in a steady
state before actions are performed. This greatly increases test stability and
makes tests highly repeatable.</p>
<p>EarlGrey works in conjunction with the XCTest framework and integrates with
Xcode’s Test Navigator so you can run tests directly from Xcode or the command
line (using xcodebuild).</p>
<h2 id='getting-started' class='heading'>Getting Started</h2>
<p>The EarlGrey documentation for users is located in the
<a href="https://github.com/google/EarlGrey/tree/master/docs">EarlGrey/docs</a> folder.
To get started, review the EarlGrey features, check for backward compatibility,
and then install/run EarlGrey with your test target. After everything is
configured, take a look at the EarlGrey API and start writing your own tests.</p>
<ul>
<li><a href="https://github.com/google/EarlGrey/tree/master/docs/features.md">Features</a></li>
<li><a href="https://github.com/google/EarlGrey/tree/master/docs/backward-compatibility.md">Backward Compatibility</a></li>
<li><a href="https://github.com/google/EarlGrey/tree/master/docs/install-and-run.md">Install and Run</a></li>
<li><a href="https://github.com/google/EarlGrey/tree/master/docs/api.md">API</a></li>
<li><a href="https://github.com/google/EarlGrey/tree/master/docs/cheatsheet/cheatsheet.png">Cheat Sheet</a></li>
</ul>
<h2 id='getting-help' class='heading'>Getting Help</h2>
<p>If you need help, several resources are available. First check the <a href="https://github.com/google/EarlGrey/tree/master/docs/faq.md">FAQ</a>.
If you have more questions after reading the FAQ, see <a href="https://github.com/google/EarlGrey/tree/master/docs/known-issues.md">Known Issues</a>.
You can bring more specific issues to our attention by asking them on
<a href="http://stackoverflow.com/">stackoverflow.com</a> using the <a href="http://stackoverflow.com/questions/tagged/earlgrey">#earlgrey tag</a>.
You can also start new discussions with us on our <a href="https://groups.google.com/forum/#!forum/earlgrey-discuss">Google group</a>
or request to join our <a href="https://googleoss.slack.com/messages/earlgrey">slack channel</a>.</p>
<ul>
<li><a href="https://github.com/google/EarlGrey/tree/master/docs/faq.md">FAQ - Frequently Asked Questions</a></li>
<li><a href="https://github.com/google/EarlGrey/tree/master/docs/ifaq.md">IFAQ - Infrequently Asked Questions</a></li>
<li><a href="https://github.com/google/EarlGrey/tree/master/docs/known-issues.md">Known Issues</a></li>
<li><a href="http://stackoverflow.com/questions/tagged/earlgrey">Stack Overflow</a></li>
<li><a href="https://googleoss.slack.com/messages/earlgrey">Slack</a></li>
<li><a href="https://groups.google.com/forum/#!forum/earlgrey-discuss">Google Group</a></li>
</ul>
<h2 id='analytics' class='heading'>Analytics</h2>
<p>To prioritize and improve EarlGrey, the framework collects usage data and
uploads it to Google Analytics. More specifically, the framework collects the
<strong>MD5 hash</strong> of <em>Bundle ID</em>, <em>Test Class Names</em> and <em>Test Method Names</em>. This
information allows us to measure the volume of usage. For more detailed
information about our analytics collection, please peruse the
<a href="https://github.com/google/EarlGrey/tree/master/EarlGrey/Common/GREYAnalytics.m">GREYAnalytics.m</a>
file which contains the implementation details. If they wish, users can choose
to opt out by disabling the Analytics config setting in their test’s
<code>- (void)setUp</code> method:</p>
<p>In Objective-C:</p>
<pre class="highlight objective_c"><code><span class="c1">// Disable analytics.
</span><span class="p">[[</span><span class="n">GREYConfiguration</span> <span class="nf">sharedInstance</span><span class="p">]</span> <span class="nf">setValue</span><span class="p">:</span><span class="err">@</span><span class="p">(</span><span class="nb">NO</span><span class="p">)</span> <span class="nf">forConfigKey</span><span class="p">:</span><span class="n">kGREYConfigKeyAnalyticsEnabled</span><span class="p">];</span>
</code></pre>
<p>In Swift:</p>
<pre class="highlight swift"><code><span class="c1">// Disable analytics.</span>
<span class="kt">GREYConfiguration</span><span class="o">.</span><span class="nf">sharedInstance</span><span class="p">()</span><span class="o">.</span><span class="nf">setValue</span><span class="p">(</span><span class="kc">false</span><span class="p">,</span> <span class="nv">forConfigKey</span><span class="p">:</span> <span class="n">kGREYConfigKeyAnalyticsEnabled</span><span class="p">)</span>
</code></pre>
<h2 id='for-contributors' class='heading'>For Contributors</h2>
<p>Please make sure you’ve followed the guidelines in
<a href="https://github.com/google/EarlGrey/tree/master/CONTRIBUTING.md">CONTRIBUTING.md</a> before making any contributions.</p>
<h3 id='setup-an-earlgrey-project' class='heading'>Setup an EarlGrey Project</h3>
<ol>
<li><p>Clone the EarlGrey repository from GitHub:</p>
<p>git clone <a href="https://github.com/google/EarlGrey.git">https://github.com/google/EarlGrey.git</a></p></li>
<li><p>After you have cloned the EarlGrey repository, download all the dependencies
using <a href="https://github.com/google/EarlGrey/tree/master/Scripts/setup-earlgrey.sh"><strong>setup-earlgrey.sh</strong></a>.</p></li>
<li><p>After the script completes successfully, open <code>EarlGrey.xcodeproj</code> and ensure that all
the targets build.</p></li>
<li><p>You can now use <code>EarlGrey.xcodeproj</code> to make changes to the framework.</p></li>
</ol>
<h3 id='add-and-run-tests' class='heading'>Add and Run Tests</h3>
<h4 id='unit-tests' class='heading'>Unit Tests</h4>
<p>To add unit tests for EarlGrey, use <code>UnitTests.xcodeproj</code> located at
<code>Tests/UnitTests</code>. To run all unit tests, select the <strong>UnitTests</strong> Scheme and press Cmd+U.</p>
<h4 id='functional-tests' class='heading'>Functional Tests</h4>
<p>To add functional tests for EarlGrey, use the <code>FunctionalTests.xcodeproj</code> located
at <code>Tests/FunctionalTests</code>. To run all functional tests, select the <strong>FunctionalTests</strong> Scheme and press Cmd+U.</p>
</section>
</section>
<section id="footer">
<p>Copyright 2017 Google Inc.</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.8.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>