There are some fundamental shifts happening in the functional web-application testing world. Let’s boil it down:
If there is a weakness in a product, someone will inevitably try to sell you something that fixes it.
What’s wrong with Selenium? Nothing major, but as developers expect more and more out of their tools, difficulties with Selenium are getting more painful:
Developers expect good debugging:
Tools like Chrome devtools offer ridiculously good visibility in errors and the state of the application. Even if you’re not in front-end, the general consensus is that people are getting used to nice debug tools.
Selenium, which runs on a completely different process than the code driving it, can only send you logs of the failure back (and perhaps screenshot it).
Developers expect faster feedback loops:
Being able to restart / rerun a system faster gives returns on development efficiency QUICKLY. The reason some people love nodeJS is because it starts up a million times faster than Java (exaggeration). Also, got into web-application development because CMD-r exists!
Selenium’s feedback loop is extremely slow because it has to start a browser for each test! That’s insanely slow.
So what are people trying to sell?
The community is running some experiments, and the most ground-breaking ones are using tech to avoid Selenium entirely by injecting some scripts into a page that trigger actions and make assertions. This leverages the powers of browser tools for debugging and faster feedback loops.
(comment if you know of any more and i’ll add it to the list)
Will these new tools catch-on?
These tools trade pros and cons with Selenium. It all depends on what developers and teams value more. Selenium is amazingly cross-browser and supports all the way back to IE8… but is that really going to matter soon?
Does speed and value of debugging and feedback loops mean more to you then having flexibility to write the tests in the language of your choice?
Will the new tech’s parent companies be able to balance business and community, and create a product that is open enough for gaining trust and adoption? (if the company/project dies, will you continue to be able to use the code?)
As always, check out my new tool to help generate/organize your Selenium tests at https://www.snaptest.io/
Hacker Noon is how hackers start their afternoons. We’re a part of the @AMIfamily. We are now accepting submissions and happy to discuss advertising & sponsorship opportunities.
To learn more, read our about page, like/message us on Facebook, or simply, tweet/DM @HackerNoon.
If you enjoyed this story, we recommend reading our latest tech stories and trending tech stories. Until next time, don’t take the realities of the world for granted!