2015-01-09 4 views
2

UI에서 텍스트를 얻고 싶습니다. KIF V3.0을 사용하여 WebService에서 얻은 텍스트입니다. KIF 1.0에서 비교하는 방법을 알고 있지만 KIF V3.0은 잘 모르겠습니다. (있는 NSString *) expectedLabel 접근성 : (있는 NSString *) mylabelTextFrom UI와 텍스트를 비교하는 방법 KIF 3.1.1에서 웹 서비스로부터받은 텍스트?

{

NSString *description = [NSString stringWithFormat:@"Verify label text for %@",expectedLabel]; 
return [self stepWithDescription:description executionBlock:^(KIFTestStep *step, NSError **error) { 
    UIAccessibilityElement *element = [[UIApplication sharedApplication] accessibilityElementWithLabel:mylabel]; 

    BOOL isValid; 
    UINavigationController *navbar; 
    UILabel *lblName; 

    if([element isKindOfClass:[UILabel class]]){ 
     isValid=YES; 
     lblName = (UILabel *)[UIAccessibilityElement viewContainingAccessibilityElement:element];; 
     if ([expectedLabel isEqualToString:lblName.text]) { 
      return KIFTestStepResultSuccess; 
     } 
    }else{ 
     isValid=NO; 
     navbar = (UINavigationController *)[UIAccessibilityElement viewContainingAccessibilityElement:element];; 
     if ([expectedLabel isEqualToString:navbar.title]) { 
      return KIFTestStepResultSuccess; 
     } 
    } 
    KIFTestCondition(NO, error, @"Failed to compare the label text: expected '%@', actual '%@'", expectedLabel,(isValid)?lblName.text:navbar.title); 
}]; 

}

마십시오 필요한 V1.0

+ (ID) stepToverifyOutput를 들어

나에게있어. 나는이 곳에 머물러있다.

+0

(lblName.text) 일부 하드 코딩 된 문자열을 전달하고 확인하십시오. 작동하면 this (lblName.text)를 문자열로 전달하십시오. –

답변

2

KIF의 [tester waitForViewWithAccessibilityLabel:myLabel] 메서드는 실제 뷰 자체를 반환하고이를 사용하여 어설 션 할 수 있습니다. 예 :

NSString *accessibilityLabel = @"yourLabel"; 
NSString *expectedValue = @"whateveryouexpect"; 

UILabel *label = (UILabel*)[tester waitForViewWithAccessibilityLabel:accessibilityLabel]; 
XCTAssert([label.text isEqualToString:expectedValue], @"BADONKADONK"); 

전체 단계를 실행할 필요가 없습니다. 이것은 또한 훨씬 더 읽기 쉽고 직설적 인 장점이 있습니다 : 레이블을 가져 와서 텍스트 값이 예상대로 맞는지 확인하십시오. 값이 발견되지 않으면 테스트는 당연히 실패합니다.

+0

V3.1.1의 KIF 테스트 리포트를 어떻게 확인합니까? –

+0

KIF 검사 보고서의 의미를 모르십니까? kif 테스트의 결과는 XCTest를 통해보고됩니다. – plluke

+0

KIF에서 10 가지 테스트 케이스를 자동화했습니다. 그 10 가지 테스트 케이스의 결과를 원했습니다. 어떻게 결과를 표시 할 수 있습니까? XCTest를 처음 사용합니다. XCTest 파일을 열면 어떤 앱에서 열어야합니까? –

1

나는 귀하의 질문에 올바르게 적응한다고 생각합니다. 당신은 문자열로 비교하는 문제에 직면하는 경우에만 다음이 경우 당신과 같은 사용자 정의 코드에 의해 직접 수행 할 수 있습니다

경우 (yourFirstString isEqualTo : YourSecondString) 대신에 다른

{ 
     //Text Matches. 
    } 

{ 
     //Text not matches. 
}