Hi There are three .java files and one build.xml file.
package com.org;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox. FirefoxDriver;
import junit.framework.TestCase;
public class TypeGoogle extends TestCase{
private WebDriver driver;
private String baseUrl;
private StringBuffer verificationErrors = new StringBuffer();
@Before
public void setUp() throws Exception {
driver = new FirefoxDriver();
baseUrl = "http://www.google.co.in";
driver.manage().timeouts(). implicitlyWait(30, TimeUnit.SECONDS);
}
@Test
public void testFileTypeGoogle() throws Exception {
driver.get(baseUrl + "/");
driver.findElement(By.xpath("/ /div[@id='gs_lc0']/input")). clear();
driver.findElement(By.xpath("/ /div[@id='gs_lc0']/input")). sendKeys("google");
WebElement google = driver.findElement(By. className("gssb_m"));
List<WebElement> googleBox = google.findElements(By. tagName("span"));
Iterator<WebElement> i = googleBox.iterator();
while(i.hasNext()) {
WebElement sel = i.next();
System.out.println(sel. getText());
}
}
@After
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals( verificationErrorString)) {
fail(verificationErrorString);
}
}
}
=====================================================================
package com.org;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox. FirefoxDriver;
import junit.framework.TestCase;
public class AddGadget extends TestCase{
private WebDriver driver;
private String baseUrl;
private StringBuffer verificationErrors = new StringBuffer();
@Before
public void setUp() throws Exception {
driver = new FirefoxDriver();
baseUrl = "http://www.google.com/";
driver.manage().timeouts(). implicitlyWait(30, TimeUnit.SECONDS);
}
@Test
public void testFileAddGadget() throws Exception {
driver.get(baseUrl + "ig");
driver.findElement(By.xpath("/ /div[@class='popupContent']/ div/a[@id='popup_dialog_close' ]")).click();
driver.findElement(By. cssSelector("img.G-BJ.G-AJ")). click();
driver.findElement(By.id(" search_module_query_box")). clear();
driver.findElement(By.id(" search_module_query_box")). sendKeys("news");
driver.findElement(By.id(" search_module_submit_button")) .click();
driver.findElement(By.id(" featured_gadget_link")).click( );
driver.findElement(By. cssSelector("#addbtn > input.kd-button")).click();
driver.findElement(By.id(" back_to_gallery_link")).click( );
driver.findElement(By. cssSelector("input.kd-button") ).click();
driver.findElement(By. cssSelector("span.G-PI")). click();
driver.findElement(By.id("tdd_ edit")).click();
driver.findElement(By. linkText("Delete")).click();
driver.switchTo().alert(). accept();
Thread.sleep(5000);
driver.manage().timeouts(). implicitlyWait(10, TimeUnit.SECONDS);
}
@After
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals( verificationErrorString)) {
fail(verificationErrorString);
}
}
}
=====================================================================
package com.org;
import junit.framework.Test;
import junit.framework.TestSuite;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite. SuiteClasses;
@RunWith(Suite.class)
@SuiteClasses(value = {AddGadget.class, TypeGoogle.class})
public class IGTestSuite {
public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTestSuite(AddGadget. class);
suite.addTestSuite(TypeGoogle. class);
return suite;
}
public static void main(String[] args) {
junit.textui.TestRunner.run( suite());
}
}
=====================================================================
<?xml version="1.0" encoding="UTF-8"?>
<project name="IGoogle" default="all" basedir=".">
<description>
Demo UI testing, using Selenium and JUnit
</description>
<!-- set global properties for this build -->
<property name="project_name" value="Results"/>
<property name="src" location="src"/>
<property name="build" location="bin"/>
<property name="dist" location="dist"/>
<property name="lib" location="lib"/>
<property name="res" location="res"/>
<property name="output" location="out"/>
<!-- Set the Classpath -->
<path id="classpath">
<fileset dir="./lib/">
<include name="*.jar"/>
</fileset>
<pathelement path="${build}"/>
</path>
<!-- top level targets -->
<target name="compile" depends="init" description="compile the source code " >
<javac srcdir="${src}" destdir="${build}" includeantruntime="false">
<classpath refid="classpath"></classpath>
</javac>
</target>
<target name="clean"
description="clean up" >
<!-- Delete the ${build} and ${dist} directory trees -->
<delete dir="${build}"/>
<delete dir="${output}"/>
</target>
<!-- Selenium Test Case Start -->
<target name="Start_Selenium_Server">
<echo message="Start Selenium Server. Please wait.."/>
<java jar="./lib/selenium-server. jar"
fork="true" spawn="true" >
<classpath refid="classpath"></classpath>
<!-- Set the proxy
<arg value="-Dhttp.proxyHost=172. 16.18.3"/>
<arg value="-Dhttp.proxyPort=8080"/ >
<arg line="-singleWindow" />-->
<arg line="-log ${output}/selenium.log"/>
</java>
<echo message="Started Selenium Server. "/>
</target>
<target name="Stop-Selenium-Server">
<echo message="Stop Selenium Server. Please wait.."/>
<get taskname="selenium-shutdown"
src="http://localhost:4444/ selenium-server/driver/?cmd= shutDownSeleniumServer"
dest="${output}/server.stop. status.txt"
ignoreerrors="true"/>
</target>
<target name="run-alltests" depends="compile" description="run all test suite" >
<echo message="Test Run. Please wait.."/>
<antcall target="Start_Selenium_Server" />
<junit printsummary="yes" haltonfailure="no" showoutput="yes" >
<classpath refid="classpath"/>
<batchtest fork="yes" todir="${output}/raw/">
<formatter type="xml"/>
<fileset dir="${build}">
<filename name="com/org/IGTestSuite. class"/>
</fileset>
</batchtest>
</junit>
<antcall target="Stop-Selenium-Server"/ >
</target>
<target name ="test" depends="run-alltests">
<java classname="com/org/ IGTestSuite.class"
fork="true">
<arg line="${output}/raw/ ${output}/SeleniumReport.xml"/ >
<classpath refid="classpath"/>
</java>
<junitreport todir="${output}">
<fileset dir="${output}/raw/">
<include name="TEST-*.xml"/>
</fileset>
<report format="frames" todir="${output}/html/"/>
</junitreport>
</target>
<!-- supporting targets -->
<target name="init" description="initialize the build environment" >
<!-- Create the time stamp -->
<tstamp/>
<!-- Create directory structures -->
<mkdir dir="${build}"/>
<mkdir dir="${output}"/>
<mkdir dir="${output}/raw/"/>
<mkdir dir="${output}/html/"/>
</target>
<target name="all" depends="clean, test">
</target>
</project>
=====================================================================
package com.org;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.
import junit.framework.TestCase;
public class TypeGoogle extends TestCase{
private WebDriver driver;
private String baseUrl;
private StringBuffer verificationErrors = new StringBuffer();
@Before
public void setUp() throws Exception {
driver = new FirefoxDriver();
baseUrl = "http://www.google.co.in";
driver.manage().timeouts().
}
@Test
public void testFileTypeGoogle() throws Exception {
driver.get(baseUrl + "/");
driver.findElement(By.xpath("/
driver.findElement(By.xpath("/
WebElement google = driver.findElement(By.
List<WebElement> googleBox = google.findElements(By.
Iterator<WebElement> i = googleBox.iterator();
while(i.hasNext()) {
WebElement sel = i.next();
System.out.println(sel.
}
}
@After
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals(
fail(verificationErrorString);
}
}
}
=====================================================================
package com.org;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.
import junit.framework.TestCase;
public class AddGadget extends TestCase{
private WebDriver driver;
private String baseUrl;
private StringBuffer verificationErrors = new StringBuffer();
@Before
public void setUp() throws Exception {
driver = new FirefoxDriver();
baseUrl = "http://www.google.com/";
driver.manage().timeouts().
}
@Test
public void testFileAddGadget() throws Exception {
driver.get(baseUrl + "ig");
driver.findElement(By.xpath("/
driver.findElement(By.
driver.findElement(By.id("
driver.findElement(By.id("
driver.findElement(By.id("
driver.findElement(By.id("
driver.findElement(By.
driver.findElement(By.id("
driver.findElement(By.
driver.findElement(By.
driver.findElement(By.id("tdd_
driver.findElement(By.
driver.switchTo().alert().
Thread.sleep(5000);
driver.manage().timeouts().
}
@After
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals(
fail(verificationErrorString);
}
}
}
=====================================================================
package com.org;
import junit.framework.Test;
import junit.framework.TestSuite;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.
@RunWith(Suite.class)
@SuiteClasses(value = {AddGadget.class, TypeGoogle.class})
public class IGTestSuite {
public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTestSuite(AddGadget.
suite.addTestSuite(TypeGoogle.
return suite;
}
public static void main(String[] args) {
junit.textui.TestRunner.run(
}
}
=====================================================================
<?xml version="1.0" encoding="UTF-8"?>
<project name="IGoogle" default="all" basedir=".">
<description>
Demo UI testing, using Selenium and JUnit
</description>
<!-- set global properties for this build -->
<property name="project_name" value="Results"/>
<property name="src" location="src"/>
<property name="build" location="bin"/>
<property name="dist" location="dist"/>
<property name="lib" location="lib"/>
<property name="res" location="res"/>
<property name="output" location="out"/>
<!-- Set the Classpath -->
<path id="classpath">
<fileset dir="./lib/">
<include name="*.jar"/>
</fileset>
<pathelement path="${build}"/>
</path>
<!-- top level targets -->
<target name="compile" depends="init" description="compile the source code " >
<javac srcdir="${src}" destdir="${build}" includeantruntime="false">
<classpath refid="classpath"></classpath>
</javac>
</target>
<target name="clean"
description="clean up" >
<!-- Delete the ${build} and ${dist} directory trees -->
<delete dir="${build}"/>
<delete dir="${output}"/>
</target>
<!-- Selenium Test Case Start -->
<target name="Start_Selenium_Server">
<echo message="Start Selenium Server. Please wait.."/>
<java jar="./lib/selenium-server.
fork="true" spawn="true" >
<classpath refid="classpath"></classpath>
<!-- Set the proxy
<arg value="-Dhttp.proxyHost=172.
<arg value="-Dhttp.proxyPort=8080"/
<arg line="-singleWindow" />-->
<arg line="-log ${output}/selenium.log"/>
</java>
<echo message="Started Selenium Server. "/>
</target>
<target name="Stop-Selenium-Server">
<echo message="Stop Selenium Server. Please wait.."/>
<get taskname="selenium-shutdown"
src="http://localhost:4444/
dest="${output}/server.stop.
ignoreerrors="true"/>
</target>
<target name="run-alltests" depends="compile" description="run all test suite" >
<echo message="Test Run. Please wait.."/>
<antcall target="Start_Selenium_Server"
<junit printsummary="yes" haltonfailure="no" showoutput="yes" >
<classpath refid="classpath"/>
<batchtest fork="yes" todir="${output}/raw/">
<formatter type="xml"/>
<fileset dir="${build}">
<filename name="com/org/IGTestSuite.
</fileset>
</batchtest>
</junit>
<antcall target="Stop-Selenium-Server"/
</target>
<target name ="test" depends="run-alltests">
<java classname="com/org/
fork="true">
<arg line="${output}/raw/ ${output}/SeleniumReport.xml"/
<classpath refid="classpath"/>
</java>
<junitreport todir="${output}">
<fileset dir="${output}/raw/">
<include name="TEST-*.xml"/>
</fileset>
<report format="frames" todir="${output}/html/"/>
</junitreport>
</target>
<!-- supporting targets -->
<target name="init" description="initialize the build environment" >
<!-- Create the time stamp -->
<tstamp/>
<!-- Create directory structures -->
<mkdir dir="${build}"/>
<mkdir dir="${output}"/>
<mkdir dir="${output}/raw/"/>
<mkdir dir="${output}/html/"/>
</target>
<target name="all" depends="clean, test">
</target>
</project>
=====================================================================