2

我正在使用 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)];
}

我收到此错误:

该步骤在 10.00 秒后超时:带有标签“写你的短语(使用 # 来创建标签)”的辅助功能元素不可点击。它可能会被其他视图阻止。

(正如你所理解的“写下你的短语(使用 # 来创建标签)”= TBP_TFL_WRITE_YOUR_TEXT

有任何想法吗?

4

1 回答 1

2

代替

[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 第二次将文本放入文本字​​段后,它将检查“第二”,但它不会找到它,因为文本字段实际上包含“第一秒”,因此它会失败。

于 2015-09-17T08:28:31.137 回答