Selenium Vs Testsigma | Which is the Best Automation Testing Tool?

Posted on the 19 June 2020 by Testsigma @testsigmainc

Introduction

As Agile methodology was introduced, the need for fast and continuous delivery of software applications increased.

Fulfilling this need, automation testing within organizations increased. Various free open source and paid automation testing tools were introduced. 

Selenium was the first open-source automation tool introduced and organizations moved towards this tool for their test automation needs.

Currently, all industries and organizations are transforming and adopting from an open-source language based architecture like selenium to new advanced tools to deliver quick and easy to use approaches with less resources, effort, cost and time.

Let us first explore more about Selenium and it’s usage. Later in this article, we will discuss Testsigma which is transforming the complete testing industry. It is easy to use and allows the use of natural language to create your test case very easily.

Introduction to Selenium

Selenium is an open-source test automation tool which automates the test cases to test a website’s behavior on a browser. It can only automate test cases for a web application on a browser and is not usable for automating test cases for desktop or mobile applications. 

It is a  browser-based test automation tool which is designed to support cross-browser (i.e. Chrome, Firefox, Safari etc. ) testing and is integratable with multiple programming languages (i.e. Java, Python, etc ). Also, it supports scaling up and distribution of scripts across various environments. 

There are various disadvantages of using Selenium(we will discuss it later), one of them is that it requires strong technical knowledge about programming language because it’s script can only be written with the help of programming languages like Java, Python etc.

 Cloud-based test automation tool, Testsigma introduced to overcome this issue. Testsigma simplifies test automation, lets one create test cases in natural, simple English language (It does not require any specialized knowledge of coding).

Introduction to  Testsigma

Testsigma is cloud-based test automation tool. It’s using natural language and an easy to use interface enables any user to automate any type of application very easily. Testsigma is a test automation ecosystem to plan, design, develop, execute, analyze, and report for continuous testing in Agile and DevOps.

Let’s look at some advantages & disadvantages of these tools.

Advantages and Disadvantages  of Selenium 

Advantages:

1. Selenium is an open-source and free software

2. It supports multi programming languages like Python, Java, C# etc.

3. It supports multi-operating system support like Windows, Linux etc.

4. Selenium supports execution on multi browsers like Chrome, Firefox etc.

5. Selenium supports parallel test cases execution

6. Selenium consume less hardware support for test cases execution

7. Selenium supports integration with TestNG, Jenkins and other softwares

Disadvantages:

1. It requires strong programming language knowledge to create test cases

2. Selenium can support only web-based applications, so if the requirement is to test the native mobile or desktop application it will not be supported by Selenium

3. It’s more dependent on additional integrated software to achieve the various operations like for reporting we have to integrate TestNg

4. Selenium does not have any dedicated support of any technical issue

5. Selenium test case creation and reporting is requires a lot of time

6. It’s difficult to setup the environment, takes more time to set up

7. New version release with the latest feature may or may not work (because of open source)

To overcome the above disadvantages of selenium, let us explore the advantage of using Testsigma.

Advantages of Testsigma:

Below are some of the advantages of using Testsigma:

1. It does not require expertise in programming languages to set up and execution

2. It required very less time to implement the test environment

3. All test cases and the result are stores  in the cloud so you can access it anytime and anywhere

4. There is no need for additional test environment setup and maintenance

5. Low-cost implementation

6. Test case creation is in neutral language, so anyone can create it with just English knowledge

7. 24×7 expert  technical support

8. Cost-effective

There are various other advantages of using Testsigma, to elaborate more, let us take an example of how we can achieve automating test cases in Testsigma and then would compare it with Selenium in terms of time, cost, resource knowledge etc. parameters.

Test Case Creation:

Test Case-1:

1. Go to http://travel.testsigma.com/

2. Select “Multi-city”

3. Select “From Destination” as “LA-US”

4. Select “To Destination” as “NY-US”

5. Select “Depart Date” as 1 Mar 2020

6. Select “Return Date” as 7 Mar 2020

