Selenium
Getting Started
Initialize Browser Drivers {.row-span-2}
Browser | Syntax |
---|---|
Chrome | WebDriver driver = new ChromeDriver(); |
Edge | WebDriver driver = new EdgeDriver(); |
Firefox | WebDriver driver = new FirefoxDriver(); |
Safari | WebDriver driver = new SafariDriver(); |
{.show-header .left-text}
Selenium Locators {.col-span-2}
Locator | Syntax |
---|---|
className | driver.findElement(By.className (“key”)) |
cssSelector | driver.findElement(By.cssSelector(key”)) |
id | driver.findElement(By.id(key”)) |
linkText | driver.findElement(By.linkText(key”)) |
name | driver.findElement(By.name(“key”)) |
partialLinkText | driver.findElement(By.partialLinkText(“key”)) |
tagName | driver.findElement(By.tagName (“key”)) |
xpath | driver.findElement(By.xpath(“key”)) |
{.show-header .left-text}
Navigate to URL
driver.get("https://www.example.com");
Close all browser windows
driver.quit();
Close the current browser window
driver.close();
Navigation {.col-span-2}
Description | Syntax |
---|---|
Navigate to a new URL | driver.navigate().to(“https://www.newsite.com”); |
Go forward to the next page | driver.navigate().forward(); |
Go back to the previous page | driver.navigate().back(); |
Refresh the current page | driver.navigate().refresh(); |
{.show-header .left-text}
Frame Handling {.col-span-2}
Description | Syntax |
---|---|
Switch to a frame | driver.switchTo().frame(“frameId”); |
Switch back to the main content | driver.switchTo().defaultContent(); |
{.show-header .left-text}
Alerts/Pop-Ups
Alert alert = driver.switchTo().alert();
// Used to click on the ‘OK’ button of the alert.alert.accept();
// Used when the ‘Cancel’ button is clicked in the alert box.alert.dismiss();
// Used to send text to an alertalert.sendKeys("text");
// Used to capture the alert message.alert().getText();
Mouse and Keyboard Actions {.col-span-2}
Actions actions = new Actions(driver);
// Shifts the mouse pointer to the center of the element and click on itactions.moveToElement(element).click().build().perform();
// Performs double click on the elementactions.doubleClick(element).perform();
// Drags the element from one point and drops to anotheractions.dragAndDrop(source, target).perform();
// Sends a series of keys to the elementactions.sendKeys(element, "text").perform();
Page Information {.col-span-1}
// Get the page titledriver.getTitle();
// Get the current page URLdriver.getCurrentUrl();
// Get the entire page source codedriver.getPageSource();
Waits {.col-span-3}
// Explicit Wait :- These are conditional waits can be applied to satisfy a particular conditionWebDriverWait wait = new WebDriverWait(driver, 10);wait.until(ExpectedConditions.elementToBeClickable(element));
// Implicit Wait :- Once the command is run, Implicit Wait remains for the entire duration for which the browser is open.driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
// Fluent Wait :- Fluent Wait in Selenium marks the maximum amount of time for Selenium WebDriver to wait for a certain condition (web element) becomes visible. It also defines how frequently WebDriver will check if the condition appears before throwing the “ElementNotVisibleException”.FluentWait wait = new FluentWait(driver);//Specify the timeout of the waitwait.withTimeout(5000, TimeUnit.MILLISECONDS);//Specify polling timewait.pollingEvery(250, TimeUnit.MILLISECONDS);//Specify what exceptions to ignorewait.ignoring(NoSuchElementException.class)//This is how we specify the condition to wait on.wait.until(ExpectedConditions.alertIsPresent());