At present, if you want to conduct web automation testing, the preferred tool is basically selenium, then what is selenium?
What is selenium Selenium is a collection of acceptance testing tools based on WEB applications? It runs directly in the browser and simulates user operations through a series of commands. Selenium can convert these commands into actual HTTP requests to run in the browser.
The naming of Selenium is more interesting. At that time, QTP mercury was the mainstream commercial automation tool. It was the chemical element mercury (commonly known as mercury), while Selenium was an open source automation tool that was the chemical element selenium. Selenium could fight mercury.
Selenium provides a replay tool for writing tests without learning the test scripting language. It consists of various components with specific role help. You may have heard of:
- Selenium RC (RC for remote control)
- Selenium IDE (IDE for Integrated Development Environment)
- Selenium WebDriver
- Selenium Grid
Selenium RC is a storm because it allows developers to control the browser using the software language of the user’s choice! You can use Selenium for codeless processing, or you can fall into the test automation problems brought by Selenium. Wait where did that come from?
Advantages of using Selenium
Finally, it’s time to discuss how the many excellent testing tools that appear on the market every year keep the old Selenium in good condition.
+ Free
Selenium is not the only automated testing tool on the market, but the only free tool that can compete with paid products. As you may have seen in the comparison of automated testing tools, Katalon Studio is the only viable option, but it does not provide too many language options, does not work on Linux, and has no supporters at all. Selenium’s open source status makes tools with a steep learning curve a low entry point for startups and independent developers. Not surprisingly, while Selenium is still holding on, even larger companies will not rush to the paid option and give away thousands of dollars in repair costs.
+Integrated with Agile, DevOps, Continuous Delivery Workflow
Before these words were put into practice, Selenium followed the narrative of Agile and DevOps. The overall nature of selenium is entirely the main principle behind Agile, DevOps or Continuous Delivery. How is this achieved?
- Because it can be ported across all platforms and usually does not require learning a new language, Selenium provides unparalleled flexibility
- Selenium can be easily integrated with various development platforms, such as Jenkins, Maven, TestNG, QMetry, SauceLabs, etc.
- Using Selenium Grid for parallel testing allows developers to receive feedback faster and make changes immediately, instead of waiting for the test to pass all night.
+ Support Mobile Testing
With Selenium, you can also test native, hybrid or web mobile applications, although you need other software. There are two main options- Appium and Selendroid. They are all based on Selenium, so developers who are already proficient in Selenium can apply the same principles when testing mobile applications.
Both tools are open source and have strong community support. The main difference is that Appium supports iOS, Android and Windows devices, while Selendroid only focuses on Android. Selendroid is also bundled with Appium, so when you test Android 2.3 to 4.3 versions, the program will automatically switch to Selendroid.
It seems that using Appium is a more logical choice, because it does not limit you to one operating system. However, if you plan to test Android specifically, it makes more sense to just use Selendroid. It also has some beautiful features, such as “hot plugging”-you can plug in devices and unplug them without interrupting testing, thus increasing the number of emulators or hardware devices that can be tested simultaneously.
You may also want to learn about two other niche tools:
- Robotium- Black box testing framework for Android
- iOS-driver —Selenium WebDriver API for iOS testing integrated with Selenium Grid
+ Widely supported languages, platforms and browsers
The flexibility provided by Selenium is almost unparalleled in the field of test automation. First of all, we have ten supported languages, including Java, Ruby, C#, PHP, JavaScript, Perl and R, all of which are the most commonly used programming languages today. It is also the only mainstream tool covering Linux testing. For a detailed list of supported browser versions and an updated list, please refer to this page.