How to use WebDriver Backed Selenium

Thursday, March 1, 2018
Avatar

WebDriver Backed Selenium

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…

Run WebDriver Scripts in Chrome

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 beforeClass
java.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 script
Download 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.

4 Replies
Thursday, March 1, 2018
Avatar
re: azharuddin Thursday, March 1, 2018

Thanks for posting the article, that is very useful.

Regards

Adam

Thursday, February 25, 2021
Avatar
re: azharuddin Thursday, March 1, 2018

I think this info will also help Selenium with Python Training learners.

Saturday, March 13, 2021
Avatar
re: azharuddin Thursday, March 1, 2018

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.

Monday, May 31, 2021
Avatar
re: azharuddin Thursday, March 1, 2018

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

Statistics
  • Started: Thursday, March 1, 2018
  • Last Reply: Thursday, September 16, 2021
  • Replies: 4
  • Views: 8478