2017-06-16 2 views
0

J'essaie d'apprendre le test automatisé de l'interface utilisateur avec KIF dans un exemple d'application. Mon test simple échoue continuellement. Mon code:Échec du test iOS KIF

#import <XCTest/XCTest.h> 
#import <KIF/KIF.h> 

@interface AutomatedUITestsSampleUITests : KIFTestCase 

@end 

@implementation AutomatedUITestsSampleUITests 

- (void)setUp { 
    [super setUp]; 

    // Put setup code here. This method is called before the invocation of each test method in the class. 

    // In UI tests it is usually best to stop immediately when a failure occurs. 
    self.continueAfterFailure = NO; 
    // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. 
    [[[XCUIApplication alloc] init] launch]; 

    // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. 
} 

- (void)tearDown { 
    // Put teardown code here. This method is called after the invocation of each test method in the class. 
    [super tearDown]; 
} 

- (void)testExample { 

    [tester waitForViewWithAccessibilityLabel:@"LOGIN - Button"]; 

    [tester tapViewWithAccessibilityLabel:@"LOGIN - Button" traits:UIAccessibilityTraitButton]; 
} 

J'ai mis l'étiquette d'accessibilité LOGIN - Button à un UIButton dans mon story-board aussi l'accessibilité est activée.

Je reçois ce dans la console:

Test Case '-[AutomatedUITestsSampleUITests testExample]' started. 
    t =  0.00s  Start Test at 2017-06-16 13:45:07.071 
    t =  0.00s  Set Up 
    t =  0.04s   Launch com.UITests.AutomatedUITestsSample 
    t =  4.63s    Waiting for accessibility to load 
    t =  8.77s    Wait for app to idle 
    t = 10.48s  Tear Down 
Test Case '-[AutomatedUITestsSampleUITests testExample]' failed (10.868 seconds). 
Test Suite 'AutomatedUITestsSampleUITests' failed at 2017-06-16 13:45:17.939. 
    Executed 1 test, with 1 failure (1 unexpected) in 10.868 (12.735) seconds 
Test Suite 'AutomatedUITestsSampleUITests.xctest' failed at 2017-06-16 13:45:17.940. 
    Executed 1 test, with 1 failure (1 unexpected) in 10.868 (12.739) seconds 
Test Suite 'All tests' failed at 2017-06-16 13:45:17.941. 
    Executed 1 test, with 1 failure (1 unexpected) in 10.868 (12.743) seconds 

Il est un test très simple. Pourquoi échoue-t-il? Merci d'avance.

Répondre

2

Si vous avez accès au XCUIApplication, il y a un problème avec la configuration de votre projet. La cible des tests KIF doit être «cible de test unitaire» et non «cible de test de l'interface utilisateur». Avec une configuration correcte, il n'est pas nécessaire de lancer l'application (et aucune possibilité de manipulation de lancement d'application) - elle est lancée lorsque les tests unitaires commencent. Lorsque vous utilisez la cible de test de l'interface utilisateur, vos tests s'exécutent dans un processus distinct et KIF n'a pas accès à votre application.

Je propose de configurer votre cible de test à nouveau avec this guide

+0

Ouais j'utilisais KIF dans le test de l'interface utilisateur au lieu de test unitaire –