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 i passaggi per ottenere il framework axeDevToolsXCUI. Tutte le funzionalità disponibili in questa pagina sono pienamente 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 test UI per inizializzare un AxeDevTools oggetto per interagire con le funzionalità disponibili. Genera una chiave API su axe.deque.com. Se preferisci, puoi anche autenticarti con un nome utente e una password.

@interface ObjcUITests : XCTestCase
@end

@implementation ObjcUITests
AxeDevTools* axeDevTools;

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

Esegui una scansione

Per eseguire una scansione su una schermata nella tua applicazione o su qualsiasi XCUIElement nella tua applicazione, crea un nuovo caso di test all'interno dei tuoi UITests e chiama il run metodo all'interno del tuo AxeDevTools oggetto:

- (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
}

Invia scansione alla dashboard

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

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

Se non si desidera contrassegnare la scansione, è possibile passare un array vuoto al withTags parametro. Se si desidera assegnare un nome personalizzato alla scansione, è possibile passarlo nel withScanName parametro.

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

Caratteristiche

Ignorare le viste

Una volta effettuato l'accesso, utilizza l'oggetto AxeDevTools per ignorare le regole per viste specifiche. È possibile ignorare tutte le visualizzazioni di una classe specifica oppure ignorare una visualizzazione con uno specifico identificatore di accessibilità:

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 Regole

Una volta effettuato l'accesso, utilizza l'oggetto AxeDevTools per ignorare tutte le regole per un'intera scansione:

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

Puoi anche aggiungere di nuovo le regole alla configurazione modificando bool da true a false:

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

Salva le scansioni localmente

Salva i risultati localmente per utilizzare axe DevTools Reporter CLI per creare un report esecutivo da un set di scansioni all'interno della pipeline CI/CD.

Una scansione verrà salvata come .json file. Il salvataggio delle scansioni in locale è supportato solo nei test automatizzati. Se il percorso e il nome del file non vengono specificati, i risultati verranno denominati "(APPID)-(CURRENT_SCREEN_TITLE).json" e salvati in una cartella denominata "AxeDevToolsResults" all'interno della cartella Utente .

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

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