2016-10-25 2 views
2

3 탭이있는 간단한 탭 표시 줄을 만들었습니다.탭 막대 컨트롤러 UI 테스트

enter image description here

나는 확인하기 위해 UI 테스트를 실행하려는 사용자가 탭 표시 줄 항목, 올바른 뷰 컨트롤러 쇼를 클릭합니다. 그 일을 어떻게 하죠? 아래 코드는 처음부터 내 주장을 쓰는 법을 모른다.

func testTabBarMyProfileButton() { 
    let tabBarsQuery = XCUIApplication().tabBars 
    tabBarsQuery.buttons["My Profile"].tap() 
} 

func testTabBarGraphsButton() { 
    let tabBarsQuery = XCUIApplication().tabBars 
    tabBarsQuery.buttons["Graphs"].tap() 
} 

func testTabBarAboutButton() { 
    let tabBarsQuery = XCUIApplication().tabBars 
    tabBarsQuery.buttons["About"].tap() 
} 

답변

2

각 탭 표시 줄에 표시된 각보기 컨트롤러에서 다른 컨트롤을 사용하는 경우 존재 여부에 관계없이 어설 션을 수행 할 수 있습니다 (예상되는 내용). 예를 들어 가 첫 번째 탭 표시 줄이 UILabel의 "성"라는 경우가

Let theLabel = app.staticTexts["myValue"] 
XCTAssert(theLabel.exists).to(beTrue) 

를 작성하여 다른 화면이 다른 컨트롤 같은 일을에 존재하는 경우에 당신이 주장 할 수 있습니다.

0

탐색 표시 줄의 제목을 테스트 할 수 있습니다.

XCTAssert(app.navigationBars["Graphs"].exists) 

my GitHub repo for a more detailed UI Testing example을 참조하십시오.

+0

내비게이션 막대 사용을 계획하지 않았습니다. 다른 방법이 있습니까? – Josh

+1

각 화면에서 고유 한 것을 지정해야합니다. 버튼, 텍스트 레이블 또는 UI 컨트롤에서 가져온 것일 수 있습니다. –

관련 문제