在EarlGrey中如何访问我正在与之交互的元素对象,例如我想要访问我刚刚点击的UIButton。
答案 0 :(得分:3)
EarlGrey没有返回(指向)元素,因为在交互完成后返回的视图/元素可能不存在,而且它可能导致难以检测错误,因为保持对视图的强引用可以修改视图的生命周期。但是,您可以在使用GREYActionBlock进行交互时访问该元素。
- (void)testFoo {
[[EarlGrey selectElementWithMatcher:grey_FooElementMatcher()]
performAction:[GREYActionBlock actionWithName:@"bar"
performBlock:^(id element, NSError *__strong *errorOrNil) {
[element doWhatever];
return YES; // Return YES for success, NO for failure.
}
]];
}