As part of a performance test I was doing recently, I had to put together some Webtests for a non-Metawidget-based UI. It was a painful experience, and reminded me of an important feature of Metawidget I haven't blogged about before: consistent, predictable ids.
Because Metawidget generates your widgets, it also generates your widget ids. And it can do a much more thorough job of naming these ids in a consistent, predictable manner than any human developer. This makes writing tests for your UIs much easier, because you know (or can deduce) what all your field ids will be in advance:
- No more using Firefox and Firebug to look up the name of every single field as you go: once you know the first couple, the rest just follow suit.
- No more getting halfway through writing your test case only to find you've forgotten to sensibly name one of your fields and have to go back and update the app code.
- No more back-and-forth between the dev team and the test team as to what the field naming convention should be, or where someone hasn't followed it.