7. Select “Passengers & class” as “2 adults” and “Premium Economy”

8. Click on Search

9. Verify that 2 results appear with values from as LA and destination as NY

Test Case-2:

1. Complete booking

2. Go to http://travel.testsigma.com/

3. Select “One Way Flying”

4. Select “From Destination” as “WDC-US”

5. Select “To Destination” as “LD-UK” 

6. Select “Depart Date” as 31 Mar 2020

7. Select “Passengers & class” as “1 adult” and “Business”

8. Click on Search

9. Verify that 4 results appear with values from as Washington, DC, and destination as London

10. Click on 3rd book now button

11. Click on continue on the page

12. Verify that correct details appear on the next page

13. The test case fails because the details don’t match, to, fro and booked dates

Test Steps:

1. Go to http://travel.testsigma.com/

2. Select “Multi-city”

3. Select “From Destination” as “LA-US”

4. Select “To Destination” as “NY-US”

5. Select “Depart Date” as 1 Mar 2020

6. Select “Return Date” as 7 Mar 2020

7. Select “Passengers & class” as “2 adults” and “Premium Economy”

8. Click on Search

9. Verify that 2 results appear with values from as LA and destination as NY

Test Case Creation in Selenium

Prerequisites:

Below are the prerequisites required to setup Selenium + Junit:

1. Maven as  a build tool 

2. Java 1.8 or above

We are using Selenium + JUnit to perform the test case creation and execution. JUnit is a framework which is useful for individual test cases organization and reporting.

Code for the above test cases has been documented at the public domain you may access:
https://github.com/testsigma-eng/publicprojects/tree/master/junit_selenium 

Below are the files and code structure of the Selenium using JUnit.

<pom.xml>

1. It is automatically created at the same time when a Maven project initiated

2. Pom.xml is an XML file containing project configuration which is used by Maven to build the project. For running any maven project test cases using selenium it requires a POM.xml file.

3. All the plugins which are present in pom.xml stored in a central maven repository and it is present in the <dependency> tag.

Below is the pom.xml backend code:

Below are the dependencies which are in the above pom.xml file:

1. JUnit

2. Selenium 

3. Maven site plugin 

4. Maven project info report

5. Maven surefire report 

Backend Code: Below is the test case file which is maintained the above user scenarios in selenium backend:

As mentioned above, each page object has been created separately under the folder pageObjects in which HomePageObject, homePageOneWayObject stored.

Below is a snapshot of HomePageObject file:

For executing the above code either you can use the command line for a single test case or GUI to run directly. You can see the report by using the Surefire plugin.

 Advantages of the above approach:

1. Ability to reusability of old test cases functions in the new test cases creation

2. Annotation is easy to use

3. Test runner allow to execute any type of test (GUI, API etc)

4. It ensures that every single module of the application is tested

Disadvantages:

1. Expert professionals resources required to write the above test cases and setting environment for Selenium + JUnit

2. Complex code structure and file organization, as well as environment setup, is time-consuming

3. It’s not suitable for higher and complex applications

4. Group testing can’t be perform using JUnit

5. There are various other dependencies are required to execute and get the report i.e. additional dependencies Surefire report for generating HTML report as it’s not supporting HTML

6. It requires extra resource, time and cost

Steps for creating a test case using Testsigma

Test case creation and execution is very simple and easy to use in TestSigma as compared to Selenium. It’s not required any expertise experience to create test cases as all the complex code is created automatically. The user just have to drag and drop feature for each and every step 

Below are the steps for creating test cases using Testsigma:

If we can explore the first test step above, it looks like below:

As above, the first step is to navigate to the given website http://travel.testsigma.com st_user, st_pass, and st_login are the elements variable [ text field for userName, password and Login button ] whose DOM element is stored in the backend. [+] sign indicates the site group in which several steps are stored.

Test Case Maintenance

