iOS SwiftUI Asynchronous UI test
사용 언어: Swift 5
사용 버전: Xcode 15.1
UI test는 Synchronization(동기식)으로 작동합니다. 그래서, 바로바로 테스트를 진행하죠.
하지만, 비동기 작업을 UI test(테스트)에서 확인할 때에는 문제가 발생합니다.
왜냐하면 test는 현재 작업 중인지 Idle(유휴) 상태인지 알 수 없기 때문에 바로 종료시키거든요.
Swift에서는 해당 문제의 해결책으로 waitForExistence를 제공해 줍니다.
https://developer.apple.com/documentation/xctest/xcuielement/2879412-waitforexistence
사용 버전: Xcode 15.1
iOS 스위프트유아이 Asynchronous UI test를 알아보겠습니다.
UI test는 Synchronization(동기식)으로 작동합니다. 그래서, 바로바로 테스트를 진행하죠.
하지만, 비동기 작업을 UI test(테스트)에서 확인할 때에는 문제가 발생합니다.
왜냐하면 test는 현재 작업 중인지 Idle(유휴) 상태인지 알 수 없기 때문에 바로 종료시키거든요.
Swift에서는 해당 문제의 해결책으로 waitForExistence를 제공해 줍니다.
https://developer.apple.com/documentation/xctest/xcuielement/2879412-waitforexistence
해당 XCUIElement가 존재하면 true를 반환하고, timeout(시간 초과)이 발동된다면 false가 반환됩니다.
사용법을 알아봅시다.
108 번째 줄처럼 waitForExistence를 사용해서 callButton이 다시 나타날 때까지 기다립니다.
테스트 화면입니다.
Progressbar가 완료되어 Call이 다시 나타날 때까지 기다리는 것을 볼 수 있습니다.
끝.
카테고리: iOS, SwiftUI
댓글
댓글 쓰기
궁금한 점은 댓글 달아주세요.
Comment if you have any questions.