I have a medium sized app which is basically a CRUD app with a lot of business logic baked into each UI. Most logic is of the type: if this widget 1's value is X, widget 2's visibility is gone/visible.
This being said, for the workflow of the UI it is valid for a user to start data entry at any point in the UI, there is no such thing as a linear UI flow for this app.
I am struggling with how to conceptualize the best methodology for building Espresso tests as the UI has approx. 40 widgets that need to be tested together in various orders. Every widget needs to be completed so I can test the validation result at the end of submitting the workflow... If a widget is not filled-in, the validation won't pass and I won't be able to test my completion messages to the user.
I can remove about 30 of these widgets because they do not overly affect the UI logic in a way that could lead to an error. However, in order to test the remaining 10 widgets I'd have to write a lot of Espresso scripts in varying order of execution to ensure all flows work as expected.
This being said, is there an example of what I am trying to achieve or perhaps a way to make Espresso tests dynamic in their order of execution without embedding too much logic to complicate the test?
I really appreciate your experience with large UI tests!
Aucun commentaire:
Enregistrer un commentaire