Selenium with JUnit requires complete module wise code review. All the test cases file review as per the client requirement. There is a disadvantage using selenium that if the requirement is not fixed then it needs to rewrite a large volume of code and then modify at different places to execute the particular test case group. This framework is not suitable if the requirement changes very frequently. 

Testsigma offers AI-driven test maintenance. Test cases maintenance is very easy in Testsigma because as it contains minimal components and drag/drop feature it changes the process flow or inserts any new test steps very easily. 

Whenever any new test case has been created using Testsigma a new UI identifier or page object has been created and mapped with the variable at the front end.

Once the user can explore the above Testsigma test cases using [+] explorer below are the test steps it contains:

In the above-mentioned screenshot, string in the green color is variable which stores the corresponding frontend identifier element locators path at one place, so by changing any frontend element path user can just change it from one place in Testsigma 

UI identifiers element assignment can be done via manually or automatically Testsigma created chrome extension. 

Below are the UI identifiers stored respective of their identifier type i.e. XPath, id etc.

Users can edit these UI identifier and replace with the changed element locator.

There are two ways of creating these above identifier locators:

1. Manual Creation of UI Identifier: It is created in a user-friendly UI interface in which the user can directly put the UI identifier locator path, type and its respective attributes ( as mentioned in the above screenshot )

2. Using Chrome Extension: Testsigma has a chrome extension that can be installed easily and then can be used to select and copy attributes of the needed element. The process is easy and involves below steps:

1. Open the UI identifier that needs to be changed

2. Go to the tab “Using Testsigma Chrome extension”

3. Open another tab and go to the web page that has the element that needs to be identified

4. A green outline will appear on the selected element and a click on it will store the information of the element in the UI identifier object in Testsigma.

Maintenance in Testsigma

Testsigma has it’s AI technology which looks for test cases maintenance very effectively. It’s AI helps to identify the affected test cases by the change in particular UI identifier.  

It also helps to automatically fix the order of test cases when there is a minor change in UI identifiers.

Below is the screenshot showing about affected test cases by the UI identifier changes:

Test Cases Management

Test cases management is essential for a complex project because once a project is getting bigger and the number of test cases increases it’s very important to manage and execute it in a particular order as per requirement.  For any type of framework test cases management helps to support the structure and organization of test cases 

Test Cases Management in Selenium:

Test cases can be managed in selenium with the help of a runner file where all the test cases group stored. @Test annotation in the test cases means that it’s an executable test case

Test Cases Management in Testsigma: 

Testsigma has a built-in facility to add requirements and test cases corresponding to those requirements should be added. Below are the snapshot which shows how it appears in Testsigma:

Testsigma also provides a facility to assign multiple properties in the test case. Below is the snapshot:

Reporting 

Reporting is one of the essential parts to showcase the status of test cases execution. The report can show that test cases can be Passed, Failed or Skipped

In Selenium test reporting can be done using a Sure-fire report. It is declared in the pom.xml file.

Below are a sample of the Surefire report:

Reporting in Testsigma 

 Testsigma provides very interactive reports with the status for Pass/Fail corresponding to the test cases. It supports exhaustive testing which makes debugging easy. 

Screenshots provided for the failed test cases including the log files and a detailed test case execution report so that users can ensure where exactly error occurred. 

Below is the status report snapshot in Testsigma

Integration with CI / CD:  Testsigma and Selenium both provide facility to integrate with most of the CI / CD tools

Supported Applications: Selenium provides support of Web-based applications only But TestSigma provides support for automation of Web-based applications, iOS and  Android

Customer Support: Selenium is an open-source API tool hence it provides support only through documentation and a community.

Testsigma provides dedicated support by experts 24×7

Selenium is one of the most used automation testing tools but limited to web-based applications,  Testsigma provides automation testing for web, mobile, APIs. Test case creation and management is very easy and does not require expertise in creating test cases.

When Selenium is compared with Testsigma on various aspects like Test case creation, management, maintenance, support –  Testsigma provides more additional features, less time, cost and overall efforts. Test environment setup is very easy and everything is stored on the cloud.