Verificar Parte de uma Tela
Se você deseja testar um componente ou recurso específico para acessibilidade, pode executar uma verificação direcionada para aquele elemento ou visualização, em vez de escanear a tela inteira.
Use o run(onElement: ) Método
Um único elemento ou visualização pode ser escaneado utilizando o run(onElement: ) método. Este método aceita qualquer XCUIElement como parâmetro. Ele pode aceitar desde um XCUIApplication (o aplicativo inteiro) até um elemento específico, como um botão, rótulo, campo de texto ou qualquer outro elemento da IU.
Para encontrar um elemento específico, use consultas XCTest. Encontre mais informações na documentação da Apple:
Recomendamos validar que o elemento para o qual você está escaneando existe e está na tela antes de executar uma verificação, para garantir que o framework seja capaz de encontrar o elemento e retornar os resultados corretos. Se o elemento não for encontrado na tela no momento da verificação, um resultado incompleto pode ser postado em vez disso.
Exemplo
Abaixo está um exemplo de teste que procura um botão com o título "Menu", verifica sua existência na tela e realiza uma verificação nele. Este é um exemplo de uma consulta básica, embora consultas mais complexas envolvendo filhos e descendentes sejam possíveis.
var axe: AxeDevTools?
var app = XCUIApplication()
override func setUpWithError() throws {
// log in to AxeDevTools
axe = try? AxeDevTools.startSession(apiKey: "<DEQUE_APIKEY>",
projectId: "<DEVHUB_PROJECT_ID>")
// launch app and prevent tests from continuing if element is not found
app.launch()
continueAfterFailure = true
}
func testAccessibility() throws {
// finds a button with the title or accessibilityIdentifier "Menu"
// .firstMatch ensures that the test doesn't fail if multiple matching elements exist
let buttonToTest = app.buttons["Menu"].firstMatch
XCTAssert(buttonToTest.isHittable, "Button 'Menu' does not exist on the screen.")
let result = try axe.run(onElement: buttonToTest)
try axe.postResult(result)
}Quais Regras Podem Rodar em Verificações de Tela Parcial?
Todas as regras podem rodar em verificações de tela parcial, a menos que sejam explicitamente ignoradas pelo usuário. No entanto, as ScreenTitle e InScrollView regras podem retornar NeedsReview se a verificação de tela parcial não incluir todas as informações necessárias para passar ou falhar.
