As a research project to see why test automation of web applications is so hard, and why Selenium scripts seem to break so frequently, we ran an experiment to analyze the top 500 (ranked by Moz) web sites to see what patterns we would find that we could use to help automation engineers succeed more easily. In this talk we will present some background on the problem, then detail our findings from the Moz 500 research experiment, showing how we crunched the data regarding which attributes, CSS, ARIA, IDs sites are using to see how best practices developed in theory will work in practice. The talk provides suggestions and ideas derived from the data about how we can create more reliable tests. It discusses tools and techniques that can be employed to make automation scripts easier to create and maintain. Finally, it suggests ways in which we can use a combination of Artificial Intelligence and Machine Learning to automate some of these solutions and make tests self-healing.