How to use GREY_ASSERTION_DEFINES_H class

Best EarlGrey code snippet using GREY_ASSERTION_DEFINES_H

GREYAssertionDefines.h

Source:GREYAssertionDefines.h Github

copy

Full Screen

...18 * @brief Helper macros for performing assertions and throwing assertion failure exceptions.19 * On failure, these macros take screenshots and log full view hierarchy. They wait for app to idle20 * before performing the assertion.21 */22#ifndef GREY_ASSERTION_DEFINES_H23#define GREY_ASSERTION_DEFINES_H24#import "GREYUIThreadExecutor.h"25#import "GREYAssertionDefinesPrivate.h"26#import "GREYConfiguration.h"27#import "GREYFailureHandler.h"28#import "GREYFrameworkException.h"29#import "GREYDefines.h"30/**31 * These Macros are safe to call from anywhere within a testcase.32 */33#pragma mark - Public Macros34/**35 * Generates a failure unconditionally, with the provided @c __description.36 *37 * @param __description Description to print. May be a format string, in which case the variable38 * args will be required.39 * @param ... Variable args for @c __description if it is a format string.40 */41#define GREYFail(__description, ...) \42 ({ \43 I_GREYSetCurrentAsFailable(); \44 I_GREYFail((__description), ##__VA_ARGS__); \45 })46/**47 * Generates a failure unconditionally, with the provided @c __description and @c __details.48 *49 * @param __description Description to print.50 * @param __details The failure details. May be a format string, in which case the variable51 * args will be required.52 * @param ... Variable args for @c __description if it is a format string.53 */54#define GREYFailWithDetails(__description, __details, ...) \55 ({ \56 I_GREYSetCurrentAsFailable(); \57 I_GREYFailWithDetails((__description), (__details), ##__VA_ARGS__); \58 })59/**60 * Generates a failure with the provided @c __description if the expression @c __a1 evaluates to61 * @c NO.62 *63 * @param __a1 The expression that should be evaluated.64 * @param __description Description to print if @c __a1 evaluates to @c NO. May be a format65 * string, in which case the variable args will be required.66 * @param ... Variable args for @c __description if it is a format string.67 */68#define GREYAssert(__a1, __description, ...) \69 ({ \70 I_GREYSetCurrentAsFailable(); \71 NSString *timeoutString__ = @"Couldn't assert that (" #__a1 ") is true."; \72 I_GREYWaitForIdle(timeoutString__); \73 I_GREYAssertTrue((__a1), (__description), ##__VA_ARGS__); \74 })75/**76 * Generates a failure with the provided @c __description if the expression @c __a1 evaluates to77 * @c NO.78 *79 * @param __a1 The expression that should be evaluated.80 * @param __description Description to print if @c __a1 evaluates to @c NO. May be a format81 * string, in which case the variable args will be required.82 * @param ... Variable args for @c __description if it is a format string.83 */84#define GREYAssertTrue(__a1, __description, ...) \85 ({ \86 I_GREYSetCurrentAsFailable(); \87 NSString *timeoutString__ = @"Couldn't assert that (" #__a1 ") is true."; \88 I_GREYWaitForIdle(timeoutString__); \89 I_GREYAssertTrue((__a1), (__description), ##__VA_ARGS__); \90 })91/**92 * Generates a failure with the provided @c __description if the expression @c __a1 evaluates to93 * @c YES.94 *95 * @param __a1 The expression that should be evaluated.96 * @param __description Description to print if @c __a1 evaluates to @c NO. May be a format97 * string, in which case the variable args will be required.98 * @param ... Variable args for @c __description if it is a format string.99 */100#define GREYAssertFalse(__a1, __description, ...) \101 ({ \102 I_GREYSetCurrentAsFailable(); \103 NSString *timeoutString__ = @"Couldn't assert that (" #__a1 ") is false."; \104 I_GREYWaitForIdle(timeoutString__); \105 I_GREYAssertFalse((__a1), (__description), ##__VA_ARGS__); \106 })107/**108 * Generates a failure with the provided @c __description if the expression @c __a1 is @c nil.109 *110 * @param __a1 The expression that should be evaluated.111 * @param __description Description to print if @c __a1 is @c nil. May be a format112 * string, in which case the variable args will be required.113 * @param ... Variable args for @c __description if it is a format string.114 */115#define GREYAssertNotNil(__a1, __description, ...) \116 ({ \117 I_GREYSetCurrentAsFailable(); \118 NSString *timeoutString__ = @"Couldn't assert that (" #__a1 ") is not nil."; \119 I_GREYWaitForIdle(timeoutString__); \120 I_GREYAssertNotNil((__a1), (__description), ##__VA_ARGS__); \121 })122/**123 * Generates a failure with the provided @c __description if the expression @c __a1 is not @c nil.124 *125 * @param __a1 The expression that should be evaluated.126 * @param __description Description to print if @c __a1 is not @c nil. May be a format127 * string, in which case the variable args will be required.128 * @param ... Variable args for @c __description if it is a format string.129 */130#define GREYAssertNil(__a1, __description, ...) \131 ({ \132 I_GREYSetCurrentAsFailable(); \133 NSString *timeoutString__ = @"Couldn't assert that (" #__a1 ") is nil."; \134 I_GREYWaitForIdle(timeoutString__); \135 I_GREYAssertNil((__a1), (__description), ##__VA_ARGS__); \136 })137/**138 * Generates a failure with the provided @c __description if the expression @c __a1 and139 * the expression @c __a2 are not equal.140 * @c __a1 and @c __a2 must be scalar types.141 *142 * @param __a1 The left hand scalar value on the equality operation.143 * @param __a2 The right hand scalar value on the equality operation.144 * @param __description Description to print if @c __a1 and @c __a2 are not equal. May be a format145 * string, in which case the variable args will be required.146 * @param ... Variable args for @c __description if it is a format string.147 */148#define GREYAssertEqual(__a1, __a2, __description, ...) \149 ({ \150 I_GREYSetCurrentAsFailable(); \151 NSString *timeoutString__ = @"Couldn't assert that (" #__a1 ") and (" #__a2 ") are equal."; \152 I_GREYWaitForIdle(timeoutString__); \153 I_GREYAssertEqual((__a1), (__a2), (__description), ##__VA_ARGS__); \154 })155/**156 * Generates a failure with the provided @c __description if the expression @c __a1 and157 * the expression @c __a2 are equal.158 * @c __a1 and @c __a2 must be scalar types.159 *160 * @param __a1 The left hand scalar value on the equality operation.161 * @param __a2 The right hand scalar value on the equality operation.162 * @param __description Description to print if @c __a1 and @c __a2 are equal. May be a format163 * string, in which case the variable args will be required.164 * @param ... Variable args for @c __description if it is a format string.165 */166#define GREYAssertNotEqual(__a1, __a2, __description, ...) \167 ({ \168 I_GREYSetCurrentAsFailable(); \169 NSString *timeoutString__ = \170 @"Couldn't assert that (" #__a1 ") and (" #__a2 ") are not equal."; \171 I_GREYWaitForIdle(timeoutString__); \172 I_GREYAssertNotEqual((__a1), (__a2), (__description), ##__VA_ARGS__); \173 })174/**175 * Generates a failure with the provided @c __description if the expression @c __a1 and176 * the expression @c __a2 are not equal.177 * @c __a1 and @c __a2 must be descendants of NSObject and will be compared with method isEqual.178 *179 * @param __a1 The left hand object on the equality operation.180 * @param __a2 The right hand object on the equality operation.181 * @param __description Description to print if @c __a1 and @c __a2 are not equal. May be a format182 * string, in which case the variable args will be required.183 * @param ... Variable args for @c __description if it is a format string.184 */185#define GREYAssertEqualObjects(__a1, __a2, __description, ...) \186 ({ \187 I_GREYSetCurrentAsFailable(); \188 NSString *timeoutString__ = \189 @"Couldn't assert that (" #__a1 ") and (" #__a2 ") are equal objects."; \190 I_GREYWaitForIdle(timeoutString__); \191 I_GREYAssertEqualObjects((__a1), (__a2), __description, ##__VA_ARGS__); \192 })193/**194 * Generates a failure with the provided @c __description if the expression @c __a1 and195 * the expression @c __a2 are equal.196 * @c __a1 and @c __a2 must be descendants of NSObject and will be compared with method isEqual.197 *198 * @param __a1 The left hand object on the equality operation.199 * @param __a2 The right hand object on the equality operation.200 * @param __description Description to print if @c __a1 and @c __a2 are equal. May be a format201 * string, in which case the variable args will be required.202 * @param ... Variable args for @c __description if it is a format string.203 */204#define GREYAssertNotEqualObjects(__a1, __a2, __description, ...) \205 ({ \206 I_GREYSetCurrentAsFailable(); \207 NSString *timeoutString__ = \208 @"Couldn't assert that (" #__a1 ") and (" #__a2 ") are not equal objects."; \209 I_GREYWaitForIdle(timeoutString__); \210 I_GREYAssertNotEqualObjects((__a1), (__a2), (__description), ##__VA_ARGS__); \211 })212#pragma mark - Private Macros213/**214 * THESE ARE METHODS TO BE CALLED BY THE FRAMEWORK ONLY.215 * DO NOT CALL OUTSIDE FRAMEWORK216 */217/// @cond INTERNAL218// No private macro should call this.219#define I_GREYWaitForIdle(__timeoutDescription) \220 ({ \221 CFTimeInterval interactionTimeout__ = \222 GREY_CONFIG_DOUBLE(kGREYConfigKeyInteractionTimeoutDuration); \223 NSError *error__; \224 BOOL success__ = \225 [[GREYUIThreadExecutor sharedInstance] executeSyncWithTimeout:interactionTimeout__ \226 block:nil \227 error:&error__]; \228 if (!success__) { \229 I_GREYTimeout(__timeoutDescription, @"Timed out waiting for app to idle. %@", error__); \230 } \231 })232/// @endcond233#endif // GREY_ASSERTION_DEFINES_H...

