2016-07-22 84 views
2

這就是我如何清除UITest中的UITextFieldsUITextViews。使用將光標置於UITextView的最後,位於UITest

extension XCUIElement { 

    func clear() { 

     tap() 

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

例子:

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

如果我運行UITests,它總是在挖掘的UITextView的開始。

如何挖掘最後?

回答

2

您可以點擊右下角將光標置於文本視圖的末尾。

此外,您可以通過準備包含XCUIKeyboardKeyDeletedeleteString一次性擦除整個文本字段來提高刪除速度。

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("")) 
    } 
} 
相關問題