2016-07-22 3 views
2

이것은 UITests에서 UITextFieldsUITextViews을 지우는 방법입니다. 사용커서를 UITest 아래의 UITextView 끝에 놓으십시오.

extension XCUIElement { 

    func clear() { 

     tap() 

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

예 : 나는 UITests을 실행하면

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

, 그것은 항상 UITextView의 시작 부분에 누릅니다.

마지막에 탭하는 방법?

답변

2

오른쪽 하단 모서리를 눌러 커서를 텍스트보기 끝에 놓을 수 있습니다.

XCUIKeyboardKeyDelete이 포함 된 deleteString을 준비하여 전체 텍스트 필드를 한 번에 지워서 삭제 속도를 향상시킬 수 있습니다.

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("")) 
    } 
}