Went through the same problem. Found a simple solution to add a prescript in the UI tests scheme.
First, this is image of the plist file opened with Xcode. This is located at ~/Library/Preferences/com.apple.iphonesimulator.plist
Now here is the prescript I added to my ui tests scheme. Read the comments in script for further explanation.
killall Simulator
defaults write com.apple.iphonesimulator ConnectHardwareKeyboard -bool false
How it works
First the simulator is killed. Next the "defaults" command writes the key/value into the simulators plist. Now when the tests start, they launch the simulator which takes into account the value we wrote in plist.
Hope it works for you too. :)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…