如何以编程方式点击iOS键盘上的一个点
我正在使用KIF来自动化我的应用程序,而我正在尝试自动将某些内容input到UISearchBar
并进行search。 不幸的是,我没有find一个令人满意的方式来做到这一点,通过编程的方式点击searchbutton后,我已经input了我的search文本。
所以相反,我只是简单地使用KIF的tapScreenAtPoint方法。 该方法的问题是,它执行以下操作:
CGPoint windowPoint = [window convertPoint:screenPoint fromView:nil]; view = [window hitTest:windowPoint withEvent:nil];
它期望的水龙头实际上触摸一个视图..由于键盘显然不是一个视图,这个testing将无法触发键盘上的searchbutton。
如何以编程方式点击键盘上的button? 我认为这对于任何自动化testing套件都是非常有用的。
这听起来像是在尝试点击键盘上的“search”button。 返回键上的辅助function标签不遵循任何种类的理智模式。 查看可访问性检查器,您会看到“SEARCH”,但在所有操作系统版本上可能不一致。
更新
您可以通过将\n
添加到您的enterText...
来触发searchbuttonenterText...
[tester enterTextIntoCurrentFirstResponder:@"query\n"];
正确的方法是使用:
[tester clearTextFromAndThenEnterText:@"sample test" intoViewWithAccessibilityLabel:@"SearchField"];
[tester waitForViewWithAccessibilityLabel:@"search"];
[tester tapViewWithAccessibilityLabel:@"search"];
在这种情况下,返回键的辅助function标签是“search”,您可以使用辅助function检查器应用程序对其进行validation。
但要小心,如果要添加以大写字母结尾的文本,则不会按“返回键”(search / done / return / whatever),例如:
“样本testing”
即使您尝试使用“tapScreenAtPoint”方法,也会按下“shift”button,而“返回”button不会。
它发生在我身上,让我疯狂了很长一段时间,直到我想清楚究竟是怎么回事。