Selenium Article Series - 2 - What is Selenium? It's Limits, Advantages and Sub-Products

Selenium Article Series - 2 - What is Selenium? It's Limits, Advantages and Sub-Products

-Yes Olric, what was our topic today?

-We were going to talk about Selenium's basic features, advantages, limits and sub-products, colonel.

-Yes yes, it's good that you reminded me. Thats old age, we can forget. So let's start!

- (He said in his mind) We are the same age, colonel! ?? Don't forget to take Selenium supplements!


Basic Features of Selenium

There is a statement on Selenium's official website: “Selenium automates browsers. That's it! What you do with that power is entirely up to you.”

We stated that Selenium is an open source framework application used to automate web-based applications. Selenium helps automate the operations performed by users in web applications according to a certain flow and rules. Entering a value in a textbox, selecting a value from the listed options, clicking a certain button or field with the mouse, executing JavaScript commands, drag-and-drop the appropriate web elements are just a few of the countless operations that Selenium can perform. Although many tools and technologies have advanced in the automation industry, Selenium is still the leader in this field by a large margin.

ToolsQA - Automation Tools Statistics

Selenium, which emerged with the work of Jason Huggins in 2004, has gained popularity day by day and has been supported by large communities, and today it has become an indispensable member of test automation, offering support for many languages, operating systems and browsers, and used by companies such as Google, Apple and Amazon.


Advantages of Selenium

  1. Being Open Source: Since Selenium is open source, it can be accessed and used by anyone for free, without requiring a license fee.
  2. Wide Programming Language support: One of the most advantageous, and perhaps the most important features of Selenium that distinguishes it from other tools, is its ability to work with many programming languages. Java, Python, JavaScript, C#, PHP are some of them.
  3. Wide Browser Support: Selenium supports many popular browsers. Google Chrome, Mozilla Firefox, Microsoft Edge and Safari
  4. Operating System (OS) Support: Compatible with Windows, Mac OS, Linux and Solaris operating systems.
  5. Easy to integrate: Selenium can easily integrate into an existing project according to needs.
  6. Framework support: Supporting frameworks such as Maven, TestNG, PyTest, Mocha, Junit, Selenium can also easily integrate with CI (Continuos Integration) tools such as Jenkins, GitLab and Travis.
  7. Reducing repetitive code – Code reusability: Since Selenium uses a common interface for browsers, it allows the same code to be run in many browsers without the need to write new code.


Limits of Selenium

  1. Selenium does not support automation of desktop applications.
  2. Selenium alone cannot provide comparison and verification of tests. For this, it requires frameworks such as TestNG, Junit, PyTest.??
  3. It requires external libraries for logging, reporting and file management processes.
  4. For Web Service testing (REST or SOAP API) Selenium is not a suitable tool.
  5. Although Selenium provides access to some performance metrics with its latest version (Selenium 4), it is not a suitable tool for performance tests.


Components of Selenium

  • Selenium IDE: This tool is a sub-product of the Selenium project, which is offered as an add-on for Chrome, Firefox and Microsoft Edge, and creates tests without code by recording the web locations and actions of the user's actions in the browser and thus allows them to be replayed. Since it is very simple to install and use, it is a preferable tool, especially for those who do not know coding, to learn Selenium terminology in the process of starting test automation.
  • Selenium Grid: It is a tool that allows written tests to be run simultaneously and in parallel on different servers, different browsers and operating systems. This tool is often preferred to save time and resources, especially in large systems containing many test scenarios.
  • Selenium RC: Selenium RC (Remote Control), this tool developed using JavaScript, served as a middleware between the user and the browser, allowing automation tests to be written in any language. Although it was the main product of Selenium for many years, it was removed from circulation due to difficulties and restrictions in its use and was replaced by Selenium WebDriver.
  • Selenium WebDriver: It is the most well-known and used main tool of Selenium. Different drivers are available for different browsers (Chrome, Firefox, Edge, Safari). It allows automation experts to write test cases in the programming language of their choice. It has a completely object-oriented framework. The code written by the tester in any language is transmitted to this WebDriver tool via a communication protocol. This tool interprets this code on the real browser, performs the operations, and then sends it to the code in the same format. While Selenium 3 version uses the JSON protocol, the latest version, Selenium 4, uses the W3C protocol. The image below shows the Selenium 3 WebDiver architecture structure:

Selenium 3 WebDriver Architecture

-Yes, Olric, we have completed our topic today. I hope it is understood that Selenium is a very useful tool in automation testing processes. We can use it in many areas except some restrictions. Don't we want to test everything in our daily lives? Is there anything left that cannot be tested?

-You are wrong, colonel. We cannot test the most basic point in our daily lives and we will never be able to test it.

-So, what is that thing that we cannot test?

-Time colonel, time itself! In order to test something, we must first have the expected result. However, time is such a concept that we can never determine the expected outcome. Of course, we have predictions and plans, but how can we evaluate a fact or event as the expected result whose probability value is not 1? Moreover, some parameters or data must remain constant during the test. Time does not stand still, colonel, it resists all the shackles. No, colonel, as a mathematician, I do not accept that everything should be testable.

-I think you're right, Olric, give me some time to think about these, okay? Sometimes I think you come from planet B-612.

-Yes, colonel, you guessed it right. Unfortunately, I fell to Earth as a result of the sudden decrease in the gravitational force on my planet. Is there no way to get back to my planet, colonel?

-I'm sorry, Olric!

-Well, colonel, I think our show today is over. Let's add the resources we used below and wish everyone well-being.


Resources:

https://www.selenium.dev/other/

https://artoftesting.com/selenium-introduction

https://www.toolsqa.com/selenium-webdriver/selenium-testing/

https://www.toolsqa.com/selenium-webdriver/selenium-webdriver-architecture/

https://www.softwaretestinghelp.com/selenium-tutorial-1/


要查看或添加评论,请登录

Kaan Denizay的更多文章

社区洞察

其他会员也浏览了