UI Testing Standardization
in Developing jQuery Core
•
12 years ago
Ahoy all,
I'm Thomas Aylott. Board member of MooTools and UI Developer @ Cloudera, Inc.
At the recent Dojo Developer Day we had some very productive discussions about the current state of UI Testing, where we see it going and what we can do to improve it in a cross-platform way. In this thread I hope to get support for making the practical steps necessary actually accomplish something useful quickly.
It is my intention to help
standardize automated UI Testing
across all JavaScript environments.
http://wiki.commonjs.org/wiki/UI_Testing
The plan, in a nutshell…
1) Standardize a low-level UI Testing API.
Similar to how the CommonJS Testing API is intended to be a standard low-level testing API that people can build high-level testing solutions on top of.
e.g. click(x,y) tap(x,y)
2) Create wrappers to map existing UI Testing solutions to the new standard.
e.g. doh.robot, Selenium, Windmill, Syn.js
3) Collaborate with platform vendors to get them to implement the low-level API natively.
e.g. RIM, HP/Palm, Android, iOS, Fake.app, Selenium
4) Collaborate on an emulation UI Test Runner.
Might be more likely than getting native UI Testing support on mobile devices themselves.
5) Collaborate on a higher-level UI Testing solution that uses the low-level API.
e.g. click(myButton) twoFingerSwipe(myWidget)
…
6) Profit! (j/k)
—
I want (#1) low-level UI Testing API to be designed and agreed upon by the community.
That's the only way that it'll ever get any traction.
I want everyone to be able to write simple tests that aren't entirely implementation-specific.
More than anything, I want all frameworks and all individual UI Developers to actually test their UIs.
I want testing to become an expected part of our jobs.
Eventually I want people to be hired based on their devotion and experience with UI Testing and have that knowledge translate from one environment to another and one job to another.
The low hanging fruit is with desktop browsers like IE & Firefox, but I want us to be forward thinking and make sure that the low-level UI Testing APIs are compatible with desktop, handheld, tablet, embedded (i.e. TVs), etc…
What is the best place to collaborate on these things?
Currently I have a wiki page up here: http://wiki.commonjs.org/wiki/UI_Testing
How are you currently doing UI Testing?
Thanks!
— Thomas Aylott – SubtleGradient – MooTools – Cloudera —
2