Caught a lunchtime demo of Jakub Zak’s automated testing suite which uses Cucumber Selenium, and Sauce Labs to test mobile devices in the cloud over at the Infinity Works office yesterday.
I can’t believe I’m saying this, but one of the things I most liked was a configuration file which mapped selectors for the UI elements to program code variables by using a YAML file. This helped to separate the element selectors from the code.
From memory, it looked something like:
main: loginButton: '#header > div > nth-child(3) > .button'
It’s better if all of your UI elements have easy-to-use ids and selectors, but I can imagine working on a legacy system that’s missing that, and using this idea to deal with the mess.