Pruebas de UI de Xcode: las Uiviews añadidas con addSubview son completamente invisibles para las testings de interfaz de usuario

He estado probando las nuevas testings de interfaz de usuario en XCode 7.3 y encontré lo que me parece un error.

El problema es que las vistas agregadas a través del método " addSubview " parecen ser completamente invisibles para el sistema de testing de UI.

Tengo esta vista:

introduzca la descripción de la imagen aquí

Y este código de creación de UIview:

let container = UIView(frame: CGRectMake(0, 0, 375, 200)) container.backgroundColor = UIColor.orangeColor() container.isAccessibilityElement = false let label = UILabel(frame: CGRectMake(0, 100, 375, 20)) label.backgroundColor = UIColor.yellowColor() label.textAlignment = NSTextAlignment.Center label.accessibilityIdentifier = "labelIdentifier" label.text = "I am a label" container.addSubview(label) 

Y esta sencilla testing de interfaz de usuario:

 func testExample() { let final = XCUIApplication().staticTexts.containingType(.StaticText, identifier: "labelIdentifier").element XCTAssertEqual(final.label, "I am a label") } 

El problema es que, dependiendo de cómo adjunte la vista naranja, la testing no encuentra la label. Si hago a:

  self.tableView.tableHeaderView = container 

Pase de testing sin ningún problema, pero adjuntándolo con:

  self.tableView.addSubview(container) 

Probamos el siguiente error:

introduzca la descripción de la imagen aquí

Después de cavar un poco en los foros, ya probé todas las configuraciones recomendadas, como configurar en false la propiedad " isAccessibilityElement " del contenedor y tal, pero parece que nada funciona.

Larga historia hecha corta. ¿Alguien ha intentado get un elemento adjunto a otra UIView con el método de agregar " addSubview "?

Hola, creo un proyecto de ejemplo con tableView y su contenedor

y agregar contenedor a tableView

Prueba este ejemplo 🙂

app.tables.staticTexts ["labelIdentifier"]

introduzca la descripción de la imagen aquí

¿Has intentado grabar Xcode para get esa vista? Simplemente grabe y presione en su vista, debería funcionar

También asegúrese de que esta UILabel no esté fuera de lugar "puede inspeccionar usando Xcode"