Purpose: Setting up Eclipse IDE environment to Run Selenium Script
Following are the steps to setup successful Selenium environment for Eclipse IDE
In order to Setup, we need Java, Eclipse IDE, Selenium Webdriver, TestNG.
Step 1: Download Java and install if not installed. Visit the following URL and download JDK
URL: http://www.oracle.com/technetwork/java/javase/downloads/index.html
Step 2: Download Eclipse IED and it not require ant install. Extract and open. Visit for following URL and download Eclipse
URL: http://www.eclipse.org/downloads/ download Eclipse IDE for Java EE Developers 32bit version
Step 3: Download Selenium Webdriver and build the path. Visit the following URL and download required Selenium Softwares
URL: http://selenium.googlecode.com/files/selenium-server-standalone-2.31.0.jar
Step 4: Install TestNG for Eclipse
Select Help / Install New Software /
Click on Add
Enter Any relevent Name for Name Field
Enter URL for Eclipse 3.4 and above, enter http://beust.com/eclipse/
For Eclipse 3.3 and below, enter http://beust.com/eclipse1/
Select TestNG Software, Click Next and Install
Step 5: Create New Java Project and Create New TestNG file
Step 6: Right Click on Project > Build Path > Configure Build Path > Click Libraries > Click Add External Jars. Select the location of Selenium Webdriver and add the Selenuium .Jar file to Eclipse IDE Environment.
Step 6: Write the script and execute. Hope it will lanch application successfully.
Monday, 8 April 2013
Capturing all Links in a page, filtering and visiting filtered pages.
Purpose: Capturing all Links in a page, filtering and visiting filtered pages.
In general while testing any application we are facing a situation where we need to visit specific link available on the Web Page. The Following script help floks how to handle it.
In the following example, I am going to visit 'www.google.com', captures all the links available on the page, filter the required link and visit that link page.
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Links {
public static void main(String[] args) throws InterruptedException {
WebDriver driver = new FirefoxDriver();
driver.get("http://www.tata.com/");
driver.manage().window().maximize();
// Extract all links from the webpage using selenium webdriver
List<WebElement> all_links_webpage = driver.findElements(By.tagName("a"));
// Print total no of links on the webpage
System.out.println("Print total no of links on the webpage---------------------------------------------");
System.out.println(all_links_webpage.size());
// Filter the Link and visit that link
System.out.println("Print Links------------------------------------------------------------------------");
for(int i=0;i<all_links_webpage.size();i++)
{
Thread.sleep(1000);
if(all_links_webpage.get(i).getText().toLowerCase().contains("contact"))
{
System.out.println("Search Resutl found");
String link = all_links_webpage.get(i).getAttribute("href");
driver.navigate().to(link);
Thread.sleep(3000);
break;
}
}
driver.quit();
}
}
In general while testing any application we are facing a situation where we need to visit specific link available on the Web Page. The Following script help floks how to handle it.
In the following example, I am going to visit 'www.google.com', captures all the links available on the page, filter the required link and visit that link page.
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Links {
public static void main(String[] args) throws InterruptedException {
WebDriver driver = new FirefoxDriver();
driver.get("http://www.tata.com/");
driver.manage().window().maximize();
// Extract all links from the webpage using selenium webdriver
List<WebElement> all_links_webpage = driver.findElements(By.tagName("a"));
// Print total no of links on the webpage
System.out.println("Print total no of links on the webpage---------------------------------------------");
System.out.println(all_links_webpage.size());
// Filter the Link and visit that link
System.out.println("Print Links------------------------------------------------------------------------");
for(int i=0;i<all_links_webpage.size();i++)
{
Thread.sleep(1000);
if(all_links_webpage.get(i).getText().toLowerCase().contains("contact"))
{
System.out.println("Search Resutl found");
String link = all_links_webpage.get(i).getAttribute("href");
driver.navigate().to(link);
Thread.sleep(3000);
break;
}
}
driver.quit();
}
}
How to Run Webdriver Script under Internet Explorer and Google Chrome
Purpose: How to Run Webdriver Script for Internet Explorer and Google Chrome
Running Webdriver script for Internet Explorer & Chrome is not as same as working with Firefox browser. Following are the steps to Run:
Step 1: In order to run, we need to download IE Driver & Chrome Driver and we can download from https://code.google.com/p/selenium/downloads/detail?name=IEDriverServer_Win32_2.31.0.zip
https://code.google.com/p/chromedriver/downloads/list
Step 2: Include the respective drivers in to the Path
Step 3: Set the System property using the following Command which takes two parameters Driver and location of the driver.
System.setProperty("webdriver.ie.driver", "Drivers\\IEDriverServer.exe");
Step 4: Now create an Driver Object for IE using the following command
driver = new InternetExplorerDriver();
Once we start running the script Internet Explorer will open and execute script.
Following is the sample code for IE and kept commented code for Google Chrome
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
public class DriversExample{
private static InternetExplorerDriver driver;
//private static ChromeDriver driver;
@BeforeClass
public void beforeClass()
{
System.setProperty("webdriver.ie.driver", "Drivers\\IEDriverServer.exe");
driver = new InternetExplorerDriver();
// System.setProperty("webdriver.chrome.driver", "Drivers\\chromedriver.exe");
// driver = new ChromeDriver();
}
@Test
public void testDrivers() throws Exception
{
driver.get("http://www.google.com");
Thread.sleep(3000);
}
@AfterClass
public void afterClass()
{
driver.close();
}
}
Running Webdriver script for Internet Explorer & Chrome is not as same as working with Firefox browser. Following are the steps to Run:
Step 1: In order to run, we need to download IE Driver & Chrome Driver and we can download from https://code.google.com/p/selenium/downloads/detail?name=IEDriverServer_Win32_2.31.0.zip
https://code.google.com/p/chromedriver/downloads/list
Step 2: Include the respective drivers in to the Path
Step 3: Set the System property using the following Command which takes two parameters Driver and location of the driver.
System.setProperty("webdriver.ie.driver", "Drivers\\IEDriverServer.exe");
Step 4: Now create an Driver Object for IE using the following command
driver = new InternetExplorerDriver();
Once we start running the script Internet Explorer will open and execute script.
Following is the sample code for IE and kept commented code for Google Chrome
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
public class DriversExample{
private static InternetExplorerDriver driver;
//private static ChromeDriver driver;
@BeforeClass
public void beforeClass()
{
System.setProperty("webdriver.ie.driver", "Drivers\\IEDriverServer.exe");
driver = new InternetExplorerDriver();
// System.setProperty("webdriver.chrome.driver", "Drivers\\chromedriver.exe");
// driver = new ChromeDriver();
}
@Test
public void testDrivers() throws Exception
{
driver.get("http://www.google.com");
Thread.sleep(3000);
}
@AfterClass
public void afterClass()
{
driver.close();
}
}
Monday, 1 April 2013
Capturing all Links on a Web Page and visiting those links using Web Driver
Purpose: Capturing all Links on a Web Page and visiting those links
In general while testing any application we are facing a situation where we need to visit each link available on the Web Page. The Following script help floks how to handle it.
In the following example, I am going to visit 'www.google.com', captures all the links available on the page, visiting each link and coming back to home page.
public static void main(String[] args) throws InterruptedException {
System.out.println(linksCount);
for(int i=0;i<linksCount;i++)
In general while testing any application we are facing a situation where we need to visit each link available on the Web Page. The Following script help floks how to handle it.
In the following example, I am going to visit 'www.google.com', captures all the links available on the page, visiting each link and coming back to home page.
importjava.util.List;
importorg.openqa.selenium.By;
importorg.openqa.selenium.WebDriver;
importorg.openqa.selenium.WebElement;
importorg.openqa.selenium.firefox.FirefoxDriver;
public class Links {
private static String homeWindow = null;
private static String[] links = null;
private static int linksCount = 0;
public static void main(String[] args) throws InterruptedException {
WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.com/");
// Fllowing instruction extract all links from the webpage using selenium webdriver
List<WebElement> all_links_webpage = driver.findElements(By.tagName("a"));
// Print total no of links on the webpage
System.out.println("Print total no of links on the webpage----------------------------------------------------");
linksCount = all_links_webpage.size();System.out.println(linksCount);
links= new String[linksCount];// Following instruction stores each link and Prints on console
System.out.println("Print Links-----------------------------------------------------------------------------------");
for(int i=0;i<linksCount;i++)
{
links[i] = all_links_webpage.get(i).getAttribute("href");
System.out.println(all_links_webpage.get(i).getAttribute("href"));
}
// Following instruction Return an opaque handle to this window that uniquely identifies it within this driver instance.
// This can be used to switch to this window at a later date
homeWindow = driver.getWindowHandle().toString();
// Visiting Each Link in on the Page
System.
out.println("Visiting Each Links------------------------------------------------------------------------");
for(int i=0;i<linksCount;i++)
{
driver.navigate().to(
links[i]);
Thread.sleep(3000);
driver.switchTo().window(
homeWindow);
}
driver.quit();
}
}
Tuesday, 19 March 2013
Maximizing Browser Window using Selenium Rc and Web Driver
Purpose: Maximizing Browser window using Selenium RC and Web Driver
When ever we are opening Web Browser using Selenium RC and Web Driver, it will open in Resized state. But that will not give complete view of the Browser conten. In order to maximize the the window we need to use two different methods in RC and Web Driver.
Maximizing the Browser Window using RC
Once you started the Browser use the following Selenium RC command to maximize the Browser Window
(browser is the object of my DefaultSelenium Class)
browser.windowMaximize();
Maximizing the Browser Window using Web Driver:
It is not as same as RC in Web Driver. We need to use the following command
( driver is the Object of Respective Browser Driver Class )
driver.manage().window().maximize();
When ever we are opening Web Browser using Selenium RC and Web Driver, it will open in Resized state. But that will not give complete view of the Browser conten. In order to maximize the the window we need to use two different methods in RC and Web Driver.
Maximizing the Browser Window using RC
Once you started the Browser use the following Selenium RC command to maximize the Browser Window
(browser is the object of my DefaultSelenium Class)
browser.windowMaximize();
Maximizing the Browser Window using Web Driver:
It is not as same as RC in Web Driver. We need to use the following command
( driver is the Object of Respective Browser Driver Class )
driver.manage().window().maximize();
Unsupported Major/Minor Version issue while executing Selenium Scripts / Java Programs using Eclipse IDE
Purpose: When ever we are executing Selenium Scripts / Java Program which is developed / written in some othere version than our version we will get the error "Java.lang.UnsupportedClassVersionError: .............................Unsupported major.minor version"
If you are executing the program using Console / Command Prompt, using additional parameter -source <version number>
For example, if your file name is VersionError.java and executing through Command Prompt use the following command to execute successfully:
javac -source 1.4 VersionError.java
The program will compile successfully.
If you are executing the code using Eclipse IDE follow the steps mentioned below:
Step 1: Click on 'Project' menu option and select 'Properties' submenu.
Step 2: Click on Project Facts from RNP and Select Java in RNP
Step 3: Select required version of Java and click on OK.
Now Run the application and the issue will be resolved.
If you are executing the program using Console / Command Prompt, using additional parameter -source <version number>
For example, if your file name is VersionError.java and executing through Command Prompt use the following command to execute successfully:
javac -source 1.4 VersionError.java
The program will compile successfully.
If you are executing the code using Eclipse IDE follow the steps mentioned below:
Step 1: Click on 'Project' menu option and select 'Properties' submenu.
Step 2: Click on Project Facts from RNP and Select Java in RNP
Step 3: Select required version of Java and click on OK.
Now Run the application and the issue will be resolved.
Monday, 25 February 2013
Switching between Windows using Selenium Webdriver
Purpose: Switching between Windows using Selenium Webdriver
We come across to handle switching b/w windows while accessing different webpages. Inroder to automate switching b/w windows, following steps will help you to write Selenium Webdriver Script with the help of Java
It is not as easy as handling with Selenium Rc. We can achive with the help of getWindowHandle() and switchTo().window() methods.
Following is the Selenium Webdriver with Java script to handle popup windows:
package com.webdriver;
import org.openqa.selenium.By;
import org.openqa.selenium.firefox.FirefoxDriver;
public class SwitchWindow {
public static void main(String[] args) throws Exception
{
FirefoxDriver driver = new FirefoxDriver();
driver.get("http://www.quackit.com/html/codes/");
// Return an opaque handle to this window that uniquely identifies it within this driver instance. This can be used to switch to this window at a later date
String parentWindow = driver.getWindowHandle().toString();
driver.findElement(By.linkText("Pop up windows")).click();
Thread.sleep(3000);
assert(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*Example HTML Popup Window Code:[\\s\\S]*$"));
driver.findElement(By.linkText("Open a popup window")).click();
// to switch control to the new popup window by name
driver.switchTo().window("popUpWindow");
assert(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*Copy/Paste HTML Codes[\\s\\S]*$"));
// closing the popup window
driver.close();
// to switch control from popup window to another window, here parent window
driver.switchTo().window(parentWindow);
assert(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*Example HTML Popup Window Code:[\\s\\S]*$"));
driver.close();
}
}
// Code for TestNG
package com.webdriver;
import org.openqa.selenium.By;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;
public class SwitchWindow {
FirefoxDriver driver;
@Test
public void testSwitchWindow() {
driver.get("http://www.quackit.com/html/codes/");
// Return an opaque handle to this window that uniquely identifies it within this driver instance. This can be used to switch to this window at a later date
String parentWindow = driver.getWindowHandle();
assert(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*HTML Codes - Free[\\s\\S]*$"));
assert(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*Pop up windows[\\s\\S]*$"));
driver.findElement(By.linkText("Pop up windows")).click();
assert(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*Open a popup window[\\s\\S]*$"));
driver.findElement(By.linkText("Open a popup window")).click();
// to switch control to the new popup window by name
driver.switchTo().window("popUpWindow");
assert(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*Copy/Paste HTML Codes[\\s\\S]*$"));
// closing the popup window
driver.close();
// to switch control from popup window to another window, here parent window
driver.switchTo().window(parentWindow);
assert(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*Open a popup window[\\s\\S]*$"));
}
@BeforeClass
public void beforeClass() {
driver = new FirefoxDriver();
driver.manage().window().maximize();
}
@AfterClass
public void afterClass() {
driver.close();
}
}
We come across to handle switching b/w windows while accessing different webpages. Inroder to automate switching b/w windows, following steps will help you to write Selenium Webdriver Script with the help of Java
It is not as easy as handling with Selenium Rc. We can achive with the help of getWindowHandle() and switchTo().window() methods.
Following is the Selenium Webdriver with Java script to handle popup windows:
package com.webdriver;
import org.openqa.selenium.By;
import org.openqa.selenium.firefox.FirefoxDriver;
public class SwitchWindow {
public static void main(String[] args) throws Exception
{
FirefoxDriver driver = new FirefoxDriver();
driver.get("http://www.quackit.com/html/codes/");
// Return an opaque handle to this window that uniquely identifies it within this driver instance. This can be used to switch to this window at a later date
String parentWindow = driver.getWindowHandle().toString();
driver.findElement(By.linkText("Pop up windows")).click();
Thread.sleep(3000);
assert(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*Example HTML Popup Window Code:[\\s\\S]*$"));
driver.findElement(By.linkText("Open a popup window")).click();
// to switch control to the new popup window by name
driver.switchTo().window("popUpWindow");
assert(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*Copy/Paste HTML Codes[\\s\\S]*$"));
// closing the popup window
driver.close();
// to switch control from popup window to another window, here parent window
driver.switchTo().window(parentWindow);
assert(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*Example HTML Popup Window Code:[\\s\\S]*$"));
driver.close();
}
}
// Code for TestNG
package com.webdriver;
import org.openqa.selenium.By;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;
public class SwitchWindow {
FirefoxDriver driver;
@Test
public void testSwitchWindow() {
driver.get("http://www.quackit.com/html/codes/");
// Return an opaque handle to this window that uniquely identifies it within this driver instance. This can be used to switch to this window at a later date
String parentWindow = driver.getWindowHandle();
assert(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*HTML Codes - Free[\\s\\S]*$"));
assert(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*Pop up windows[\\s\\S]*$"));
driver.findElement(By.linkText("Pop up windows")).click();
assert(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*Open a popup window[\\s\\S]*$"));
driver.findElement(By.linkText("Open a popup window")).click();
// to switch control to the new popup window by name
driver.switchTo().window("popUpWindow");
assert(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*Copy/Paste HTML Codes[\\s\\S]*$"));
// closing the popup window
driver.close();
// to switch control from popup window to another window, here parent window
driver.switchTo().window(parentWindow);
assert(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*Open a popup window[\\s\\S]*$"));
}
@BeforeClass
public void beforeClass() {
driver = new FirefoxDriver();
driver.manage().window().maximize();
}
@AfterClass
public void afterClass() {
driver.close();
}
}
Subscribe to:
Posts (Atom)

