Objective-C Ondersteuning

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

Volg de stappen om het axeDevToolsXCUI-framework te verkrijgen. Alle functies die op deze pagina beschikbaar zijn, worden volledig ondersteund in Objective-C. Importeer de header in elk bestand waarin je van plan bent het XCUI-framework te gebruiken:

#import <axeDevToolsXCUI/axeDevToolsXCUI-Swift.h>

Gebruik de setUp methode in je UI-tests om een AxeDevTools object te initialiseren om te interageren met beschikbare functies. Genereer een API-sleutel op axe.deque.com. Indien gewenst kun je in plaats daarvan authenticeren met een gebruikersnaam en wachtwoord.

@interface ObjcUITests : XCTestCase
@end

@implementation ObjcUITests
AxeDevTools* axeDevTools;

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

Een Scan Uitvoeren

Om een scan uit te voeren op een scherm in je applicatie of op een XCUIElement in je applicatie, maak je een nieuwe testcase binnen je UI-tests en roep je de run methode aan binnen je AxeDevTools object:

- (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 Naar het Dashboard Sturen

Zodra je de scan hebt, kun je deze naar het Dashboard sturen door de postResult methode aan te roepen vanuit het AxeDevTools object:

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

Als je je scan niet wilt taggen, kun je een lege array doorgeven aan de withTags parameter. Als je de scan een aangepaste naam wilt geven, kun je deze doorgeven aan de withScanName parameter.

Volledig Voorbeeld

#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

Functies

Weergaven Negeren

Zodra je bent ingelogd, gebruik je het AxeDevTools object om regels voor specifieke weergaven te negeren. Je kunt alle weergaven van een specifieke klasse negeren, of een weergave met een specifieke Toegankelijkheids-ID negeren:

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

Regels Negeren

Zodra je bent ingelogd, gebruik je het AxeDevTools object om alle regels voor een volledige scan te negeren:

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

Je kunt ook regels herintroduceren in de configuratie door de bool te wijzigen van true naar false:

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

Scans Lokaal Opslaan

Sla resultaten lokaal op om de axe DevTools Reporter CLI te gebruiken voor het opstellen van een uitvoerend rapport van een reeks scans binnen je CI/CD-pijplijn.

Een scan zal worden opgeslagen als een .json bestand. Het lokaal opslaan van scans wordt alleen ondersteund binnen geautomatiseerde tests. Als het pad en de bestandsnaam niet zijn gespecificeerd, zullen de resultaten worden genoemd "(APPID)-(CURRENT_SCREEN_TITLE).json" en zullen ze worden opgeslagen in een map genaamd "AxeDevToolsResults" binnen je **Gebruiker** map.

Zodra je bent ingelogd, gebruik je het AxeDevTools object om je scan op te slaan als een JSON-bestand. Om het standaardpad en de bestandsnaam te gebruiken, stuur je lege strings naar de parameters:

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