Escanear parte de una pantalla

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

Si desea evaluar un componente o función específica en cuanto a accesibilidad, puede realizar un escaneo dirigido para ese elemento o vista en lugar de escanear toda la pantalla.

Utilice el método run(onElement: )

Se puede escanear un solo elemento o vista utilizando el método run(onElement: ). Este método admite cualquier XCUIElement como parámetro. Admite cualquier elemento, desde una XCUIApplication (la aplicación completa) hasta un elemento específico, como un botón, una etiqueta, un campo de texto o cualquier otro elemento de la interfaz de usuario.

Para encontrar un elemento específico, utilice consultas de XCTest. Consulte la documentación de Apple para obtener más información:

Recomendamos verificar que el elemento que usted está escaneando exista y sea visible en pantalla antes de ejecutar un escaneo, para asegurarse de que el framework pueda encontrar el elemento y devolver los resultados esperados. Si el elemento no está presente en pantalla en el momento de la exploración, podría generarse un resultado incompleto.

Ejemplo

A continuación se muestra una prueba de ejemplo que busca un botón con el título "Menu", comprueba su existencia en pantalla y realiza un escaneo sobre él. Este es un ejemplo de una consulta básica, aunque también pueden realizarse consultas más complejas que involucren hijos y descendientes.

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)
}

¿Qué reglas pueden ejecutarse en escaneos de pantalla parciales?

Todas las reglas se ejecutarán en escaneos de pantalla parciales a menos que el usuario las ignore explícitamente. Sin embargo, las reglas ScreenTitle y InScrollView pueden devolver NeedsReview si el escaneo parcial de pantalla no incluye toda la información necesaria para pasar o fallar.