Suporte ao Objective-C
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];
}
@endRecursos
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];