GREYCondition
@interface GREYCondition : NSObject
A class for creating boolean conditions that can be waited on until the condition is satisfied or a timeout elapses.
Conditions are specified in the form of a block that returns a @c BOOL value indicating whether the condition is met.
-
Creates a condition with a block that should return @c YES when the condition is met.
Declaration
Objective-C
+ (instancetype)conditionWithName:(NSString *)name block:(BOOL (^)(void))conditionBlock;Parameters
nameA descriptive name for the condition
conditionBlockThe block that will be used to evaluate the condition.
Return Value
A new initialized GREYCondition instance.
-
@remark init is not an available initializer. Use the other initializers.
Declaration
Objective-C
- (instancetype)init; -
Initializes a condition with a block that should return @c YES when the condition is met.
Declaration
Objective-C
- (instancetype)initWithName:(NSString *)name block:(BOOL (^)(void))conditionBlock;Swift
init!(name: String!, block conditionBlock: (() -> Bool)!)Parameters
nameA descriptive name for the condition
conditionBlockThe block that will be used to evaluate the condition.
Return Value
The initialized instance.
-
Waits for the condition to be met until the specified @c seconds have elapsed.
Will poll the condition as often as possible on the main thread while still giving a fair chance for other sources and handlers to be serviced.
@remark Waiting on conditions with this method is very CPU intensive on the main thread. If you do not need to return immediately after the condition is met, the consider using GREYCondition::waitWithTimeout:pollInterval:
Declaration
Objective-C
- (BOOL)waitWithTimeout:(CFTimeInterval)seconds;Swift
func wait(withTimeout seconds: CFTimeInterval) -> BoolParameters
secondsAmount of time to wait for the condition to be met, in seconds.
Return Value
@c YES if the condition was met before the timeout, @c NO otherwise.
-
Waits for the condition to be met until the specified @c seconds have elapsed. Will poll the condition immediately and then no more than once every @c interval seconds. Will attempt to poll the condition as close as possible to every @c interval seconds.
@remark Will allow the main thread to sleep instead of busily checking the condition.
Declaration
Objective-C
- (BOOL)waitWithTimeout:(CFTimeInterval)seconds pollInterval:(CFTimeInterval)interval;Swift
func wait(withTimeout seconds: CFTimeInterval, pollInterval interval: CFTimeInterval) -> BoolParameters
secondsAmount of time to wait for the condition to be met, in seconds.
intervalThe minimum time that should elapse between checking the condition.
Return Value
@c YES if the condition was met before the timeout, @c NO otherwise.
-
Declaration
Objective-C
- (NSString *)name;Swift
func name() -> String!Return Value
Name of the condition.
View on GitHub
GREYCondition Class Reference