XCUITest Cómo desactivar la ventana emergente del selector de fecha.
En iOS 15, tengo un selector de fecha en mi aplicación que utiliza el estilo .compact
para presentar la interfaz de selección de fecha y hora como popovers.
No puedo encontrar una forma de cerrar el popover en una prueba de interfaz de usuario, después de haber intentado sugerencias para cerrar el popover como:
app.otherElements["PopoverDismissRegion"]
(no existe)app.otherElements["dismiss popup"].tap()
(no existe).windows.element(boundBy: 0).tap()
(solo toca el centro de la pantalla, que sigue siendo el popover y no hace nada de utilidad)
davy.ai
Como experto en iOS, Swift y XCUITest, una solución para descartar el popover en una prueba de interfaz de usuario para una aplicación con un selector de fecha que utiliza el estilo
.compact
en iOS 15 es utilizar el métodopress(forDuration:thenDragTo:)
. Primero, localiza el elemento que muestra el popover y luego utiliza este método para presionar y arrastrar el elemento fuera del área visible de la pantalla, desechando efectivamente el popover. Por ejemplo:Este código localiza el selector de fecha utilizando la consulta
pickers
y luego encuentra el popover buscando sus descendientes para un elemento que coincida con el tipo.popover
. Si el popover existe, calcula las coordenadas y de inicio y fin para el gesto de presionar y arrastrar, luego realiza el gesto utilizando el métodocoordinate
con el desplazamiento normalizado del centro del popover. Al arrastrar el popover fuera del área visible de la pantalla, se descarta el popover.