d2 open seminar - 개발자에 의한, 개발자를 위한 테스트
TRANSCRIPT
UI 테스트
UI 테스트 = UI 테스트
블랙박스 테스트
= 앱의 로직에 접근하지 않음블랙박스 테스트
커버리지 100%?
UIAutomation
UIAutomation인스트루먼츠
UIAutomation인스트루먼츠자바스크립트
엑스코드 7 에 통합
AccessibilityXCTest
XCTest
OCUnit
요구사항iOS 9.0 이상
설정
API
예제
XCUIApplication
테스트 대상 애플리케이션
별도의 프로세스로 실행테스트 대상 애플리케이션
별도의 프로세스로 실행테스트 대상 애플리케이션
launch()
별도의 프로세스로 실행테스트 대상 애플리케이션
launch()엘리먼트 탐색의 시작점
XCUIElement
타입엘리먼트 계층 구조
식별자
엘리먼트는 유일해야 한다
쿼리 실행 시점에 발생엘리먼트마다 쿼리 존재
exists 는 예외
이벤트
tap()사용자 인터랙션
swipeUp()
XCUIElementQuery
count다수 엘리먼트 매칭식별자 - [“foo”]
인덱스 - elementAtIndex()
FilteringRelationships
Relationships
Descendants
Children
Containment
Filtering
식별자타입
Predicate
app.tables.staticTexts쿼리 체인
쿼리 실행
엘리먼트 - 프로퍼티 접근 등실제 사용시점에 실행됨
쿼리 - 결과 접근 등
URL 과 유사
assertion
XCTAssert()XCTAssertTrue()XCTAssertFalse()XCTAssertEqual()
자주 사용하는 패턴
목록이 비어있는지 여부
테이블뷰 스크롤 여부
테스트 결과
UI 레코딩
언제 사용할것인가
제한사항
프레임 오류새로고침
타이머
UI Testing in Xcode - WWDC 2015
참고 자료
감사합니다