Full Screen

Full Screen

GREY_ASSERTION_DEFINES_H

Using AI Code Generation

copy

Full Screen

1#import <EarlGrey/GREYAssertionDefines.h>2#import <EarlGrey/GREYMatcherDefines.h>3#import <EarlGrey/GREYInteraction.h>4#import <EarlGrey/GREYElementInteraction.h>5#import <EarlGrey/GREYUIThreadExecutor.h>6#import <EarlGrey/GREYActionBlock.h>7#import <EarlGrey/GREYAction.h>8#import <EarlGrey/GREYAssertionBlock.h>9#import <EarlGrey/GREYAssertion.h>10#import <EarlGrey/GREYMatcherBlock.h>11#import <EarlGrey/GREYMatcher.h>12#import <EarlGrey/GREYCondition.h>13#import <EarlGrey/GREYFailureHandler.h>14#import <EarlGrey/GREYFailureHandler.h>15#import <EarlGrey/GREYFailureHandler.h>

Full Screen

Full Screen

GREY_ASSERTION_DEFINES_H

Using AI Code Generation

copy

Full Screen

1#import <EarlGrey/GREYAssertionDefines.h>2#import <EarlGrey/GREYAssertions.h>3#import <EarlGrey/GREYCondition.h>4#import <EarlGrey/GREYConfiguration.h>5#import <EarlGrey/GREYConstants.h>6#import <EarlGrey/GREYDefines.h>7#import <EarlGrey/GREYElementInteraction.h>8#import <EarlGrey/GREYElementMatcherBlock.h>9#import <EarlGrey/GREYFailureHandler.h>10#import <EarlGrey/GREYFailureHandler+Internal.h>11#import <EarlGrey/GREYFailureHandler+Private.h>12#import <EarlGrey/GREYFailureHandler.h>13#import <EarlGrey/GREYFailureHandler+Internal.h>14#import <EarlGrey/GREYFailureHandler+Private.h>15#import <EarlGrey/GREYFrameworkException.h>16#import <EarlGrey/GREYHostBackgroundDistantObject.h>

