Suporte ao 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 os passos para obter o framework axeDevToolsXCUI. Todos os recursos disponíveis nesta página são totalmente suportados em Objective-C. Importe o cabeçalho em qualquer arquivo em que você planeja usar o framework XCUI:

#import <axeDevToolsXCUI/axeDevToolsXCUI-Swift.h>

Utilize o setUp método em seus UITests para inicializar um AxeDevTools objeto para interagir com os recursos disponíveis. Gere uma chave de API em axe.deque.com. Se preferir, você pode autenticar com um nome de usuário e senha.

@interface ObjcUITests : XCTestCase
@end

@implementation ObjcUITests
AxeDevTools* axeDevTools;

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

Executar uma Varredura

Para executar uma varredura em uma tela do seu aplicativo ou em qualquer XCUIElement do seu aplicativo, crie um novo caso de teste dentro dos seus UITests e chame o run método dentro do seu 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 Varredura para o Dashboard

Uma vez que você tenha a varredura, pode enviá-la para o Dashboard chamando o postResult método do AxeDevTools objeto:

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

Se você não quiser marcar sua varredura, pode passar um array vazio para o withTags parâmetro. Se você quiser dar um nome personalizado à varredura, pode passá-lo para o withScanName parâmetro.

Exemplo 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

Recursos

Ignorar Visualizações

Depois de fazer login, use o AxeDevTools objeto para ignorar regras para visualizações específicas. Você pode ignorar todas as visualizações de uma classe específica ou ignorar uma visualização com um Identificador de Acessibilidade 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 Regras

Depois de fazer login, use o AxeDevTools objeto para ignorar quaisquer regras para uma varredura inteira:

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

Você também pode readicionar regras à configuração alterando o bool de true para false:

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

Salvar Varreduras Localmente

Salve os resultados localmente para utilizar o axe DevTools Reporter CLI para construir um relatório executivo a partir de um conjunto de varreduras dentro do seu pipeline CI/CD.

Uma varredura será salva como um arquivo .json . Salvar varreduras localmente é suportado apenas em testes automatizados. Se o caminho e o nome do arquivo não forem especificados, os resultados serão nomeados "(APPID)-(CURRENT_SCREEN_TITLE).json" e serão salvos em uma pasta chamada "AxeDevToolsResults" dentro do seu **Usuário** pasta.

Depois de fazer login, use o AxeDevTools objeto para salvar sua varredura como um arquivo JSON. Para usar o caminho e nome de arquivo padrão, envie strings vazias para os parâmetros:

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