Development Tip

타임 스탬프가있는 이벤트 일치 오류 : 일치하는 요소를 찾지 못했습니다.

yourdevel 2020. 10. 10. 12:06
반응형

타임 스탬프가있는 이벤트 일치 오류 : 일치하는 요소를 찾지 못했습니다.


Xcode에서 UItest를 생성하려고합니다. UIview를 스 와이프하려고하면 오류가 발생합니다.

Timestamped Event Matching Error: Failed to find matching element

오류 창

여기에 이미지 설명 입력

UIView를 탭하려고 할 때도 발생합니다.


스 와이프하는 UIView 개체에 대해 '접근성'옵션이 활성화되어 있는지 확인해야합니다. 예를 들면 다음과 같습니다.

여기에 이미지 설명 입력


일반적으로이 문제는 기록하려는 요소의 상위 요소가 isAccessibilityElement = true로 설정된 경우에 발생합니다. 일반적으로 하위 요소에 액세스하려면 상위 요소를 false로 설정해야합니다. 예 : 뷰 내부에 UILabel이있는 경우 접근성은 뷰에 대해 false로 설정하고 UILabel에 대해 true로 설정해야합니다.


이것이 여전히 문제인 Xcode 9.3에서 내가 한 일은 다음과 같습니다.

  • Xcode 종료
  • 시뮬레이터 설정 재설정 (하드웨어-> 모든 내용 및 설정 지우기)
  • 시뮬레이터 종료
  • 현재 앱에 대한 파생 데이터 삭제
  • Xcode 다시 시작
  • 다시 녹음 해보세요. 이번에는 저에게 효과적이었습니다.

새로운 테스트를 기록하기 위해 아직 해결책이 없다고 생각합니다. 그러나 이미 존재하는 테스트에 확장 강제 탭을 사용하면 작동합니다.

사용 예 :

extension XCUIElement {

    func forceTapElement() {
        if self.hittable {
            self.tap()
        }
        else {
            let coordinate: XCUICoordinate = self.coordinateWithNormalizedOffset(CGVectorMake(0.0, 0.0))
            coordinate.tap()
        }  
    }
}

func testSomethingWithCells() {

   let app = XCUIApplication()
   let cells = app.tables.cells
   sleep(1)
   cells.elementBoundByIndex(0).forceTapElement()
}

여기에서 원본 게시물을 확인할 수 있습니다.

Xcode UI 테스트-UI 테스트 실패-검색 필드 "취소"버튼을 탭할 때 표시 (AX 작업에 의해)로 스크롤하지 못했습니다.


나는 때때로이 문제에 부딪쳤다. DerivedData에서 앱의 디렉토리를 삭제하면 도움이 될 것 같습니다.


저를 위해 일한 해결책은 물체를 다르게 식별하는 것이 었습니다.
Xcode 8에서는 다음을 사용할 수있었습니다.

XCUIApplication().tables.cells["Camera Roll"].buttons["Camera Roll"].tap()

Xcode 9에서는이 질문에 언급 된 오류가 발생했습니다. 다음을 사용하여 끝났습니다 (원래 옵션보다 결함이 많음)

XCUIApplication().cells.element(boundBy: 1).tap()

참고 URL : https://stackoverflow.com/questions/36616891/timestamped-event-matching-error-failed-to-find-matching-element

반응형