【问题标题】:Is there a way to make the keyboard trigger a button press?有没有办法让键盘触发按钮按下?
【发布时间】:2012-04-21 03:09:22
【问题描述】:

我正在通过键盘在模拟器中测试 iOS 应用程序,并希望通过键盘返回键来按下屏幕上的按钮。有没有办法做到这一点?我可以使用 Tab 键在 UITextField 之间移动,并通过 textFieldShouldReturn 方法捕获 Return 键,但我在页面上也有一个提交按钮,并且希望通过从键盘触发它而不使用鼠标来浏览它。如果有办法将焦点移到按钮上,以便我可以使用 KevinDTimm 建议的空格键,那就太好了。虽然我可以使用 Tab 键通过 UITextFields 移动焦点,但我只是不确定如何将焦点移到按钮上 - 此时选项卡不起作用。

提前致谢

【问题讨论】:

    标签: ios testing xcode4 uibutton


    【解决方案1】:

    据我了解,您实际上想要进行自动化 UI 测试。但在这种情况下,“你”是自动化。以这种方式思考它会将我引向ios-automated-tests-with-uiautomation,这可能无法直接解决您的问题,但可能是您应该走的路。

    此博客引用 Apples UI Automation Reference Collection,其中指出:

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

    【讨论】:

      【解决方案2】:

      IIRC,当您在 iOS 模拟器上的按钮上时,空格键会起作用

      【讨论】:

      • 这很有帮助,但我不知道如何将焦点放在按钮上以便我可以按空格键。我将修改我的问题以包含此内容。谢谢。
      • 你不能切换到它吗? (可能很难看,但重点应该去那里)
      • 不,焦点永远不会从 Tab 键 AFAICT 到达按钮。
      【解决方案3】:

      如果焦点在按钮上,键盘就会消失。您捕获了 Return,为什么不直接调用与按钮关联的操作?

      编辑:在您的手机上使用蓝牙连接键盘进行尝试。那你知道事件了吗?我认为模拟器只是使用键盘作为使用虚拟键盘的一种方式,而不是像蓝牙连接的那样。

      【讨论】:

      • @Lou_Franco 我将修改我的帖子以使我的情况更清楚。键盘是实体的。我没有遇到让虚拟键盘消失的问题。我无法从物理键盘触发与按钮关联的方法 - 无需使用鼠标。
      • @Lou - 他正在模拟器中测试
      • 当您使用模拟器时,这并不意味着您的键盘始终处于活动状态——您可以在虚拟键盘显示时使用它。如果您想模拟蓝牙键盘连接到手机意味着什么(因此可以随时发送密钥),我不确定这是否适合您在模拟器中。
      • @LouFranco 我认为您对此是正确的。感谢您花时间思考我的问题。
      猜你喜欢
      • 2020-04-23
      • 1970-01-01
      • 2020-02-18
      • 1970-01-01
      • 1970-01-01
      • 2012-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多