Forem

Cover image for Selenium Automation Testing  πŸ”§βš™:
Rahul Kumar
Rahul Kumar

Posted on β€’ Edited on

1 2

Selenium Automation Testing πŸ”§βš™:

What is Selenium :

  • selenium was first created by Jason Huggins in 2004
  • Selenium is a software testing tool which can automate your entire testing phase .

Components of Selenium :

Selenium is a package which has different components for different use cases .

  • Selenium RC It is an web server which acts as an HTTP proxy .
  • Selenium IDE It's just a plugin . Mainly used for recording and playback the script .
  • Selenium Grid Multiple test cases can be executed simentaniously.
  • Selenium WebDriver Main component of selenium which used for cross-platform testing .

Features :

  • Open source .
  • Easy to implement .
  • less hardware usages .
  • multi browser support .
  • different language support .
  • Parallel test execution .

Set up :

  • Download
  • Download the chrome driver (Different browser have diff driver)
  • Install Selenium standalone server

  • Open eclipse

  1. create a new project
  2. right click on it
  3. Navigate to properties
  4. Build paths
  5. click on classpath library .
  6. Add external jar
  7. Navigate to the folder (Where you have downloaded your selenium click on that and under lib folder we have our jar files(executable files) ) .
  8. Apply and close Alt Text

A simple test case written on java :

public class Lunch {

    public static void main(String[] args) {

        System.setProperty("webdriver.chrome.drive", "C://selenium//chromedriver.exe");

       //We need to create the object for our chromedriver
       WebDriver driver =  new chromeDriver();

        driver.get("https://www.facebook.com");
       //Then we can perform Desired testing with driver object
       driver.findElement(By.id("email")).sendKeys("hlw");

       driver.findElement(By.id("pass")).sendKeys("1234");


       driver.findElement(By.name("login")).click();
       }
}
Enter fullscreen mode Exit fullscreen mode

So here we are automating the task we might do manually like

  1. opening the browser .
  2. Insert the credentials .
  3. Then click on Log in .
  • What we are defining Selenium is to go to the Facebook's URL and by using selectors .
  • We can find the selectors by inspecting the page (ctl + shift + i).

  • After Entering the credentials for username and password fields we then click on the login button .

How can we optimize more .

public class Lunch {

    public static void main(String[] args) {

        System.setProperty("webdriver.chrome.driver", "C:\\Selinium\\chromedriver.exe");

        //we need create a object for the chromedriver
        WebDriver driver = new ChromeDriver();

        driver.get("https://www.facebook.com");

        String title =  driver.getTitle(); //Actual title

//      Facebook – log in or sign 

        if(title.matches("Facebook – log in or sign up")) {
            System.out.println("valid page");

            driver.findElement(By.id("email")).sendKeys("hlw");
            driver.findElement(By.id("pass")).sendKeys("1234");

            driver.findElement(By.name("login")).click();
        }else {
            System.out.println("Invalid page");

            driver.close();
        }
    }

}
Enter fullscreen mode Exit fullscreen mode

Upon the validity of the mentioned URL we are performing the task otherwise simply close the connection .

Alt Text

we can use TestNg for generating the test reports . where NG means "next generation" . It is a testing framework like Junit .

Features of TestNG :

  • annotations are easy to create test cases .
  • Test case can be grouped by prioritized more easily .
  • It supports parameterization .
  • supports data-driven testing using DataProviders .
  • Generates HTML reports .
  • Parallel test execution is possible .

Annotations in TestNG :

Annotations in TestNG are used to decide the flow of the program .

  • @BeforeSuite
  • @BeforeTest
  • @BeforeClass

Why do we need Maven :

  • Imagine a scenario where we want to give the same test case file to other person then we have to also include the jar files which is time taking because sending a lot of jar files over the internet could be inappropriate .
  • Here we could use Maven .

Alt Text

  • Maven is used to download dependencies for a software program .
  • dependencies are downloaded are included inside a POM file .
  • Once the dependencies are included simply save the project and all the dependencies will automatically downloaded .

Image of Timescale

πŸš€ pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applicationsβ€”without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post β†’

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

πŸ‘‹ Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay