Selenium Webdriver – 10 Coding Tips To Improve
Quality
Tip-1: Best Method To Create Webdriver Instance.
public class DriverFactory {
private WebDriver driver = null;
public static WebDriver getBrowser(String browserType) {
if (driver == null) {
if ([Link]("Firefox"))
{
driver = new FirefoxDriver();
} else if ([Link]("Chrome"))
{
driver = new ChromeDriver();
} else if ([Link]("IE"))
{
driver = new InternetExplorerDriver();
}
}
return driver;
}
}
Tip-2: Simple Method To Check If An Element Exists.
Boolean isItemPresent = [Link]([Link]).size() > 0
Tip-3: Avoid Exception While Checking An Element Exists.
/* 1- Test if an element exists on the page.
2- Ignore the no element found exception.
*/
By element = [Link](".//*[@id='demo']/p");
Wait < WebDriver > wait = new FluentWait < > (driver)
.withTimeout(60, [Link])
.pollingEvery(5, [Link])
.ignoring([Link]);
[Link](ExpectedConditions
.presenceOfElementLocated(element));
Tip-4: Wait For A Page With JavaScript(JS) To Load.
[Link](new Predicate < WebDriver > () {
@Override
public Boolean apply(WebDriver driver) {
return ((JavascriptExecutor) driver).executeScript("return
[Link]").equals("complete");
}
});
Tip-5: Take A Screenshot Using Webdriver.
WebDriver driver = new FirefoxDriver();
[Link]("[Link]
// Store the screenshot in current project dir.
String screenShot = [Link]("[Link]") + "\\[Link]";
// Call Webdriver to click the screenshot.
File scrFile = ((TakesScreenshot) driver).getScreenshotAs([Link]);
// Save the screenshot.
[Link](scrFile, new File(screenShot));
Tip-6: How To Select/Get Drop Down Option In Selenium
Webdriver.
Select dropdown = new Select([Link]([Link]("//drop_down_x_path")));
[Link]();
[Link]("selectLabel");
Tip-7: Refreshing Web Page By WebDriver During Tests.
[Link]().refresh();
Tip-8: Run A JavaScript Code Using Selenium Webdriver.
JavascriptExecutor JS = (JavascriptExecutor) driver;
[Link]("alert('hello world')");
Tip-9: Open A New Tab Using Selenium WebDriver In Java.
- [Link]([Link]("body")).sendKeys([Link] +"t");
- ArrayList<String> tablist = new ArrayList<String> ([Link]());
[Link]().window([Link](0));
Tip-10: Switch To A New Browser Window In Webdriver.
// Get the current window handle.
String hBefore = [Link]();
// Click to open new windows.
// Switch to new windows.
for(String hNew: [Link]()){
[Link]().window(hNew);
}
// Close all new windows.
[Link]();
// Switch back to first window.
[Link]().window(hBefore);
// Resume your work.