title: Options for recording the tasks done in a browser for UI Automation Test
body: <p>Is there a tool that can record user interactions with DOM elements for usage in creating automated tests (I'm using <a href="https://codeception.com/" rel="nofollow noreferrer">Codeception</a> and <a href="https://laravel.com/docs/5.6/dusk" rel="nofollow noreferrer">Laravel Dusk</a> but any tool with roots in Selenium is fine). I'm looking for something to record a sequence and get back a list that might include:</p>
  
  <ul>
  <li>Browser navigate to <code>/contact</code></li>
  <li>Focus input "#name"</li>
  <li>Enter text "Joe" in input <code>#name</code></li>
  <li>Focus textarea <code>textarea[name=message]</code></li>
  <li>Enter text "Hello world" in textarea <code>textarea[name=message]</code></li>
  <li>Click element <code>input[type=submit]</code></li>
  <li>Browser navigate to <code>/contact?thanks</code></li>
  </ul>
  
  <p>I see <a href="https://ghostinspector.com/" rel="nofollow noreferrer">GhostInspector</a> but that is tied directly into a cloud based company and I don't want that, I'd like some degree of control over what the plugin does and be able to record pages not on the public web.</p>
  
  <p>I can see building a tool that recorded every action is non-trivial - mousemove events, focus, text selection, keyboard events, scroll events, etc. Ideally I can say "listen to every focus, click, and keyup event on an input or textarea or button or select or option" and also watch for url changes.</p>
  
  <p>Does such a tool exist? Doesn't matter what browser stack it runs on really, just need the ability for a user, maybe a novice user, to go to a website, hit record, do some actions, and get back a list of what occurred.</p>
  
  <hr>
  
  <p>The instantaneous downvotes that contend my question is "not about programming" prompt me to improve my question. I don't presume the nature of the tool - it might be programming methods? Ways to use the browser to listen for all events and log them in some manner? Might be a Chrome extension? Might be a framework? Might be a library? <em>I'm looking for the experience of programmers to help me with the programming task I'm trying to accomplish.</em>  </p>