Mindmajix

Introduction to Selenium 2.0 Webdriver

Selenium WebDriver

Selenium webdriver is also known as selenium 2.0. Web driver is a tool for automating web applications. The main aim of web driver is to provide a user friendly API.

Advantages over Selenium RC(1.0)

1. Selenium 2.0 has many new exciting features and improvements over Selenium 1.
2. Selenium 2.0 has more API than selenium 1.0
3. The new Feature is integration of the Web driver API.
4. By this web driver API we can overcome issues in Selenium 1.0
5. The goal is to develop an object‐oriented API.
6. It is faster than Selenium RC / 1.0
7. There are more ways to identify objects ()
8. No need of starting a server.
9. Page synchronization is handled automatically.

How to setup Web driver using eclipse and Junit / TestNG

The set up of Web driver is quite similar to Selenium RC.
Prerequisites:
Jdk 1.5 or above
Eclipse 3.5 or above
Jar files: All files in selenium‐java‐2.X.0 folder and selenium‐server‐standalone‐2.x.0 server file.

1. Open Eclipse.
2. File–new—Java project.
3. Enter Project Name Web Driver and click Finish.
4. A project is created.
5. Right click on JRE sys library and click buildpath—configure build path.
6. Add all external jar files (selenium‐java‐2.X.0 and selenium‐server‐standalone‐2.x.0).
7. Done you are ready to write scripts using selenium webdriver.

More Ways to identify Elements

By ID:
driver.findElement(By.id(“123”));

By Name:
driver.findElement(By.name(“username”));

By Link Text:
driver.findElement(By.linklinkText(“Sign In and Register”));

By Partial Link Text:
driver.findElement(By.partialLinkText(“Sign In”));

By CSS:
driver.findElement(By.cssSelector(“.bUserBar.LikeRealBtn”));

By XPATH:
driver.findElement(By.xpath(”//input[@class=’Page_eRadioButton’]”));

By Class Name:
driver.findElement(By.className(”Page_eRadioButton”));

By Tag Name:
driver.findElement(By.tagName(”option”));

Sample scripts

Here is the sample web driver script created using Junit.

package practice; //package name
import java.util.regex.Pattern;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
public class First {
private WebDriver driver; //Declaring variable
@Before
public void setUp() throws Exception {
driver = new FirefoxDriver();//Creating firefox driver
driver.manage().timeouts().implicitlyWait(30,
TimeUnit.SECONDS);//implicit time out, it is like wait for page to load in selenium rc
}
@Test
public void testFirst() throws Exception {
//open google page in maximized mode
driver.get("http://www.google.com");
//click options button
driver.findElement(By.id("gbi5")).click();
//click advanced search link
driver.findElement(By.id("gmlas")).click();
//type search word in text box
driver.findElement(By.name("as_q")).sendKeys("test");
//select value from Dropdown
new Select(driver.findElement(By.name("tbs"))).selectByVisibleText("show only
basic results");
//Click advanced search button
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
Thread.sleep(5000);
}
@After
public void tearDown() throws Exception {
//Quit the driver
driver.quit();
}
}





 
 

0 Responses on Introduction to Selenium 2.0 Webdriver"

Leave a Message

Your email address will not be published. Required fields are marked *

Copy Rights Reserved © Mindmajix.com All rights reserved. Disclaimer.
Course Adviser

Fill your details, course adviser will reach you.