My point to replying was to give context to why people find themselves in the position of being asked to create automation and getting answers like talk to dev. They CAN'T necessarily do that. It can leave posters, particularly new ones, with little option when it comes to solving their problems.
Its easier to jump onto conclusion without knowing all the facts.
As i mentioned in my first post, this was a new project and didnt exist when we picked up this tool for test automation.
And I dont agree with your comment that most of the projects blindly use most modern technologies either. I have worked with so many teams and selection of tool always goes through the feasibility test and if its not supporting the applications we are looking to test, its never implemented, no matter if its a open source tool.
I know exactly nothing about AngularJS. I do know that I have worked on many projects that were very successful without interacting with dev to get them to uniquely identify input elements.
Well, I did not mean exactly your project and it is nice to hear that your team/company does pay attention to tools and technologies and their compatibility before actual development. Unfortunately, I saw too many opposite cases...
As a sum-up attempt:
-- Web elements on the page can be identified by either id, or by XPath/CSS/class name or by text;
-- Without provided id, XPath/CSS will be absolute and thus brittle;
-- Identification by class name is not very stable and unique as well (as an example: there may be a round button on the page with the btn-rnd class. I bet that if designers decide to make this button to look like a star, they will just change btn-rnd class name to btn-star one and this will break your test even if the functionality does not change);
-- Search by text is also not unique and not localizable.
You may try to identily any web element on the tested page with any other tool (browser's Developer Tools, Selenuim, QTP, whatever else) - without unique and stable IDs provided you will have the same identification problem for any tool.
Web elements can also be identified by their neighbors, if not directly withing the NameMapping functinality, that within code.
> Web elements can also be identified by their neighbors
Sure. Which effectively means that those elements must be identified in a stable and reliable manner. And quickly, if possible.