Soporte de 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

Siga los pasos para obtener el marco de trabajo axeDevToolsXCUI. Todas las funciones disponibles en esta página son totalmente compatibles con Objective-C. Importe el encabezado en cualquier archivo en el que planee usar el marco de trabajo XCUI:

#import <axeDevToolsXCUI/axeDevToolsXCUI-Swift.h>

Utilice el setUp método en sus UITests para inicializar un AxeDevTools objeto para interactuar con las funciones disponibles. Genere una clave API en axe.deque.com. Si lo prefiere, también puede autenticar con un nombre de usuario y contraseña.

@interface ObjcUITests : XCTestCase
@end

@implementation ObjcUITests
AxeDevTools* axeDevTools;

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

Realizar un Escaneo

Para realizar un escaneo en una pantalla de su aplicación o en cualquier XCUIElement de su aplicación, cree un nuevo caso de prueba dentro de sus UITests y llame al run método dentro de su AxeDevTools objeto:

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

Enviar Escaneo al Panel de Control

Una vez que tenga el escaneo, puede enviarlo al Panel de Control llamando al postResult método desde el AxeDevTools objeto:

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

Si no desea etiquetar su escaneo, puede pasar un array vacío al withTags parámetro. Si desea dar al escaneo un nombre personalizado, puede pasarlo al withScanName parámetro.

Ejemplo 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

Funciones

Ignorando Vistas

Una vez que haya iniciado sesión, use el AxeDevTools objeto para ignorar reglas para vistas específicas. Puede ignorar todas las vistas de una clase específica o ignorar una vista con un Identificador de Accesibilidad específico:

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

Ignorando Reglas

Una vez que haya iniciado sesión, use el AxeDevTools objeto para ignorar cualquier regla para un escaneo completo:

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

También puede volver a añadir reglas a la configuración cambiando el bool de true a false:

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

Guardar Escaneos Localmente

Guarde los resultados localmente para utilizar el axe DevTools Reporter CLI para crear un informe ejecutivo a partir de un conjunto de escaneos dentro de su pipeline de CI/CD.

Un escaneo se guardará como un archivo .json archivo. Guardar escaneos localmente solo es compatible dentro de las pruebas automatizadas. Si la ruta y el nombre del archivo no se especifican, los resultados se llamarán "(APPID)-(CURRENT_SCREEN_TITLE).json" y se guardarán en una carpeta llamada "AxeDevToolsResults" dentro de su Usuario carpeta.

Una vez que haya iniciado sesión, use el AxeDevTools objeto para guardar su escaneo como un archivo JSON. Para usar la ruta y el nombre del archivo por defecto, envíe cadenas vacías a los parámetros:

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