- Views: 14
- Report Article
- Articles
- Computers
- Software
The Good and the Bad of Selenium Test Automation Tool
Posted: Feb 07, 2019
Who doesn't love a deep-background naming narrative? In the early 2000s, a firm called Mercury Interactive ruled the evaluation automation globe using Astra Quick Test, its own tool. It wasn't the ideal product imaginable. For instance, you could just run tests on Windows computers, even just a few browsers, and you had to use a single language to compose scripts -- VBScript.
When applications engineer Jason Huggins assembled a new, revolutionary test automation instrument, he called his production by clarifying the chemical component and nutritional supplement recommended as an antidote for mercury poisoning -- selenium. And this tool is what we're going to review now.
Selenium is a package of open source software testing automation tools that has been the de facto merchandise in the quality assurance world. Having a listing of many programming languages, all of major operating systems and browsers affirmed, Selenium is presently used in production from these businesses as Netflix, Google, HubSpot, Fitbit, and much more.
The entire suite provides a variety of solutions for various testing problems and needs. Further in the report, we'll speak about such tools. Now, let's examine what it is all about Selenium which made it such a big deal.
The revolutionary part of it was that no other tool before it enabled users to speak to the browser into their own programming language of choice.
However it soon became evident that browsers employed security limitations on JavaScript, making it impossible to utilize the program's full capacities. At that time Google was an avid Selenium user, however, engineers struggled around the limitations. One of them, Simon Stewart, started to work on an item that would talk to browsers natively, which he predicted WebDriver. Selenium combined drives with WebDriver and altered the way we've been analyzing applications for more than ten years.
To Begin your Selenium travel, check out the following mini starter package:
Download Selenium
Selenium Documentation
Selenium User Community on Google Groups
Selenium GitHub project
Join Selenium IRC chat channel
Selenium Suite Infrastructure
The very first product from the Selenium lineup was Selenium Remote Control. Owing to its aforementioned limits and the next unite with WebDriver, it was soon deprecated and is no more supported. The whole Selenium infrastructure could be visualized via the image below and we could highlight three major products which are still heavily supported and understood by the neighborhood: Selenium WebDriver, Selenium IDE, along with Selenium Grid. Let's quickly describe each of them.
Selenium Suite now
The majority of the time, when folks talk about Selenium, they mean Selenium WebDriver. The most significant chunk of the product's growth is focused on this particular part.
The way test automation in WebDriver functions is frequently in contrast to cab driving. There are 3 participants in cab driving and test automation: customer/test engineer, car/browser, cab driver/Web Driver.
According to the analogy, a tester orders WebDriver to socialize with the components the identical way a customer gives directions to a cab driver. Then, WebDriver gives the browser (the car) controls that seem something like that: When the button is clickable, click on the button.
Then the browser provides WebDriver information regarding attributes and statuses of internet elements, which can be sent to the script. If you would like to understand more on the subject of quality assurance actions, see our detailed program testing whitepaper.
Selenium
This Firefox add-in is dismissed by half of the testers and celebrated from another half. Not meant for manufacturing, it's simple to learn and ideal for prototyping tasks. You do not require programming skills to successfully function in Selenium IDE as it basically records your activities in the browser and reproduces them.
Selenium Grid
Selenium Grid permits you to run concurrent tests on multiple machines and browsers in precisely the same moment. The most important purpose of the tool is to conserve time. If you have to run say 100 tests but you utilize Selenium Grid to set up four virtual or physical machines, it is going to take you regarding one-fourth of this time that it would have obtained if you ran these tests one by one on a single device.
Considering how scripts typically operate slowly to a browser, using performance-improving techniques such as concurrent testing can assist with the problem. It is also possible to use it in order to test 1 program in different browsers at parallel, when a single machine is operating Firefox, the other -- Chrome, and so on. You may make different settings with Grid, combining different versions of programs and operating systems.
Pros of using Selenium
+ Free
Selenium is only one automation testing tool on the market, but it is the only free one that could compete with products that are paid. Since you may have seen in our automated testing software Katalon Studio is the only workable option but it does not supply that large of a vocabulary option, doesn't work on Linux, also just does not possess a fanbase behind it. Selenium's open source status creates a tool with a steep learning curve that a minimal entry point for start-ups and independent developers. No real surprise that even bigger businesses do not rush to change to paid options and give a few thousand dollars plus upkeep when Selenium still retains up.
+ Integrated using Agile, DevOps, Constant Shipping workflow
The whole nature of Selenium falls perfectly into the main principles supporting Agile, DevOps, or Continuous Delivery. How exactly is this achieved?
Since it's portable across all platforms and also often doesn't require learning new languages, Selenium allows for an unparalleled flexibility
Selenium easily integrates with various development platforms like Jenkins, Maven, TestNG, QMetry, SauceLabs, etc..
Parallel testing with Selenium Grid allows developers to get feedback considerably faster and operate on the changes immediately rather than waiting overnight for a test pass.
+ Supports mobile testing
With Selenium, you may also test hybrid, native, or internet mobile programs, though you will need additional software. There are two main choices -- Appium along with Selendroid. They are both based on Selenium so that programmers already familiar with it could apply the same principles when testing mobile programs.
Both programs are open source and have good community support. The primary difference is that Appium supports iOS, Android, and Windows apparatus, whilst Selendroid focused entirely on Android. Selendroid also bundles with Appium to ensure when you examine for Android variants 2.3 via 4.3, the program will automatically change to Selendroid.
According to iDataLabs, more than 25k companies are using Selenium
As one of the pioneers in contemporary automated testing, Selenium obtained a fanbase of developers in leading players such as Google and startups, also. The job listings for QA professionals include Selenium proficiency among the required skills.
There are choices to Selenium, which we said earlier, but their pricing ranges from a few thousand dollars to 10k. Possessing an exceptional free application at hand retains old rabbits loyal to Selenium, and new ones getting fans.
+ Big library of plugins
Selenium may be expanded beyond its standard performance with a broad array of plugins. Appium and Selendroid are two of these. On this site you will observe third-party plugins that are somewhat officially endorsed by Selenium, however you can find more jobless ones onto Github. Be certain to also google "Selenium plugins "and you may find an extension for effortless integration with your favourite programming product, like Jenkins or even Eclipse.
All these plugins exist not only for WebDriver but also for Grid and Selenium IDE. The latter ones are particularly extensive, capable to strengthen the functionally-weak tool and ensure it is production-ready.
Disadvantages of using Selenium
We praise a software product without mentioning a few pain points that come with this. Selenium has a few of those, too.
- Steep learning curve
One of the automated testing trends is codeless testing. This strategy allows anyone without deep programming knowledge to successfully perform evaluations. Some testing programs such as TestComplete, Ranorex, or even Tricentis provide this choice by building a user-friendly UI in addition to the code coating and also allowing switching between two modes. Testers can still write scripts and receive comprehensive feedback but skip the coding part if needed.
Selenium, nevertheless, doesn't permit for codeless testing. You will need a fantastic grasp of a few of those programming languages which narrows down the pool of people which may be participated from the testing process. Many firms, especially startups, often use their best coders to write product features and engage less proficient folks in automatic evaluations. This won't work with Selenium.
- No built in picture contrast
From the QA process, there are problems in automating picture verification. The very simple and best means to decide whether an image is displayed properly on the display is to check manually. As soon as it's standard for many productions to use a blend of manual and automated testing, this can be a large supply of bugs since the job soon becomes repetitive and testers have a tendency to check less often.
- No technician support
Searching for aid with Selenium is a sword that is pleated. Above we mentioned the prosperity of tutorials, questions, answers, and links to chat rooms where you could ask the community to assistance. The negative of this is the fact that it is the community which gives help, maybe not the product creators. Finding a solution to your unconventional difficulty or assist with custom requests is possible, however difficult.
- No reporting abilities
Testers, developers, project managers -- that they need access to test results, rather visualized in the form of charts, tables, and backed by screenshots.
I work as a Senior Testing Specialist at TestingXperts. I handled day-to-day operations for all aspects of software testing. With over 7 yrs of professional experience I know how to build strong connection.