有没有办法让键盘触发按钮按下?

问题描述:

我正在从模拟器的键盘上测试一个iOS应用程序,并希望键盘上的返回键可以按下屏幕上的按钮。有没有办法做到这一点?我可以使用Tab键在UITextField之间移动,并通过textFieldShouldReturn方法捕获Return键,但是我也在页面上有一个提交按钮,并且希望通过它进行巡游,而无需通过从键盘上触发鼠标进行查看。如果有办法将焦点移到按钮上,那么我可以像KevinDTimm所建议的那样使用空格键,这太棒了。虽然我可以通过带有Tab键的UITextFields移动焦点,但我不确定如何将焦点放到按钮上 - 此时Tab键不起作用。有没有办法让键盘触发按钮按下?

在此先感谢

从我的理解你有效地想要做一个自动化的UI测试。但在这种情况下,“你”是自动化。考虑这种方式会导致我达到ios-automated-tests-with-uiautomation,这可能无法直接解决您的问题,但可能是您应该记住的路径。

该博客引用苹果UI Automation Reference Collection其中规定:

使用UI自动化功能来编写锻炼你 应用程序的用户界面元素,因为它运行在连接的设备上测试脚本。您用 在JavaScript中编写测试,将UI Automation API调用为 以模拟用户交互。系统会将日志信息返回到主机电脑 。

IIRC,当你在在iOS模拟器

+0

这很有帮助,但我不确定如何将焦点放在按钮上,以便我可以打开空格键。我将修改我的问题以包含此内容。谢谢。 – StoneBreaker 2012-04-20 16:13:48

+0

难道你不能看到它吗? (它可能很难看,但重点应该去那里) – KevinDTimm 2012-04-20 16:24:41

+0

不,重点永远不会从标签键AFAICT到按钮。 – StoneBreaker 2012-04-20 18:34:16

如果重点是按钮一个按钮,空格键工作时,键盘会消失。你捕获了回报,为什么不直接调用与按钮相关的动作?

编辑:尝试在您的手机与蓝牙连接的键盘。那么你会得到这些活动吗?我认为模拟器只是使用键盘作为使用虚拟键盘的一种方式,而不是像蓝牙连接的那样。

+0

@Lou_Franco我会修改我的帖子,使我的情况更加清晰。键盘是物理的。我没有麻烦使虚拟键盘消失。我无法触发与物理键盘上的按钮关联的方法 - 无需鼠标。 – StoneBreaker 2012-04-20 18:29:18

+0

@Lou - 他在模拟器中进行测试 – KevinDTimm 2012-04-20 18:41:45

+0

当您使用模拟器时,并不意味着您的键盘始终处于活动状态 - 您可以在虚拟键盘显示时使用它。如果你想模拟如果一个蓝牙键盘连接到手机(并因此可以随时发送密钥)意味着什么,我不确定这在你的模拟器中是否适用。 – 2012-04-20 18:50:01