top of page
  • Writer's picturePerfectQA

Selenium Webdriver and TestNG Framework for Automation Testing

Updated: Apr 17

The basic manual testing process was replaced between these past few years. The Selenium Automated testing increased the tester’s efficiency to various benefits in the meantime. It has increased huge prominence among engineers, as it is an open-source device it offers colossal help to the designers. Numerous associations are receiving this most loved testing instrument as it gives more precision and productivity to them.

One of the huge angles which are liable for the prominence of these apparatuses is its expense. These days, a large portion of the organizations are attempting to cut the majority of their operational expenses with the goal that they can build their net revenue, in such conditions, selenium can demonstrate the best alternative for them as it is costlier when contrasted with other testing apparatuses. Indeed, even organizations can locate the ideal match by investigating and figuring out how Selenium Webdriver and TestNG can upgrade their procedure and assist them in the long run.

What Selenium Webdriver and TestNG Really Mean?

The fate of selenium is very encouraging as it gives different chances to the business.

Each association is endeavoring to offer a superb encounter to its clients constantly.

They are anticipating streamlining the look, feel, and execution of their created applications and selenium testing is ideal for arriving at all the objectives.

In any event, taking the help of selenium Webdriver and TestNG is much the same as adding a cherry to the most loved sweet.

Selenium Webdriver

  • It is one of the development web mechanization structures which permits clients to execute their tests.

  • They can without much of a stretch execute tests against various internet browsers.

  • Selenium WebDriver encourages clients to utilize a programming language for making test contents that probably won’t be conceivable while they are utilizing in Selenium IDE.

  • It empowers them to utilize different restrictive activities, for example, switches cases, on the off chance that else, and some more.

  • Selenium Webdriver likewise permits clients to perform circling according to their coding and testing prerequisites.

  • It offers help for different programming dialects like Java, PHP, .Net, Perl, Python, and Ruby.

  • Other than this, clients get different advantages when they use Selenium Webdriver, they are:

  1. Help to pack away a higher ROI.

  2. Simple access, clients can even access it remotely through any gadget.

  3. Decrease of blemishes.

  4. It assists with discovering bugs and blemishes at the underlying stage.

  5. It makes the procedure increasingly solid and tests trustworthy for clients.

  6. Empowers testing in volumes.

Explore the Code to Know How Users Implement Selenium Webdriver

import java.util.ArrayList;

import java.util.List;

import org.testng.TestNG;

public class RunTestNG {

public static void main(String[] args) {

// Create object of TestNG Class

TestNG runner=new TestNG();

// Create a list of String

List<String> suitefiles=new ArrayList<String>();

// Add the xml file which you wish to execute

suitefiles.add("C:\\Users\\Documents\\Blog6 March\\dummy 16 june\\testng.xml");

// now set xml file for execution

runner.setTestSuites(suitefiles);

// finally execute the runner using run method

runner.run();

}

}

TestNG Framework:

  • It is a mechanization testing structure that is generally utilized by analyzers to test the created item.

  • NG is alluded to as “People to come”, this robotization testing structure is enlivened by JUnit and NUnit, and it utilizes the explanations (@).

  • It is an open-source test system for Java.

  • TestNG structure’s progress and helpful highlights make it vigorous and more valuable than others.

  • It is depicted by Cedric Beust and is every now and again utilized by coders and analyzers for making an experiment for their task.

  • They can undoubtedly utilize their different comments and numerous highlights.

It likewise offers different advantages to the clients who lean toward it, a portion of the advantages are as per the following:

  1. Logs age.

  2. Simple utilization of comments.

  3. Empowers clients to gather and organize experiments. 4. Permit equal testing.

  4. Serves to item execution HTML reports.

  5. Information parameterization.

TestNG system can be coordinated with different instruments according to clients’ prerequisites, clients can utilize devices, for example, Jenkins, Maven, Jenkins, and numerous others to test their application. Utilizing Annotations of TestNG structure makes it simple for coders and analyzers to comprehend the general procedure.

They can utilize explanations like @BeforeTest, @AfterTest, @BeforeMethod, @AfterMethod, and numerous others.

There is an absence of a local component in Selenium WebDriver, which makes it very hard for clients with regards to detailing age. Yet, while utilizing the TestNG structure, clients can without much of a stretch produce the report that additionally in a meaningful arrangement, view know how the report really look:

TestNG rearranges the method for coding for the analyzer, they need not have to apply the static primary technique in their tests. Rather than that, they can essentially utilize a grouping of explanations to perform different activities in the test, clients don’t require to make the strategy static, which makes the testing procedure a lot more clear for the clients.

View realizes how to utilize comments rather than the static strategies.

Taking care of Uncaught special cases has gotten a lot simpler with the TestNG system as it handles it naturally. Analyzers can deal with it without ending the test rashly, such special cases can be named as bombed steps.

Clients can even make a gathering while at the same time utilizing TestNG, which lessens their coding similarly and makes their work significantly more reasonable.

Be that as it may, while making the gathering with TestNG, they need to consider a portion of the viewpoints and codes which are recorded underneath.

Syntax For Creating Groups in TestNG:

SYNTAX

@Test(groups={"groupname"})

Example of implementing single and multiple groups:

Subsequent to finishing the gathering procedure, clients can without much of a stretch avoid and incorporate testng.xml according to their necessities.

<include>: Helps testng.xml to know which group actually needs to be executed.

<exclude>: Helps testng.xml to know which group actually needs to be Skip during execution.

Along these lines in the event that any of the clients execute their experiments with gathering, at that point they need to make changes (adjustment) to their testng.xml record.

They need to expressly document the subsequent to indicate the gathering to it.

View code to make and change the total program utilizing bunch experiments in selenium.

Explore the Code to Create Group Test:

package testing demo;

import org.testng.annotations.Test;

public class TestGroupDemo {

@Test(groups={"Smoke"})

public void login(){

System.out.println("Login done");

System.out.println("Smoke Scenario passed");

}

@Test(groups={"Regression"})

public void register(){

System.out.println("Registration done");

}

}

View the Complete Code to Modify Testng.xml to Use Group Test Cases in Selenium.

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="Suite" parallel="none">

<test name="Test">

<groups>

<run>

<include name="Smoke" />

<exclude name="Regression"/>

</run>

</groups>

<classes>

<class name="testngDemo.TestGroupDemo"/>

</classes>

</test> <!-- Test -->

</suite> <!-- Suite -->

In the previously mentioned XML code, you can investigate that another tag called bunch is added to it.

What’s more, under the gathering tag, two unique labels avoid and incorporate is referenced.

Clients can likewise specify the gathering name according to their benefit and necessity and can incorporate and bar the equivalent in the required record.

Selenium Webdriver and TestNG: How To Use It Parallelly While Execution

At the point when clients need to test the application, at that point it gets basic for them to test the specific application on various programs.

In the event that they don’t do as such, at that point it gets hard for them to know whether the application bolsters the specific program or not.

In addition, analyzers can test their adequacy with the assistance of Selenium WebDriver and TestNG.

In the event that the analyzer or designer needs to execute various contents, at that point it turns out to be very trying for them as it is one of the tedious assignments.

Notwithstanding, on the off chance that they need to finish it immediately, at that point they can utilize Parallel Execution, which is one of the basic ideas of selenium.

Right now, can utilize Selenium WebDriver and TestNG mostly and can finish the execution procedure.

TestNG encourages clients to execute experiments/contents in equal.

Moreover, by utilizing the Parallel Execution idea, they can without much of a stretch decrease the execution time, as all the tests are executed on various programs simultaneously as they have just proclaimed it in the testng.xml document.

Investigate the beneath code to know how it can run on numerous programs while (is equal).

Example of Parallel Execution With Selenium WebDriver and TestNG

package com.exploration.scripts;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebDriverException;

import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.firefox.FirefoxDriver;

import org.openqa.selenium.ie.InternetExplorerDriver; import org.testng.annotations.BeforeTest;

import org.testng.annotations.Parameters;

import org.testng.annotations.Test;

public class AddingToWishList

