我正在使用 Kif 并尝试使用文本字段和添加按钮创建一些数据
如果我使用此代码一次:
- (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)];
}
我得到这个错误:
The step timed out after 10.00 seconds: Accessibility element with
label "Write your phrase (use # to create tags)" is not tappable. It
may be blocked by other views.
(如你所见“写下你的短语(使用 # 创建标签)”= TBP_TFL_WRITE_YOUR_TEXT )
有什么想法吗?
Best Answer-推荐答案 strong>
而不是
[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)];
为了便于解释,假设您第一次输入“first”,第二次输入“second”。
我不完全确定该错误,但我知道测试会失败,因为如果您不先清除文本字段,您将添加到第一个条目。这意味着文本字段现在将显示“firstsecond”。在 KIF 第二次将文本放入文本字段后,它会检查“second”,但它不会找到它,因为文本字段实际上包含“firstsecond”,所以它会失败。
关于ios - 如何使用 KIF 在同一文本字段中输入文本,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/32076386/
|