Full Screen

Full Screen

GREY_ASSERTION_DEFINES_H

Using AI Code Generation

copy

Full Screen

1 block:^BOOL{2 [[EarlGrey selectElementWithMatcher:grey_accessibilityID(@"identifier")]3 assertWithMatcher:grey_sufficientlyVisible()];4 return YES;5}];6BOOL success = [condition waitWithTimeout:30];7GREYAssert(success, @"Failed to assert element is visible.");8#import <EarlGrey/EarlGrey.h>9#import <EarlGrey/EarlGrey.h>10#import <XCTest/XCTest.h>11- (void)testEarlGrey {12 [[EarlGrey selectElementWithMatcher:grey_accessibilityID(@"identifier")]13 assertWithMatcher:grey_sufficientlyVisible()];14}

Full Screen

Full Screen

GREY_ASSERTION_DEFINES_H

Using AI Code Generation

copy

Full Screen

1#import "GREYAssertionDefines.h"2@interface XCUIElement (GREYAssertions)3- (void)assertWithMatcher:(id<GREYMatcher>)matcher;4- (void)assertWithMatcher:(id<GREYMatcher>)matcher5 details:(NSString *)details;6- (void)assertWithMatcher:(id<GREYMatcher>)matcher7 details:(NSString *)details8 file:(NSString *)fileName9 line:(NSUInteger)lineNumber;10#import "objc.h"11@implementation XCUIElement (GREYAssertions)12- (void)assertWithMatcher:(id<GREYMatcher>)matcher {13 [self assertWithMatcher:matcher details:nil];14}15- (void)assertWithMatcher:(id<GREYMatcher>)matcher16 details:(NSString *)details {17 [self assertWithMatcher:matcher details:details file:nil line:0];18}19- (void)assertWithMatcher:(id<GREYMatcher>)matcher20 details:(NSString *)details21 file:(NSString *)fileName22 line:(NSUInteger)lineNumber {23 constraints:nil];24}25- (void)assertWithMatcher:(id<GREYMatcher>)matcher26 details:(NSString *)details27 file:(NSString *)fileName28 line:(NSUInteger)lineNumber29 constraints:(id<GREYMatcher>)constraints {30 GREYThrowOnNilParameter(matcher);31 GREYThrowOnNilParameter(details);32 GREYThrowOnNilParameter(fileName);33 GREYThrowOnNilParameter(constraints);34 GREYElementInteraction *interaction = [self grey_interactionWithMatcher:matcher];35 if (details) {36 interaction = [interaction withDetails:details];37 }38 if (fileName) {39 interaction = [interaction inFile:fileName atLine:lineNumber];40 }41 if (constraints) {42 interaction = [interaction withConstraints:constraints];43 }44 [interaction assert];45}46#import <EarlGrey/GREYElementInteraction.h>47@interface XCUIElement (GREYAssertions)48- (void)assertWithMatcher:(id<GREYMatcher>)matcher;49- (void)assertWithMatcher:(id<GREYMatcher>)matcher50 details:(NSString *)details;51- (void)assertWithMatcher:(id

