Thursday, May 28, 2015

Running your first Selenium Webdriver script with TestNG


Running your first Selenium Webdriver script with TestNG

WebDriver is a tool for automating testing web applications, and in particular to verify that they work as expected. It aims to provide a friendly API that's easy to explore and understand, which will help make your tests easier to read and maintain. It's not tied to any particular test framework, so it can be used equally well with JUnit, TestNG or from a plain old "main" method.

You can use any IDE for developing your scripts but I like using Eclipse. I will be explaining later how to use Eclipse.

Ok...so lets start creating the
Selenium Webdriver script using TestNG. You will need to install the following first.

Install the below
1. JDK : You can be download it from here 
http://java.sun.com/javase/downloads/index.jsp. Set the classpath.

2. Selenium Webdriver: Download it from here: 
http://seleniumhq.org/download . Extract the files in a folder named Selenium_Webdriver  





3. TestNG : Download TestNG from http://testng.org/doc/download.html. Unzip. The files will get extracted to a folder called testng.

4. Eclipse : Download eclipse from 
http://www.eclipse.org/downloads/.Choose the "Eclipse IDE for Java Developers".Unzip the downloaded file. The files will get extracted to a folder called 'eclipse'.

5. TestNG plug-in for Eclipse: Start Eclipse by clicking the eclipse icon in the eclipse folder that's mentioned earlier. Click on Help->Install New Softwares. Enter "http://beust.com/eclipse/" in the "Work With:" and press Enter. You should see TestNG. Select it and then press Next till you reach Finish. Restart Eclipse.

Good that we have finished installing everything that we needed to start with selenium and TestNG. You could always work with selenium and testng without eclipse in which case you wont have to install Eclipse and the TestNG plug-in required for eclipse. But its better to have an IDE (like Eclipse or anyother) so that its far easier to write the scripts.

Let's start with the Selenium Webdriver and TestNG script now:

1. Open eclipse. Start by creating a new project : File->New->Java Project. Give a name say 'Automation'. 

2. Add the required jars. Select the project-’Automation’, Right click Build Path->Configure Build Path. Click Libraries->Add External Jars. You will have to add the testng and selenium jars and libs.Also Add the In build TestNG , Junit , Java Libraries from Add Library.

3. Create a new package in the project. Select the project -'Automation' and then right click New->Package. Give a name say 'First'.

4. Create a new java program. Select the package-'First' and then right click New->Class. Enter the name as say ‘GoogleTC’.Press Enter.
5. Copy paste the whole below code into eclipse(GoogleTC).

package First;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.testng.annotations.Test;

public class GoogleTC {
     
      public WebDriver driver;
     
     
  @Test
  public void f() throws Exception {
        driver = new FirefoxDriver();
        driver.get("http://www.google.com"); // open google.com
      Thread.sleep(2000); // This statement is used to wait for 2 seconds
      driver.manage().window().maximize(); //Maximize the window
      Thread.sleep(5000);
      driver.findElement(By.id("lst-ib")).clear();
      driver.findElement(By.id("lst-ib")).sendKeys("Selenium");
      driver.findElement(By.name("btnG")).click();
      Thread.sleep(2000);
      driver.findElement(By.linkText("Selenium - Web Browser Automation")).click();
             
      driver.close();
      driver.quit();
  }
}



6. Make changes so that your testng script looks like below:

Great!!!!! Your first testng
 script is ready to be run. Wasnt that easy?
This is simple script which search keyword Selenium in google.

7. Now run the testng script by going back to eclipse. Right click on the testng script. Click RunAs->TestNG Test.
Your script should run successfully. 

No comments:

Post a Comment