Java POM: 09-Selenium Tricks

Common Selector Strategies

Page Title

return driver.getTitle();

 

findElement(By.id

element = driver.findElement(By.id("edit-field-tags-target-id"));
return element;

 

findElement(By.xpath

element = driver.findElement(By.xpath("//iframe[@title='Rich Text Editor, Body field']"));

 

Explicit Waits

int timeoutSec = 15;
WebDriverWait wait = new WebDriverWait(driver, timeoutSec);
wait.until((driver) -> driver.findElements(By.xpath("//a[@href='/uc/user/login']")).size()>0);
wait.until((driver) -> driver.findElement(By.xpath("//a[@href='/uc/user/login']")).isDisplayed());

 

Drupal 8 iframe For Entering Article Body Text

element = driver.findElement(By.xpath("//iframe[@title='Rich Text Editor, Body field']"));
//click into the iframe so text can be entered
element.click();
return element;

 

Moving to frame Element

driver.switchTo().frame("mainpanel");

OR

el = driver.findElement(By.xpath("//frame[@name='mainpanel']"));
driver.switchTo().frame(el);

 

 

MouseOver for Menu Elements

//mouse over the menu item
Actions action = new Actions(driver); //new action

// findElement.... build action to MOVE to element....
action.moveToElement(driver.findElement(By.xpath("//a[contains(.,'Contacts')]"))).build().perform();

// THEN click
action.moveToElement(driver.findElement(By.xpath("//a[contains(.,'New Contact')]"))).build().perform();

el = driver.findElement(By.xpath("//a[contains(.,'New Contact')]"));
el.click();

 

 

 

Tags