You can record tests in Selenium or something like Capybara and replay them using something like PhantomJS, which is a headless browser-like JS execution environment that does things like generate a would-be DOM: <a href="https:&#x2F;&#x2F;github.com&#x2F;jnicklas&#x2F;capybara" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jnicklas&#x2F;capybara</a><p>You can also use Selenium tests with things like <a href="https:&#x2F;&#x2F;www.browserstack.com&#x2F;automate" rel="nofollow">https:&#x2F;&#x2F;www.browserstack.com&#x2F;automate</a> , where TL;DR they run your selenium test on dozens of browser + platform combinations and send you the results, like screenshots and any javascript errors. If you&#x27;re familiar with CI stuff, you can see how powerful this has the potential to be. It&#x27;s non-trivial but very possible to run your own cluster of selenium nodes as well; check out the official Selenium Grid: <a href="http:&#x2F;&#x2F;www.seleniumhq.org&#x2F;projects&#x2F;grid&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.seleniumhq.org&#x2F;projects&#x2F;grid&#x2F;</a>