나는 몇 가지 성능 실험을하고있어 내가 새로운 UI 테스트 문 때문에 내 엑스 코드 UI 테스트이 오류가 계속이 명중 :Xcode UI 테스트 (XCUITest)에서 스냅 샷을 가져 오는 데 필요한 시간을 어떻게 변경합니까?
UITesting Failure - Failed to get snapshot within 15.0s
가 어떻게이 더 이상 뭔가 변수 15.0s 변경할 수 있습니까? 변경할 수있는 구성이나 설정이 있습니까?
나는 몇 가지 성능 실험을하고있어 내가 새로운 UI 테스트 문 때문에 내 엑스 코드 UI 테스트이 오류가 계속이 명중 :Xcode UI 테스트 (XCUITest)에서 스냅 샷을 가져 오는 데 필요한 시간을 어떻게 변경합니까?
UITesting Failure - Failed to get snapshot within 15.0s
가 어떻게이 더 이상 뭔가 변수 15.0s 변경할 수 있습니까? 변경할 수있는 구성이나 설정이 있습니까?
나는 이것이 가능하지 않다고 생각합니다. 애플은 모든 앱이 시작되는 데 20 초의 시스템 제한이있다. 앱이 죽는 것보다 시간이 오래 걸린다. Source
UI 테스트에서 앱을 부트 스트래핑해야하기 때문에 Apple은 5 초 이내에 모든 설정을 수행 할 수 있습니다. 따라서 본질적으로 앱을 실행하는 데 15 초 제한이 있습니다.
시스템의 20 초 제한을 무시할 수 없으므로 XCTest의 15 초 제한을 재정의 할 수도 없습니다.
예상을 사용하여 임의의 시간을 할당하여 테스트 사례를 실행할 수 있습니다. 15.0 초가 지나기 전에 추가 기대를 설정하고 필요한만큼이 프로세스를 반복하십시오. 여기에 짧은 코드 샘플을 설명하기 위해입니다 :
var timeToDelay = 60.0
repeat {
let delay = min(13.0, timeToDelay)
timeToDelay -= delay
let date = Date().addingTimeInterval(delay)
let predicate = NSPredicate(format: "now() > %@", argumentArray: [date])
self.expectation(for: predicate, evaluatedWith: [], handler: nil)
self.waitForExpectations(timeout: 14.0, handler: nil)
} while timeToDelay > 0
장소이 권리를 당신이 테스트 실패를 참조하고 (초)가 필요합니다 추가 시간에 timeToDelay
를 교체하기 전에.