title: Unique identifiers for ui automation
body: <p>Our ui automation team is asking for a better way to select elements for their automated tests. My thinking is that we can inject a dedicated attribute (say "ui-auto") for each testable element. This attribute would have a value which is:</p>
  
  <ul>
  <li>unique</li>
  <li>persistent (doesn't change across sessions or page loads so as to not break the tests)</li>
  <li>predictable (follows some naming convention depending on action type, location, etc.)</li>
  </ul>
  
  <p>My questions are:</p>
  
  <ol>
  <li>Is this a good idea? better ideas are welcome.</li>
  <li>Are there existing conventions for this?  </li>
  <li>What the best way to implement
  this? </li>
  </ol>
  
  <p>I should mention that we are using angular and I thought that
      using some kind of directive and/or service would help automate
      this.</p>
  
  <p>I should also say that I don't want to use the "id" attribute b/c I'd like to have separation between development concerns (ids may be used for javascript), and qa concerns (selection of elements for automated tests)</p>