我正在使用KIF来自动化我的应用,并且我正在尝试自动将某些内容输入UISearchBar
并进行搜索。很遗憾,在我输入搜索文字后,通过以编程方式点击搜索按钮,我无法找到satisfactory way。
相反,我考虑过只使用KIF的tapScreenAtPoint方法。该方法的问题在于它执行以下操作:
CGPoint windowPoint = [window convertPoint:screenPoint fromView:nil];
view = [window hitTest:windowPoint withEvent:nil];
预计水龙头会实际触摸视图..由于键盘显然不是视图,因此测试无法触发键盘上的搜索按钮。
如何以编程方式点击键盘上的按钮?我认为这对任何自动化测试套件都非常有用。
答案 0 :(得分:4)
听起来你正试图点击键盘上的“搜索”按钮。返回键上的辅助功能标签不遵循任何理智模式。查看辅助功能检查器,您将看到“搜索”,但在所有操作系统版本上可能不一致。
<强>更新强>
您可以通过将\n
添加到enterText...
[tester enterTextIntoCurrentFirstResponder:@"query\n"];
答案 1 :(得分:2)
正确的方法是使用:
[tester clearTextFromAndThenEnterText:@"sample test" intoViewWithAccessibilityLabel:@"SearchField"];
[tester waitForViewWithAccessibilityLabel:@"search"];
[tester tapViewWithAccessibilityLabel:@"search"];
返回键的辅助功能标签是“搜索”,在这种情况下,您可以使用辅助功能检查器应用验证它。
但要注意,如果要添加以封面字母结尾的文本,则不会按下“返回键”(搜索/完成/返回/其他),例如:
“样本测试”
即使您尝试使用“tapScreenAtPoint”方法,也会按下“shift”按钮而“返回”按钮不会。
发生在我身上,让我疯了很久,直到我弄明白实际发生了什么。