Prise en charge d'Objective-C

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard
Not for use with personal data

Suivez les étapes pour obtenir le framework axeDevToolsXCUI. Toutes les fonctionnalités disponibles sur cette page sont entièrement prises en charge en Objective-C. Importez l'en-tête dans n'importe quel fichier dans lequel vous prévoyez d'utiliser le framework XCUI :

#import <axeDevToolsXCUI/axeDevToolsXCUI-Swift.h>

Utilisez la setUp méthode dans vos UITests pour initialiser AxeDevTools un objet afin d'interagir avec les fonctionnalités disponibles. Générez une clé API sur axe.deque.com. Si vous préférez, vous pouvez vous authentifier avec un nom d'utilisateur et un mot de passe.

@interface ObjcUITests : XCTestCase
@end

@implementation ObjcUITests
AxeDevTools* axeDevTools;

- (void)setUp {
    NSError* error;
    axeDevTools = [AxeDevTools loginWithAPIKey:@"API_KEY"
                                      toServer:@""
                                         error:&error];
}

Exécuter une analyse

Pour exécuter une analyse sur un écran de votre application ou sur n'importe quel XCUIElement de votre application, créez un nouveau cas de test dans vos UITests et appelez la méthode run dans votre objet AxeDevTools :

- (void)testAccessibilityOfFirstScreen {
    XCUIApplication *app = [[XCUIApplication alloc] init];
    [app launch];

    NSError* error;
    AxeResult* result = [axeDevTools runOnElement:app error:&error];
    XCTAssertEqual(result.failures.count, 0); // This allows you to assert if there are accessibility failures
}

Envoyer le scan au tableau de bord

Une fois que vous avez l'analyse, vous pouvez l'envoyer au tableau de bord en appelant la méthode postResult depuis l'objet AxeDevTools :

NSError* error;
[axeDevTools postResult:result withTags:@[@"Build 10.6.1"] withScanName:@"" error:&error];

Si vous ne souhaitez pas baliser votre scan, vous pouvez passer un tableau vide au paramètre withTags . Si vous souhaitez donner à l'analyse un nom d'analyse personnalisé, vous pouvez le transmettre dans le paramètre withScanName .

Exemple complet

#import <axeDevToolsXCUI/axeDevToolsXCUI-Swift.h>
#import <XCTest/XCTest.h>

@interface ObjcUITests : XCTestCase
@end

@implementation ObjcUITests
AxeDevTools* axeDevTools;

- (void)setUp {
    NSError* error;
    axeDevTools = [AxeDevTools loginWithAPIKey:@"API_KEY"
                                      toServer:@""
                                         error:&error];
}

- (void)testAccessibilityOfFirstScreen {
    XCUIApplication *app = [[XCUIApplication alloc] init];
    [app launch];

    NSError* error;
    AxeResult* result = [axeDevTools runOnElement:app error:&error];
    XCTAssertEqual(result.failures.count, 0);
    [axeDevTools postResult:result
                   withTags:@[@"Build 10.6.1"]
               withScanName:@""
                      error:&error];
}

@end

Fonctionnalités

Ignorer les vues

Une fois connecté, utilisez l'objet pour ignorer les règles pour des vues spécifiques. AxeDevTools Vous pouvez ignorer toutes les vues d'une classe spécifique ou ignorer une vue avec un identifiant d'accessibilité spécifique :

NSDictionary* ignoreRules = @{ @"UILabel": @[@"InScrollView"], // ignore InScrollView for all UILabels
                               @"LoginScreen.Button": @[@"TouchTargetSize"] // ignore TouchTargetSize for the view with this accessibility id
};
[[axeDevTools configuration] ignoreWithRulesFor: ignoreRules];

Ignorance des règles

Une fois connecté, utilisez l'objet pour ignorer toutes les règles pour une analyse complète : AxeDevTools

[[axeDevTools configuration] ignoreWithRules:@[@"A11yElementFocusBox"] :true];

Vous pouvez également rajouter des règles à la configuration en modifiant le paramètre bool de la valeur true à la valeur false :

[[axeDevTools configuration] ignoreWithRules:@[@"A11yElementFocusBox"] :false];

Enregistrer les analyses localement

Enregistrez les résultats localement pour utiliser axe DevTools Reporter CLI pour créer un rapport exécutif à partir d'un ensemble d'analyses dans votre pipeline CI/CD.

Une analyse sera enregistrée sous forme de fichier. .json L'enregistrement des analyses localement n'est pris en charge que dans les tests automatisés. Si le chemin et le nom du fichier ne sont pas spécifiés, les résultats seront nommés "(APPID)-(CURRENT_SCREEN_TITLE).json" et seront enregistrés dans un dossier appelé "AxeDevToolsResults" dans votre dossier Utilisateur .

Une fois connecté, utilisez l'objet pour enregistrer votre analyse sous forme de fichier JSON. AxeDevTools Pour utiliser le chemin et le nom de fichier par défaut, envoyez des chaînes vides aux paramètres :

NSError* error;
[axeDevTools saveResult:result toPath:@"" withName:@"" error:&error];