2017-11-27 3 views
0

XCTest 프레임 워크를 배우고 있습니다. 나는 텍스트 필드가 숫자 값을 받아들이는지 아닌지를 테스트하려고한다. 그러나 XCTest는 텍스트 필드를 찾을 수 없습니다.XCTest에서 텍스트 필드를 찾을 수 없습니다.

XCUIApplication().textFields["name"].typeText("123") 
XCTAssertEqual(XCUIApplication().textFields["name"].title, "") 

name은 텍스트 필드의 palceholder입니다. 이 데모 응용 프로그램에는 텍스트 필드가 하나뿐입니다. 그러나 테스트는 테스트 코드의 첫 번째 줄에서 항상 실패하고 오류는 표시되지 않습니다.

참고 : 텍스트 필드에 숫자 값을 허용하지 않도록 적절한 코드를 만들었습니다.

+0

UI 테스트 대신 단위 테스트를 통해이를 수행 할 수 있습니다. https://stackoverflow.com/a/47419707/246895 –

답변

1

요소를 검사하려면 먼저 식별자로 액세스 할 수 있는지 확인해야합니다. 시스템이 "이름"이라는 텍스트 필드를 찾을 수 없기 때문에 충돌이 발생합니다.

해당 텍스트 필드에 식별자를 설정해야합니다.

yourTextField.accessibilityIdentifier = "myTextField" 

지금, 당신은 요소를 레이블/값/ID를 확인하는 문자열 "하여 myTextField"

XCUIApplication().textFields["myTextField"] 

를 사용하여 음성/액세스를 통해 관리자에 의해 텍스트 필드를 얻을 수 있습니다.

관련 문제