Xcode Swift UI测试 - 模拟器硬件键盘

时间:2016-05-31 18:28:56

标签: ios xcode ios-simulator xcode-ui-testing

我在xcode中使用swift自动进行UI测试,我需要始终禁用硬件键盘进行测试。有没有办法确保在没有人为干预的情况下禁用硬件键盘,即命令行脚本?这些UI测试将在构建服务器上运行,因此不希望手动启动模拟器并关闭硬件键盘。

我看过xcrun simctl选项与模拟器进行交互,但我无法弄清楚如何做我想做的事情。此外,我发现了一些SO帖子,表明我正在尝试做的事情是不可能的,但我不确定帖子是否正在询问我的要求。

我可以通过shell脚本为iOS模拟器设置硬件键盘吗?

2 个答案:

答案 0 :(得分:4)

有一个带有模拟器首选项的plist位于~/Library/Preferences

要更改它以关闭硬件键盘,请确保模拟器已关闭,然后运行此命令:

defaults write com.apple.iphonesimulator ConnectHardwareKeyboard -bool no

您可以在脚本中使用xcrun simctl选项来关闭模拟器。

答案 1 :(得分:3)

对于包括XCODE 11在内的Xcode的较新版本。这很好用。将其作为运行脚本添加到UITest目标的预操作中:

xcrun simctl shutdown ${TARGET_DEVICE_IDENTIFIER}
plutil -replace DevicePreferences.${TARGET_DEVICE_IDENTIFIER}.ConnectHardwareKeyboard -bool NO ~/Library/Preferences/com.apple.iphonesimulator.plist