Selenium
RC
|
Selenium
Web driver
|
It is easy and small API.
These API’s are less Object oriented
|
As compared to RC, it
is bit complex and large API. API’s are entirely Object oriented
|
Selenium RC is slower
since it uses a JavaScript program called Selenium Core. This Selenium
Core is the one that directly controls the browser, not you.
|
Web Driver is faster
than Selenium RC since it speaks directly to the browser uses the
browser’s own engine to control it.
|
Selenium Core, just
like other JavaScript codes, can access disabled elements.
|
Web Driver interacts
with page elements in a more realistic way. It interacts natively with
browser application
|
Required to start
server before executing the test script.
|
Doesn’t required to
start server before executing the test script.
|
It is standalone java
program which allow you to run Html test suites.
|
It actual core API
which has binding in a range of languages.
|
Selenium RC cannot
support the headless HtmlUnit browser. It needs a real, visible browser
to operate on.
|
Web Driver can support
the headless HtmlUnit browser.
|
It doesn’t supports of
moving mouse cursors.
|
It supports of moving
mouse cursors.
|
Selenium RC Has
Built-In Test Result Generator. Selenium RC automatically generates an HTML
file of test results.
|
Web Driver has no
built-in command that automatically generates a Test Results File.
|
It does not supports
listeners
|
It supports the
implementation of listeners
|
Selenium RC needs the
help of the RC Server in order to do so.
|
web Driver directly
talks to the browser
|
It does not support to
test iphone/Android applications
|
It support to test
iphone/Android applications
|
Selenium RC can support
new browsers
|
It cannot readily
support new browsers
|
Pages
Search This Blog
Showing posts with label WebDriver. Show all posts
Showing posts with label WebDriver. Show all posts
Saturday, July 5, 2014
Difference between Selenium RC and Selenium Web Driver
Wednesday, July 27, 2011
Runing test script in multiple browsers using WebDriver
we can run test script in different browsers using web driver. Write one test script and configure in testng xml to run that test case in IE, firefox chrome.
TestNG.xml
package com.web;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.testng.Assert;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class WebDriverDemo {
private static WebDriver driver = null;
@Test
@Parameters( {"BROWSER"})
public void testread(String BROWSER)throws Exception{
System.out.println("Browser: " + BROWSER);
if (BROWSER.equals("FF")) {
System.out.println("FF is selected");
driver = new FirefoxDriver();
} else if (BROWSER.equals("IE")) {
System.out.println("IE is selected");
driver = new InternetExplorerDriver();
} else if (BROWSER.equals("HU")) {
System.out.println("HU is selected");
driver = new HtmlUnitDriver();
} else if (BROWSER.equals("CH")){
System.out.println("Google chrome is selected");
driver = new ChromeDriver();
}
driver.navigate().to("http://www.yahoo.com");
Thread.sleep(10000);
WebElement search= driver.findElement(By.name("p"));
search.sendKeys("automation blog by niraj");
search.submit();
Thread.sleep(5000);
Assert.assertTrue(driver.getPageSource().contains("automationtricks.blogspot.com"),"Failed in "+ BROWSER);
driver.close();
}
}
In the above sample program BROWSER is a variable which value would be passed from TestNG.xml and TestNG.xml will run the test multiple time each time BROWSER value would be set with different browser name and test will check the BROWSER value and decide which browser test will run.TestNG.xml
<?xml version="1.0" encoding="UTF-8"?>
<suite name="webDriver">
<test name="WebDriverDemo Witn FF" preserve-order="true">
<parameter name="BROWSER" value="FF" />
<classes>
<class name="com.web.WebDriverDemo" />
</classes>
</test>
<test name="WebDriverDemo with IE" preserve-order="ture">
<parameter name="BROWSER" value="IE"></parameter>
<classes>
<class name="com.web.WebDriverDemo"></class>
</classes>
</test>
<test name="WebDriverDemo with HTML unit" preserve-order="true">
<parameter name="BROWSER" value="HU"></parameter>
<classes>
<class name="com.web.WebDriverDemo"></class>
</classes>
</test>
<test name="WebDriverDemo with chrome" preserve-order="true">
<parameter name="BROWSER" value="CH"></parameter>
<classes>
<class name="com.web.WebDriverDemo"></class>
</classes>
</test>
</suite>
Friday, July 22, 2011
Easy Way To Automate Using WebDriver
WebDriver is a clean, fast framework for Automation development of web-apps. WebDriver takes many advantages over selenium because selenium is written in java-script which causes a significant weakness: browsers impose a pretty strictly model , try to upload a file ,form control etc.
webDriver takes a different approach to solve the same problem as selenium. Rather than being running a java-script application within a browser, it uses whichever the mechanism is most appropriate to control the browser. Like for Firefox ,this means that webDriver is implemented as an extension.
Please download the respective jar related to your language from google code selenium project Download
Now follow below steps:-
1:- Extract the download file into a folder name and include the jars file ion your ClassPath
2:- Sample coding in java
webDriver takes a different approach to solve the same problem as selenium. Rather than being running a java-script application within a browser, it uses whichever the mechanism is most appropriate to control the browser. Like for Firefox ,this means that webDriver is implemented as an extension.
The real beauty which I like most is real time environment, which means we are more closely modeling how the user interacts with the browser, and that we can type into "file" input elements. WebDriver can make use of facilities offered by the Operating System.
With the benefit of hindsight, we have developed a cleaner, Object-based API for WebDriver, rather than follow Selenium's dictionary-based approach.Please download the respective jar related to your language from google code selenium project Download
Now follow below steps:-
1:- Extract the download file into a folder name and include the jars file ion your ClassPath
2:- Sample coding in java
import junit.framework.TestCase;import org.junit.Test;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class WebDriverTest extends TestCase{
@Testpublic void test_hellotest()throws Exception{
WebDriver driver = new FirefoxDriver();
// And now use this to visit Google
driver.get(http://www.google.com/webhp?complete=1&hl=en);// Find the text input element by its name
WebElement element = driver.findElement(By.name("q"));
// Enter something to search forelement.sendKeys("Niraj Kumar");
// Now submit the form. WebDriver will find the form for us from the elementelement.submit();// Check the title of the page
System.out.println("Page title is: " + driver.getTitle());
driver.close();
}
}
Subscribe to:
Posts (Atom)