私は実際に昨日これに遭遇しました。stepToTapViewWithAccessibilityLabel は、私のアプリのすべてでうまく機能しましたが、まったく機能しないボタンに遭遇しました。
それを回避するために、最終的には stepToTapScreenAtPoint を使用しました (これは特に好きではありません) が、問題なく動作するようです。また、カテゴリに void initialize メソッドを追加して、実行時にどのデバイスがテストを実行しているかを判断し、それに基づいて、どこをタップする必要があるかを正確に判断できるようにしました。
@implementation KIFTestStep (SLAdditions)
static CGPoint kButtonLocation;
+ (void)initialize
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
kButtonLocation = CGPointMake(498.0, 622.0);
else
kButtonLocation = CGPointMake(247.0, 316.0);
}
+ (NSArray *)stepsToDoSomething
{
NSMutableArray *steps = [NSMutableArray array];
[steps addObject:[KIFTestStep stepToWaitForTappableViewWithAccessibilityLabel:@"The Button Label"]];
[steps addObject:[KIFTestStep stepToTapScreenAtPoint:kButtonLocation]];
// Verify that tapping succeeded
[steps addObject:[KIFTestStep stepToWaitForAbsenceOfViewWithAccessibilityLabel:@"The Button Label"]];
return steps;
}