Compatibilidad con 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 axeDevToolsXCUI. Todas las funciones disponibles en esta página son totalmente compatibles con Objective-C. Importa el encabezado en cualquier archivo en el que planea utilizar el marco 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, puede autenticarse con un nombre de usuario y una contraseña.

@interface ObjcUITests : XCTestCase
@end

@implementation ObjcUITests
AxeDevTools* axeDevTools;

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

Ejecutar un escaneo

Para ejecutar 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 Dashboard 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 una matriz vacía al withTags parámetro. Si desea darle 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

Características

Ignorando vistas

Una vez que haya iniciado sesión, use el objeto AxeDevTools para ignorar las 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];

Ignorar Reglas

Una vez que haya iniciado sesión, use el objeto AxeDevTools para ignorar cualquier regla durante todo el análisis:

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

También puedes volver a agregar reglas a la configuración cambiando bool de true a false:

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

Guardar escaneos localmente

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

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

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

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