Here at Sauce Labs, we love Selenium. It was created by our co-founder Jason Huggins, so it will always have a soft spot in our hearts. But the truth is, if we are being technical, Selenium is more of a robotic browser control mechanism than a true test automation framework. While Selenium can definitely be part of your test automation strategy, the use of it in itself would not qualify as a proper testing strategy.
So, how should we use Selenium within our overall strategy? Simply put, Selenium takes the commands that you ask it to execute on the browser and performs that task. A common misnomer is that Selenium is running tests directly on your software, the reality is that it is actually interacting directly with the browser that is running your software.
The software development lifecycle is a process that runs from the gathering of requirements and planning all the way to release. You really want to be focusing on Selenium during that part of the process that we are testing code and making sure it behaves the way we want it to perform in order to deliver the best possible user experience. From that mindset, we really want to think of Selenium as a UI investigative tool. Clearly, this is just one piece of your testing automation journey, the overall strategy is much more in depth.
Check out this video for more on how I think we should approach Selenium.
Come back next week when I discuss the difference between testing APIs and testing UI.