Selenium Testing: flexible, easy and fast

 

This time our article is dedicated to Selenium, as one of the most effective testing software programming frameworks our Agiliway QA team is currently working with.

The history of Selenium dates back to 2004 when Jason Huggins created a JavaScript program having on his mind to automate the browser’s actions’ control and gave it the name of “JS Test Runner”. The program was developed as a result of an obvious inefficiency of manual testing usually used at that period. Later on, when the effectiveness of the testing framework became evident, it was made open source and renamed as Selenium Core.

The story of Selenium’s appearance sounds to be pretty interesting, but let us focus on the practice though. Here, in Agiliway, we highly value and, consequently, frequently use Selenium to make the products developed flawless and absolutely free of a number of bugs and errors. Understandably, we praise it not as a well-known antidote (unless against ‘bugs’ while coding) but as an effective automated testing framework.

By the way, here you are a short lyrical digression regarding the famous joke related to the very Selenium name origin. The point is, that in the course of the Selenium’s development at the very beginning of the 21st century, there existed another highly popular testing framework, which was worked out by a company called “Mercury Interactive”. Due to the competition and a desire to win the market, a newly developed software got a name of a Selenium as ‘the one removing Mercury from the body”. For better understanding: Mercury (Hg) is a chemical element causing an acute poisoning while Selenium is an effective antioxidant, a well-known antidote against mercury poisoning. So, in such an extraordinary way, the Framework, as we have it today, was born.

Selenium, as an automated testing platform has a number of the following advantages: 

  • flexibility: there are a number of various programming languages, platforms and browsers it supports (to be discussed further);
  • cost: it is absolutely free;
  • finally, it allows parallel testing; a feature that cannot but adds considerably to its effectiveness and applicability.

You may be misled by the belief that the Selenium Framework is for web apps only. Absolutely not. We use Selenium for both web and mobile (native and hybrid) application development. The mobile apps are usually tested using the Selenium-Appium combination for better automation. Appium is really good at writing scripts with Selenium serving as a web driver in this tandem.

READ ALSO: HOW DISRUPTIVE TECHNOLOGY DRIVE INNOVATION

Having ample experience working with Cucumber (BDD Testing), C-Shop and others, Selenium libraries with Robot Framework are what is preferred during the development/testing processes. What is Robot Framework? It is a kind of an acceptance test driving development, an automated testing framework being both flexible and powerful, simple and smart. This AT driven framework is extremely good for non-technical people to understand the script perfectly.

What is more, there is a good implementation/integration of Robot Framework with Jenkins CI/CD. It is less messy than Cucumber but equally wide-action specific.

Actually, you can write in Selenese (selenium-based language), Python, Ruby, etc. How to make the best choice? We opt for Python due to its pure code/script, with readily implemented packages on Python and easy writing in Robot Framework.

The process of a common Selenium automated testing procedure comprises: 

  1. creating test cases; 
  1. afterward, creating scripts (as based on the test cases). 

P.S. It is absolutely possible to start writing test cases without even any front-end as well as back-end development provided. Having a ready user-story is the only condition necessary for the test cases testing procedure starting. Afterward, when all the staff is ready, one could proceed with writing scripts.

Finally, what stands behind the decision of the way your test will be written? As soon as a new feature has started or when all the inner documentation is ready, we can boldly start a test writing procedure.

Depending on the very feature, the whole process of testing usually takes from 20 minutes to 2 days. While talking about the sprints, each of them includes a user story written and a test case delivered.

With Selenium testing, we and, consequently, our clients feel confident, secure and positive. In case you would like to give this testing framework a try or have any issues to be tackled, turn to our experts and get all the assistance needed.

READ ALSO: CLOJURE IN PRACTICE