我正在尝试从文本视图中删除以前的值,但由于光标始终位于文本视图的开头,因此无法使用。我正在使用
extension XCUIElement {
/**
Removes any current text in the field before typing in the new value
- Parameter text: the text to enter into the field
*/
func clearAndEnterText(text: String) -> Void {
guard let stringValue = self.value as? String else {
XCTFail("Tried to clear and enter text into a non string value")
return
}
self.tap()
let deleteString = stringValue.characters.map { _ in XCUIKeyboardKeyDelete }.joinWithSeparator("")
self.typeText(deleteString)
self.typeText(text)
}
}
答案 0 :(得分:2)
如果你不想依赖键盘而你没有使用剪贴板,你可以剪掉它:
extension XCUIApplication {
func clearTextOnElement(_ element: XCUIElement) {
element.doubleTap()
menuItems["Select All"].tap()
menuItems["Cut"].tap()
}
}
答案 1 :(得分:0)
在您的情况下,如果您双击文本文件并点击键盘上的删除按钮,则很容易。以下代码应该有效:
yourTextFieldElement.doubleTap()
app.keys["delete"].tap()