iOS SwiftUI Asynchronous UI test

사용 언어: Swift 5
사용 버전: 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



댓글

이 블로그의 인기 게시물

Python urllib.parse.quote()

Python bytes.fromhex()

Python OpenCV 빈 화면 만들기

Android Notification with Full Screen

Android Minimum touch target size

Android Compose Instrumentation test to unit test

KiCad 시작하기 7 (FreeRoute 사용하기 2)

tensorflow tf.expand_dims()

딩기 요트 명칭

Android AVD Ram size change