[Android Espresso] Comprobar posición de botones en un LinearLayout

iNerZiA

Buenas,

Estoy haciendo testing de una APP, la cual una pantalla consta de un Linear Layout con 4 botones y hay que comprobar que esos botones están en orden. Mi pregunta es cómo acceder a ese linear layout y comprobar que posición deberían tener esos botones.

LLoid

https://developer.android.com/reference/android/support/test/espresso/assertion/PositionAssertions

1 respuesta
E

getChildAt() puede que te sirva.

iNerZiA

#2 Muchas gracias! Había mirado la cheat sheet de Espresso, pero como me decía que estaba obsoleto no quise implementarlo, pero en Android Studio me matiza diciendo que está obsoleto solo para Java. Mil gracias!

LLoid

A ver, deprecated está, pero que yo recuerde no hay alternativa en AndroidX todavía y te va a tocar usar esa librearía. Lo de deprecated in Java te lo dice si estás picando en Kotlin, si no recuerdo mal, porque el IDE no es capaz de sacar la anotación deprecated del código original.

1 respuesta
iNerZiA

#5 Muchas gracias por la info, y perdón por la molestia, pero para comprobar el contenido de un array es con el onData no?

1 respuesta
LLoid

#6 ¿Te refieres al contenido de un listview o un recyclerview? https://stackoverflow.com/questions/31394569/how-to-assert-inside-a-recyclerview-in-espresso

Si te refieres al contenido de un array de datos Java tan fácil como iterarlo en un for, y si es en Kotlin seguro que hay alguna lambda function que no recuerdo para mirar el contenido. (.contains{ } quizá? no recuerdo)

1 respuesta
iNerZiA

#7 Lo que no entiendo es porque no me deja acceder a la array desde el test

zoeshadow

Otra opción es usar Barista, hace que la API de Espresso no de tanto asco ...

https://github.com/AdevintaSpain/Barista

Usuarios habituales

  • zoeshadow
  • iNerZiA
  • LLoid
  • Eoreh