2016-07-22 12 views
2

So lösche ich UITextFields und UITextViews in UITests.Platzieren Sie den Cursor am Ende von UITextView unter UITest

extension XCUIElement { 

    func clear() { 

     tap() 

     while (value as! String).characters.count > 0 { 
     XCUIApplication().keys["delete"].tap() 
     } 
    } 
} 

Beispiel:

descriptionTextView.type("Something about Room.") 
descriptionTextView.clear() 

Wenn ich UITests laufen, tippen Sie immer am Anfang des UITextView.

Wie am Ende tippen?

Antwort

2

Sie können auf die untere rechte Ecke tippen, um den Cursor am Ende der Textansicht zu platzieren.

Zusätzlich können Sie die Löschgeschwindigkeit verbessern, indem Sie eine deleteString mit einer Nummer XCUIKeyboardKeyDelete vorbereiten, die gleichzeitig das gesamte Textfeld löscht.

extension XCUIElement { 
    func clear() { 
     guard let stringValue = self.value as? String else { 
      XCTFail("Tried to clear and enter text into a non string value") 
      return 
     } 

     let lowerRightCorner = self.coordinateWithNormalizedOffset(CGVectorMake(0.9, 0.9)) 
     lowerRightCorner.tap() 

     let deleteString = [String](count: stringValue.characters.count + 1, repeatedValue: XCUIKeyboardKeyDelete) 
     self.typeText(deleteString.joinWithSeparator("")) 
    } 
} 
Verwandte Themen