내 iOS 앱에 대해 UITests를 구현 중입니다. 지금까지 몇 가지 간단한 테스트를 수행 할 수 있었지만 두 개의 섹션이있는 tableView에 왔습니다. 각 섹션에는 정적 텍스트를 포함하는 sectionHeaderView가 있습니다 (예 : "섹션 1"과 "섹션 2", 일반 sectionHeader 스타일.XCTest로 staticText를 올바르게 찾는 방법
app.tables.staticTexts["SECTION 1"].exists
을 수행하면 true
을 반환합니다. 이것은 첫 번째 섹션으로,보기가로드 될 때 맨 위에 표시됩니다.
"SECTION 2"와 동일하지만, 수행 할 때 false
을 반환합니다. 이 섹션의 sectionHeaderView는이 시점에서 뷰 밖에 있으므로, 이것이 문제라고 생각했으나 그렇지 않은 것으로 판명되었습니다. app.swipeUp()
을 시도했는데 두 번째 섹션이 성공적으로 화면에 나타납니다. 스 와이프가 끝난 후 몇 초 동안보기가 안정되어 잠을 자고 같은 검사를 수행하지만 두 번째 섹션 뷰를 찾을 수 없습니다.
아래로 스크롤 한 후, 나는 찾을 수 있는지에 app.tables.staticTexts.debugDescription
을 인쇄하는 것을 시도했다, 그것은 첫 번째 섹션뿐만 아니라 내가있는 tableView의 맨 아래에 가지고 tableFooterView을 보여줍니다.
나는 app.tables.staticTexts["SECTION 2"].exists
을 수행 할 때 시뮬레이터에서 "SECTION 2"텍스트를 볼 수 있습니다. 그러나 그것은 시험에 존재하지 않습니다.
두 번째 섹션 헤드 뷰가 XCTest에서 완전히 보이지 않는 이유는 무엇입니까? 내가이 접근 가능성에 대한 어떤 종류의 접근성을 무력화 시켰을 수 있습니까? 난 .. 아무것도 찾을 수 없습니다
편집, 출력 :
t = 32.25s Find: Descendants matching type Table
t = 32.26s Find: Descendants matching type StaticText
t = 32.26s Find: Elements matching predicate '"SECTION 1" IN identifiers'
Found SECTION 1. Will scroll down to find Section 2.
t = 32.26s Swipe up Target Application 0x6080000bbf60
t = 32.26s Wait for app to idle
t = 32.30s Find the Target Application 0x6080000bbf60
t = 32.30s Snapshot accessibility hierarchy for my.bundle.identifier
t = 33.09s Wait for app to idle
t = 33.14s Synthesize event
t = 33.42s Wait for app to idle
Slept for 3 seconds. Have scrolled down. SECTION 2 in view now.
t = 38.86s Snapshot accessibility hierarchy for my.bundle.identifier
t = 39.64s Find: Descendants matching type Table
t = 39.65s Find: Descendants matching type StaticText
t = 39.65s Find: Elements matching predicate '"SECTION 2" IN identifiers'
t = 39.66s Assertion Failure: MyUITests.swift:347: XCTAssertTrue failed - SECTION 2 does not exist
t = 39.66s Tear Down
당신은 두 번째 섹션을 볼 때 헤더에 캐시 된 스냅 샷/계층 구조가 사용된다고 출력됩니까? – Oletha
@Oletha No .. 그것이 무엇을 말하는지에 대한 업데이트 된 질문을보십시오. – Sti