Objective-C-Unterstützung

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

Befolgen Sie die Schritte, um das axeDevToolsXCUI-Framework zu erhalten. Alle auf dieser Seite verfügbaren Funktionen werden in Objective-C vollständig unterstützt. Importieren Sie den Header in jede Datei, in der Sie das XCUI-Framework verwenden möchten:

#import <axeDevToolsXCUI/axeDevToolsXCUI-Swift.h>

Verwenden Sie die setUp Methode in Ihren UI-Tests, um ein AxeDevTools Objekt für die Interaktion mit verfügbaren Funktionen zu initialisieren. Generieren Sie einen API-Schlüssel unter axe.deque.com. Wenn Sie möchten, können Sie sich stattdessen mit einem Benutzernamen und einem Kennwort authentifizieren.

@interface ObjcUITests : XCTestCase
@end

@implementation ObjcUITests
AxeDevTools* axeDevTools;

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

Scan durchführen

Um einen Scan auf einem Bildschirm in Ihrer Anwendung oder auf einem beliebigen XCUIElement in Ihrer Anwendung auszuführen, erstellen Sie einen neuen Testfall in Ihren UITests und rufen Sie die run Methode in Ihrem AxeDevTools Objekt auf:

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

Scan an das Dashboard senden

Sobald Sie den Scan haben, können Sie ihn an das Dashboard senden, indem Sie die postResult Methode vom AxeDevTools Objekt aufrufen:

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

Wenn Sie Ihren Scan nicht markieren möchten, können Sie dem Parameter withTags ein leeres Array übergeben. Wenn Sie dem Scan einen benutzerdefinierten Scan-Namen geben möchten, können Sie ihn an den Parameter withScanName übergeben.

Vollständiges Beispiel

#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

Funktionen

Ansichten ignorieren

Sobald Sie angemeldet sind, verwenden Sie das AxeDevTools Objekt, um Regeln für bestimmte Ansichten zu ignorieren. Sie können alle Ansichten einer bestimmten Klasse ignorieren oder eine Ansicht mit einer bestimmten Zugänglichkeitskennung ignorieren:

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

Regeln ignorieren

Sobald Sie angemeldet sind, verwenden Sie das AxeDevTools Objekt, um alle Regeln für einen gesamten Scan zu ignorieren:

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

Sie können der Konfiguration auch erneut Regeln hinzufügen, indem Sie bool von true zu false ändern:

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

Scans lokal speichern

Speichern Sie die Ergebnisse lokal, um mit der axe DevTools Reporter CLI einen Executive Report aus einer Reihe von Scans innerhalb Ihrer CI/CD-Pipeline zu erstellen.

Ein Scan wird als .json Datei gespeichert. Das lokale Speichern von Scans wird nur im Rahmen automatisierter Tests unterstützt. Wenn Pfad und Dateiname nicht angegeben sind, werden die Ergebnisse benannt "(APPID)-(CURRENT_SCREEN_TITLE).json" und in einem Ordner namens "AxeDevToolsResults" innerhalb Ihres Benutzerordners gespeichert.

Verwenden Sie nach der Anmeldung das AxeDevTools -Objekt, um Ihren Scan als JSON-Datei zu speichern. Um den Standardpfad und -dateinamen zu verwenden, senden Sie leere Zeichenfolgen an die Parameter:

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