我正在使用Kif并尝试使用textfield和add-button创建一些数据
如果我使用此代码一次:
- (void)addTextItem
{
[tester enterText:[NSString stringWithFormat:@"Test text %@",[self randomStringWithLength:10]] intoViewWithAccessibilityLabel:NSLocalizedString(@"TBP_TFL_WRITE_YOUR_TEXT", nil)];
[tester waitAndTapTappableViewWithAccessibilityLabel:NSLocalizedString(@"TBP_BTN_ADD_TEXT", nil)];
}
效果很好。但是,如果我再次尝试使用相同的文本字段,例如:
- (void)addTextItem
{
[tester enterText:[NSString stringWithFormat:@"Test text %@",[self randomStringWithLength:10]] intoViewWithAccessibilityLabel:NSLocalizedString(@"TBP_TFL_WRITE_YOUR_TEXT", nil)];
[tester waitAndTapTappableViewWithAccessibilityLabel:NSLocalizedString(@"TBP_BTN_ADD_TEXT", nil)];
[tester enterText:[NSString stringWithFormat:@"Test text %@",[self randomStringWithLength:10]] intoViewWithAccessibilityLabel:NSLocalizedString(@"TBP_TFL_WRITE_YOUR_TEXT", nil)];
[tester waitAndTapTappableViewWithAccessibilityLabel:NSLocalizedString(@"TBP_BTN_ADD_TEXT", nil)];
}
我收到此错误:
步骤在10.00秒后超时:辅助功能元素 标签“写下你的短语(使用#创建标签)”是不可点击的。它 可能被其他观点阻止。
(如您所知“写下您的短语(使用#创建标签)”= TBP_TFL_WRITE_YOUR_TEXT
)
有什么想法吗?
答案 0 :(得分:1)
而不是
[tester enterText:[NSString stringWithFormat:@"Test text %@",[self randomStringWithLength:10]] intoViewWithAccessibilityLabel:NSLocalizedString(@"TBP_TFL_WRITE_YOUR_TEXT", nil)];
您想要使用
[tester clearTextFromAndThenEnterText:[NSString stringWithFormat:@"Test text %@",[self randomStringWithLength:10]] intoViewWithAccessibilityLabel:NSLocalizedString(@"TBP_TFL_WRITE_YOUR_TEXT", nil)];
出于我的解释目的,我们可以说第一次进入"第一次"第二次进入"第二次"。
我不完全确定该错误,但我确实知道测试会失败,因为如果您没有先清除文本字段,那么您将添加到第一个条目。这意味着文本字段现在会说" firstsecond"。 KIF将文本放入文本字段后第二次检查"秒"但它找不到它,因为文本字段实际上包含" firstsecond"所以它会失败。