使用UIAutomation禁用iOS模拟器的硬件键盘

Mat*_* Mc 6 keyboard simulator ios ios-ui-automation xcode6

我正在使用UIAutomation在iOS模拟器中进行一些自动化测试.

在Xcode 6中,iOS模拟器的键盘行为更改为类似于真实设备,现在有一个菜单项可以将Mac键盘连接/断开连接到模拟器:硬件>键盘>连接硬件键盘.

我不介意这一点,但连接Mac键盘时会发生的情况是模拟器将不再显示软件键盘.当您使用UIAutomation运行测试脚本UIATarget.localTarget().frontMostApp().keyboard().typeString("myString");时,即使您已将文本字段设置为第一个响应者,因此类似的调用也会失败,因为键盘不会出现.

这很烦人,因为如果我在模拟器中进行任何手动测试,我将需要记住在运行任何UIAutomation测试之前禁用硬件键盘,否则它们都会失败.

从UIAutomation JS脚本中有没有办法检查硬件键盘设置并禁用它们?或者,在执行UIAutomation脚本之前,从命令行执行此操作的任何方法?

Sof*_*ofa 4

如果我正确理解你的问题,你需要防弹的方式来输入文本。我只是使用 setValue 来实现这一点。像这样: UIATarget.localTarget().frontMostApp().textFields().Login.setValue('sofa');