Supporto 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

Segui il passi per ottenere il framework axeDevToolsXCUI. Tutte le funzionalità disponibili su questa pagina sono completamente supportate in Objective-C. Importa l'intestazione in qualsiasi file in cui intendi utilizzare il framework XCUI:

#import <axeDevToolsXCUI/axeDevToolsXCUI-Swift.h>

Utilizza il metodo setUp nei tuoi UITests per inizializzare un oggetto AxeDevTools per interagire con le funzionalità disponibili. Genera una chiave API su axe.deque.com. Se preferisci, puoi invece autenticarti con un nome utente e una password.

@interface ObjcUITests : XCTestCase
@end

@implementation ObjcUITests
AxeDevTools* axeDevTools;

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

Eseguire una Scansione

Per eseguire una scansione di una schermata nella tua applicazione o su qualsiasi elemento XCUIElement nella tua applicazione, crea un nuovo caso di test all'interno dei tuoi UITests e chiama il metodo run all'interno del tuo oggetto 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
}

Inviare la Scansione al Dashboard

Una volta ottenuta la scansione, puoi inviarla alla Dashboard chiamando il metodo postResult dall'oggetto AxeDevTools:

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

Se non vuoi etichettare la tua scansione, puoi passare un array vuoto al parametro withTags. Se desideri dare alla scansione un nome personalizzato, puoi passarlo al parametro withScanName.

Esempio Completo

#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

Funzionalità

Ignorare le Visualizzazioni

Una volta effettuato l'accesso, utilizza l'oggetto AxeDevTools per ignorare le regole per viste specifiche. Puoi ignorare tutte le viste di una classe specifica o ignorare una vista con un identificatore di accessibilità specifico:

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];

Ignorare le Regole

Una volta effettuato l'accesso, utilizza l'oggetto AxeDevTools per ignorare qualsiasi regola per un'intera scansione:

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

Puoi anche riaggiungere le regole alla configurazione cambiando il bool da true a false:

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

Salvare Scansioni Localmente

Salva i risultati localmente per utilizzare il Axe DevTools Reporter CLI per costruire un rapporto esecutivo a partire da una serie di scansioni all'interno del tuo pipeline CI/CD.

Una scansione verrà salvata come file .json. Salvare le scansioni localmente è supportato solo nei test automatizzati. Se non vengono specificati il percorso e il nome del file, i risultati verranno chiamati "(APPID)-(CURRENT_SCREEN_TITLE).json" e saranno salvati in una cartella chiamata "AxeDevToolsResults" all'interno della tua cartella Utente.

Una volta effettuato l'accesso, utilizza l'oggetto AxeDevTools per salvare la tua scansione come file JSON. Per utilizzare il percorso e il nome file predefiniti, invia stringhe vuote ai parametri:

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