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 o 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 que você planeja usar o framework XCUI:

#import <axeDevToolsXCUI/axeDevToolsXCUI-Swift.h>

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

@interface ObjcUITests : XCTestCase
@end

@implementation ObjcUITests
AxeDevTools* axeDevTools;

- (void)setUp {
    NSError* error;
    axeDevTools = [AxeDevTools startScanSessionWithApiKey:@"API_KEY"
                                          projectId:@"DEVHUB_PROJECT_ID"
                                          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 nos seus UITests e chame o método run dentro do seu objeto AxeDevTools:

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

Depois de obter a varredura, você pode enviá-la para o Dashboard chamando o método postResult do objeto AxeDevTools:

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

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

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 objeto AxeDevTools 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 objeto AxeDevTools para ignorar quaisquer regras para uma varredura inteira:

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

Você também pode readicionar regras à configuração mudando 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 dentro de 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 da sua pasta **Usuário**.

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

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