Selenium webdriver automation is a journey
Olli Kulkki
Bughunter and Quality Assurance Specialist in Tech | Skilled in Cross-Disciplinary Projects | Expert in FinTech, Telecom, Media | Focused on Long-term Client Satisfaction & Team Innovation
Selenium is a market dominant way of creating test automation. A successful test automation strategy requires configuration management. As an engineer, be prepared for changes in semantics and work on dependency analysis when going forward running your favourite testing framework.
In this article I introduce the defining evolutions of my automation journey (on a fairly abstract level).
My favourite tactics to win in the long term is to avoid creating extra complexity through functionality that you assume you may need in the future. A journey is best travelled one step at a time.
It works on my machine. I have installed a framework and chromedriver. When I run the test I can see what is going on visually on the screen.
It runs but I can do other things at the same time. Selenium does not launch the browser UI. My terminal is logging enough information for me to understand what is going on, and evidences are recorded so I can stage a walkthrough with stakeholders when necessary. This gives you freedom.
It runs on a Jenkins. I can clone all of my repositories to a continuous integration server and execute tests when necessary, periodically, inside and outside of office hours. The terminal recordings are published as test results and artefacs. This enables you to do more, with less.
领英推荐
It runs on Jenkins with multiple remote browsers. Safari. Internet Explorer. Samsung browser. Iphone. Windows 10. Windows 11. 1024x768. Commercial providers are managing the installation and maintenance processes. This enables you a full customer experience.
Selenium webdriver is a software like any other, and it is defined in various ways by instantiating it in your test automation. These instances have classes, you define options, you define desired capabilities and capabilities. But as the webdriver software evolves to new versions, you will have to patch the versions of your framework aswell. You will end up with a mesh of what works with whom and values that you need to pass from one place to another. Add some complexity with a layer of passwords, tokens, certificates, access to version control and access to proxies.
Configuration management. A successful test automation strategy requires configuration management. You need various golden configurations. Versions that speak to each other at the core internals with the same number of parameters. Example, if your webdriver requires 3 options, and your framework sends 4 options, the action is followed by a crash. If you send an array, and the receiving interface expects a json object, the action is followed by a crash.
Collaboration. Any successful journey is only taken together. There are rare occurrences in the history of any testing professionals when continuous successful result capabilities are created by an individual only.
Gladiators of collaborative testing, I salute you.
The author wishes to help the development environment hold the weather and reduce the number of disappointments experienced by millions of people in everyday life.