2016-07-04 1 views
0

Xcode 7에서 UI 테스트를 사용하고 있지만 몇 가지 문제가 있습니다. UI Test를 기록 할 때 Xcode는 중국어를 대문자 'U'로 유니 코드로 변환하고 오류를 표시합니다. 및 UI 테스트 코드UI에서 다음 작업을 준비하기 위해 UIButton을 두드린 후 시간을 제어하는 ​​방법

XCUIApplication *app = [[XCUIApplication alloc] init]; 
[app.navigationBars[@"\u5934\u6761"].images[@"new_not_login30"] tap]; 
XCUIElementQuery *tablesQuery = app.tables; 
[tablesQuery.cells.staticTexts[@"\u6211\u7684\u864e\u94b1"] tap]; 

문제가 : 이미지를 도청 한 후,이 jQuery과 또는 UIAlertController을 보여주는 사이드를 보여주는 애니메이션이다하지만 지속 시간을 처리 할 수 ​​없습니다. 실제로 애니메이션 내에서 테스트는 일치시킬 다음 요소를 계속 찾지 만 이러한 요소는 존재하지 않거나 생성되지 않습니다. 따라서 테스트는 항상 실패합니다. 이 질문에 대한 답변은 없습니까? 도와주세요. 감사.

+0

버튼 동작이 발생하기 전에 지연을 원하십니까? –

+0

@BashirSidani 버튼을 탭 -> 지연 생성 및 애니메이션 완료 -> 버튼을 찾아 – Chipmuck

답변

1

expectationForPredicate로 시도하십시오. 나는 objective-c의 문법을 모른다. 그러나 여기에 신속한 코드의 일부가 있습니다 :

let app = XCUIApplication() 
app.navigationBars["\u5934\u6761"].images["new_not_login30"].tap() 
let label = app.cells.staticTexts["\u6211\u7684\u864e\u94b1"] 
let exists = NSPredicate(format: "exists == 1") 
expectationForPredicate(exists, evaluatedWithObject: label) { 
    // If the label exists, also check that it is enabled 
    if label.enabled { 
     label.tap() 
     return true 
    } else { 
     return false 
    } 
} 
waitForExpectationsWithTimeout(5) { error in 
    if (error != nil) { assertion ....} 

} 

이 코드를 objective-c로 번역하면됩니다.

건배

+0

감사합니다! 그것은 나를 위해 일합니다! :) – Chipmuck