Skip Navigation LinksHome Page > Forums > RemoteLaunch Forums > RemoteLaunch Issues & Que... > How to use WebDriver Back...
The Java version of Webdriver provides an implementation of the Selenium-RC API. This means that you can use the underlying WebDriver technology using the Selenium-RC API. This is primarily provided for backwards compatiblity. It allows those who have existing test suites using the Selenium-RC API to use WebDriver under the covers. It’s provided to help ease of the migration path to Selenium-Web driver.Sample Backed web driver script looks like this:
package webone; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebDriverBackedSelenium; import org.openqa.selenium.firefox.FirefoxDriver; import com.thoughtworks.selenium.SeleneseTestCase; import com.thoughtworks.selenium.Selenium; @SuppressWarnings("deprecation") public class BackedSelenium extends SeleneseTestCase { //web driver ??here we are declaring the browser WebDriver driver = new FirefoxDriver(); @Before public void setUp() throws Exception { String baseUrl = "https://www.google.co.in/"; selenium = new WebDriverBackedSelenium(driver, baseUrl); } @TEST public void testBackedSelenium() throws Exception { //This is using selenium selenium.open("/"); selenium.click("id=gbi5"); selenium.click("id=gmlas"); selenium.waitForPageToLoad("30000"); selenium.type("name=as_q", "test"); //Here we are using Webdriver driver.findElement(By.id("as_oq1")).sendKeys("naga"); driver.findElement(By.id("as_oq2")).sendKeys("Webdriver"); Thread.sleep(5000); } @After public void tearDown() throws Exception { selenium.stop(); } }
By using the above format, you can use both the Selenium API and Web driver API…
We run the Selenium Webdriver programs in Google Chrome web browser to perform automation testing.Below theory explains you how to run your webdriver script in google chrome..Firefox Browser:driver=new FirefoxDriver();---it will work and will launch your firefox browser,Google Chrome:driver= new Chromedriver() --- it will throw an error.Error:FAILED CONFIGURATION: @BeforeClass beforeClassjava.lang.IllegalStateException:The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information.To overcome this, we need to download the chrome driver.exe and we have to specify the path of a chrome driver in the scriptDownload path:https://code.google.com/p/chromedriver/downloads/list take the latest exe file.
Checkout Selenium Interview Questions
Save the chrome driver in a folder and you need to specify the path of a driver in your web driver script.Below is the Sample code:
package testng; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; public class ChromedriverTest { 111 public WebDriver driver; @BeforeClass public void beforeClass() { // Create chrome driver instance... System.setProperty("webdriver.chrome.driver", "C:xxxJarchromedriver.exe"); driver=new ChromeDriver(); } @TEST public void testChromedriverTest() throws Exception { driver.navigate().to("https://bing.com"); Thread.sleep(5000); } @AfterClass public void afterClass() { driver.quit(); } }
Use the above code for your script which will run in Google chrome.
Thanks for posting the article, that is very useful.
Regards
Adam
I think this info will also help Selenium with Python Training learners.
The Java version of Webdriver provides an implementation of the Selenium-RC API. This means that you can use the underlying WebDriver technology using the Selenium-RC API. This is primarily provided for backward compatibility. It allows those who have existing test suites using the Selenium-RC API to use WebDriver under the covers. It’s provided to help ease the migration path to Selenium-Web driver.Sample Backed web driver script looks like this:
package webone;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriverBackedSelenium;
import org.openqa.selenium.firefox.FirefoxDriver;
import com.thoughtworks.selenium.SeleneseTestCase;
import com.thoughtworks.selenium.Selenium;
@SuppressWarnings("deprecation")
public class BackedSelenium extends SeleneseTestCase {
//web driver ??here we are declaring the browser
WebDriver driver = new FirefoxDriver();
@Before
public void setUp() throws Exception {
String baseUrl = "https://www.google.co.in/";
selenium = new WebDriverBackedSelenium(driver, baseUrl);
}
@TEST
public void testBackedSelenium() throws Exception {
//This is using selenium
selenium.open("/");
selenium.click("id=gbi5");
selenium.click("id=gmlas");
selenium.waitForPageToLoad("30000");
selenium.type("name=as_q", "test");
//Here we are using Webdriver
driver.findElement(By.id("as_oq1")).sendKeys("naga");
driver.findElement(By.id("as_oq2")).sendKeys("Webdriver");
Thread.sleep(5000);
@After
public void tearDown() throws Exception {
selenium.stop();
By using the above format, you can use both the Selenium API and Web driver API.
If you're not already using Selenium Remote Control (RC), you want to use the WebDriver option.
Longer answer: RC is the older 1.0 version of Selenium. WebDriver is the newer 2.0 version. WebDriver-Backed is a middle ground, allowing you to use the old RC API through the new WebDriver implementation.
You can switch between the options in the IDE and see for yourself the different tests that are generated.
More info at the Selenium Classes in Pune
As you probably know, WebDriverBackedSelenium provides Selenium 1. x (Selenium RC) compatible interfaces but it's 100% implemented using WebDriver.
There are many downsides to using it, for example - WebDriverBackedSelenium is significantly slower than using WebDriver APIs directly. But let's stick with the original question :)
With the release of Selenium 3.0, it was decided to delete the original Selenium Core implementation. For the one that has used the old RC interfaces, the Selenium team has provided an alternative implementation that’s backed by WebDriver which is the same as WebDriverBackedSelenium which has been available as part of Selenium 2 since its release.
This implementation is the Selenium Leg Rc. In order to use it, just include the dependency in your project, for example, using Maven:
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-leg-rc</artifactId> <version>3.0.1</version> </dependency>
And now you will be able to work as you worked until now, Learn Selenium 3.0 with WebDriverBackedSelenium.
And if you have any questions, please email or call us at +1 (202) 558-6885