If You Are Just Starting In QA And Pondering Over Automation Tool, Here's How 3 Popular Ones Work Under The Hood
That can help you pick one over other
Software QA is a process and Automation sits at the crux of it all.
Early days of the Automation QA world, the options were limited, and the skill set was niche. QTP (Quick Test Professional), a commercial tool, dominated the market that required trained and skilled professionals to handle the inner workings.
Thanks for reading Vaibhav’s Newsletter! Subscribe for free to receive new posts and support my work.
Selenium and with that the emergence of open source tools changed the dominance of QTP.
Today, when we talk about Automation of the Functional Tests, we primarily look at two tools -
Selenium
Selenium is as close a tool can come to simulating interactions like a real user in a browser.
It uses WebDriver API to communicate with the browser of the application under test. The webDriver refers to protocols and language bindings with implementations of individual browsers to interact with the application.
It is a simple-to-use interface to automate user actions on the browser remotely.
The major disadvantage is that the remote execution can be flaky and slow.
Cypress
Cypress is relatively new, open-source and well maintained.
It executes the code natively inside the browser engine. It is lightning quick and provides integration with almost all major front-end frameworks. It typically uses Javascript/Typescript for scripting tests.
It is developer friendly to build unit, component and integration testing while QA engineers can lean on it for End to End testing.
The major disadvantage is that it works inside the browser engine and hence does not provide a pure user interaction experience.
Playwright
The playwright is the new cool tool on the block with a major name behind it, Microsoft yet open source.
It is a node library that communicates with the browser engines using a WebSocket connection. It is headless and event-driven. It does mean though that it is faster than Selenium but not rapid as Cypress.
It is a middle ground between the two previously mentioned tools with the benefits of both put together.
The disadvantages though are that it works with the browser kits, so it does not imitate a user interaction, and as it is a new tool on the block the support and documentation can be tricky.
In Conclusion, for a team that is still pondering its options, a tool does not clearly give an advantage or disadvantage.
Simple factors I look at when I pick a tool are -Documentation and SupportCoverage of different types of tests and the volumeOption to create an easy-to-maintain framework/design patternExpertise in my team
All the above tools work brilliantly for functional testing and have good integration with source code management tools and the cloud.
Thanks for reading Vaibhav’s Newsletter! Subscribe for free to receive new posts and support my work.