在XCTest内部的XCUIElementQuery类下面,有许多常量,其上面的文档说明指出:
Constants for use with -[XCUIElement typeKey:modifierFlags:],representing keys that have no textual representation. These comprise the set of control,function,and modifier keys found on most keyboards.
显然,似乎应该有一个名为typeKey的XCUIElement方法:modifierFlags:,如注释所述.但是,我似乎无法在文档中的任何位置找到此方法.利用前面提到的常量,我也没有看到任何替代这种行为的方法.以下是我有兴趣使用的常量的部分列表:
let XCUIKeyboardKeyDelete: String let XCUIKeyboardKeyReturn: String let XCUIKeyboardKeyTab: String let XCUIKeyboardKeyCommand: String
作为未来Xcode 7版本的一部分,这段代码是否为时尚早,可能会在稍后完成?
最后,我希望能够键入cmd a然后使用XCUIKeyboardKeyDelete删除给定XCUIElement的内容.如果Xcode 7 UI Testing目前有很好的替代方案,我很乐意学习.
– > Swift 2.0 beta 4
解决方法
您可以将XCUIElement.typeText(text:String)与XCUIKeyboardKeyDelete一起使用.
例如,当文本字段不为空时:
textField.tapWithNumberOfTaps(2,numberOftouches: 1) app.menuItems["Select All"].tap() textField.typeText(XCUIKeyboardKeyDelete)