{

private WebDriver driver;

String url = "http://sites.ecanarys.com/Nopcommercesite"; @Parameters ({"browser"})

@BeforeTest

public void preCondition(String browser)

{

try

{

if(browser.equalsIgnoreCase("Firefox"))

{

driver = new FirefoxDriver();

}

if(browser.equalsIgnoreCase("Chrome"))

{

//Location of the chromedriver file

System.setProperty("webdriver.chrome.driver","D:/ exefiles/chromedriver.exe");

driver = new ChromeDriver();

}

if(browser.equalsIgnoreCase("IE"))

{

//Location of the IEDriverServer.exe file stored in

machine

System.setProperty("webdriver.ie.driver","D:/ IEDriverServer.exe"); driver = new InternetExplorerDriver();

}

}

catch (WebDriverException e)

{

System.out.println("Browser not found"

+e.getMessage());

}

driver.get(url);

driver.manage().window().maximize();

driver.manage().timeouts().implicitlyWait(5,

TimeUnit.SECONDS);

}

@Test

public void addToCart() throws InterruptedException {

//Clicking on Cement link

driver.findElement(By.partialLinkText("Cement")).click();

WebElement ele =

driver.findElement(By.cssSelector("a[href='/Nopcommerce Site/maha-shakthi-ppc']"));

Actions action = new Actions(driver);

action.moveToElement(element).click().perform(); //Add to Wishlist button

driver.findElement(By.id("add-to-wishlist-button-1465")).click();

//Clicking on the wishlist button on pop up

driver.findElement(By.xpath("//input[@class='button-1 productAddedToCartWindowCheckout']")).click();

//Getting the count

String whishlistCount =

driver.findElement(By.xpath("//span[@class='wishlist-qty']")).getText ();

//Printing the Count

System.out.println("Wishlist count: " +whishlistCount ); driver.quit();

}

}

Explore the Reason Which Justifies Why Selenium Is a Perfect Match for You

  • A large portion of the business people are maintaining their business on the web and planning to arrive at an ever increasing number of clients in the blink of an eye.


  • Hence to fulfill their point, it gets fundamental for them to promote their business viably with the assistance of ppc organization and even focus on application improvement.

  • By building up the application, they can simplify and make room for clients to contact them and make a buy from them.


  • In any case, consider the possibility that the application isn’t working viably on focused client’s gadgets.

  • Subsequently organizations need to ensure that the application which they created works impeccably on every gadget and program.


  • Also, with regards to testing the application, at that point the application analyzer and testing system snatch the spotlight.

  • Organizations take the help of analyzers to test the created application and make it an ideal one for the utilization of clients.

  • The vast majority of the analyzers nowadays are utilizing selenium to test the created application as it offers different points of interest to them.

  • They influence various advantages, particularly when they pick selenium as their first inclination.

  • Investigate a portion of the advantages to know how it benefits testicles and different clients who use it to test the created application on different browsers

Open Source

  • Selenium is the most mainstream open-source programming that was discharged under the Apache 2.0 permit.

  • As the system is an open-source, an ever increasing number of clients are downloading and utilizing it.

  • The free idea of selenium has chopped down the testing expenses as it were.

Web Browser and OS Support

  • With regards to the application, at that point it becomes fundamental that it runs superbly on all the programs and OS.

  • Doing so application proprietors can keep their application guests drawn in with the application and can pass on them to make a buy from the equivalent.

  • Besides, for doing as such, analyzers need devices that help them to improve application execution for the most part utilized programs.

  • They can improve application execution on different programs, for example, Firefox, Chrome, and some more.

  • Indeed, even they can utilize the structure to improve application execution on different working frameworks like Windows, OS X, Linux, and numerous others.

Summing It Up

  • TestNG and Selenium Webdriver upgrade the capacity of Selenium tests and make it simpler for clients to comprehend different issues and create a report for the equivalent.

  • It gives adaptability and extraordinary solidarity to the clients who need to test the web application in the blink of an eye and need to produce a report that others can see no problem at all.

  • Indeed, even the clients can add new functionalities to the testing structure and test content according to their necessities.

  • Aside from offering adaptability to tweak the system and test content, it likewise permits clients to make the essential alterations inside it.

  • In this way it is very certain that Selenium Webdriver and TestNG can be considered as the eventual fate of testing.

46 views0 comments

Related Posts

See All
bottom of page