2017-10-26 1 views
0

매우 간단한 테스트를 구현하려고하지만, XCUIElementQuery.matching(identifier:) 메서드가 붙어 있습니다. 나는 UIImageView을 쿼리하는 것이 예상대로 작동하지 않는다고 생각하지만 확실하지 않습니다.XCUIElementQuery.matching (identifier :)이 UIImageView에서 작동하지 않습니다.

내가보기 설정이 두 설정이 :

  1. 레이블 : Label with Accessibility enabled with id: 'label'
  2. 있는 UIImageView : UIImageView with Accessibility enabled with id: 'accept'

그리고이 시험이 : 나는 '

func testRecording() { 
    XCTAssertEqual(app.staticTexts.matching(identifier: "label").count, 2) 
    XCTAssertEqual(app.images.matching(identifier: "accept").count, 1) 
} 

을 이 두보기에 대해 질문합니다 (ID가인 라벨). ID가 accept 인및 UIImageView). 여기에서 : app은 다음과 같이 클래스 속성으로 정의됩니다. let app = XCUIApplication(). Table with 2 items

이 ID labelstaticText의 화면에 ID를 accept 하나 image이 있기 때문에이 테스트를 통과해야한다는 것을 의미 :

그래서,이 화면 모습입니다. staticText의 성공적 조회되고 있지만 matching(identifier:) 시도는 ID acceptimage를 조회 할 때 실패 :

  • app.images.
  • app.tables.
  • : 내가 좋아하는 많은 것들로 조회하려고 Test failing on image with id 'accept'

  • app.tables.images.
  • app.tables.cells.images.
  • 01 23,516,
  • app.buttons.은 (또한 접근성 설정의 특색 부분에 Button로 표시)

하지만 행운 (또한 접근성 설정의 특색 부분에 Static Text로 표시)

  • app.staticTexts.
  • 이 있나요 그 I 여기에서 잘못하고있는거야, 아니면 뭔가 빠져 있니?

    답변

    0

    저는 QA 팀에 속해 있기 때문에 dev 코드를 많이 보지 않았습니다. 그러나 내가 그랬을 때 나는 그 해답을 발견했다. 새로운 내게 필요한 옵션이 초기화 호출로 설정되어 있음을 의미

    indicatorView = UIImageView(image: #imageLiteral(resourceName: "arrow_marked_ok_small")) 
    

    : 체크 표시를 표시하는 데 사용됩니다

    있는 UIImageView가 .xib 파일에서 사용중인 않습니다, 대신 항상이 같은 새로운 인스턴스를 할당 그래서 처음 두 이미지에 게시 된 .xib 파일의 내게 필요한 옵션이있는 이전 UIImageView 인스턴스가 재정의됩니다.

    관련 문제