Full Screen

Full Screen

GREY_ASSERTION_DEFINES_H

Using AI Code Generation

copy

Full Screen

1#import <Foundation/Foundation.h>2+ (void)assert:(BOOL)condition3 message:(NSString *)message;4+ (void)failWithException:(NSException *)exception;5#import "EarlGreyAssertionHandler.h"6+ (void)assert:(BOOL)condition7 message:(NSString *)message {8 GREY_ASSERT(condition, message);9}10+ (void)failWithException:(NSException *)exception {11 GREY_FAIL(exception.reason);12}13#import <XCTest/XCTest.h>14#import "EarlGreyAssertionHandler.h"15- (void)testEarlGreyAssertionHandler {16 [EarlGreyAssertionHandler assert:NO message:@"test"];17}

Full Screen

Full Screen

GREY_ASSERTION_DEFINES_H

Using AI Code Generation

copy

Full Screen

1#import "GREYAssertions.h" 2#import "GREYAssertionDefines.h" 3#import "EarlGrey.h" 4#import "GREYElementInteraction.h" 5#import "GREYElementFinder.h" 6#import "GREYElementMatcherBlock.h" 7#import "GREYElementMatcher.h" 8#import "GREYMatchers.h" 9#import "GREYAllOf.h" 10#import "GREYAnyOf.h" 11#import "GREYNot.h" 12#import "GREYMatcher.h" 13#import "GREYMatcherBlock.h" 14#import "GREYElementInteraction.h" 15#import "GREYElementFinder.h" 16#import "GREYElementMatcherBlock.h" 17#import "GREYElementMatcher.h" 18#import "GREYMatchers.h" 19#import "GREYAllOf.h" 20#import "GREYAnyOf.h" 21#import "GREYNot.h" 22#import "GREYMatcher.h" 23#import "GREYMatcherBloc

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful