You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
greatwall/WebUITasks.java

49 lines
1.6 KiB

package com.hogwarts.base;
import org.apache.log4j.Logger;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
public class WebUITasks {
private static int waitShot = 30;
private static Logger logger = Logger.getLogger(WebUITasks.class);
public static void inputText(String txt, WebDriver driver) throws Exception{
WebElement searchInput = findElementByXpath("//input[@name='wd' and @id='kw']",driver);
searchInput.sendKeys(txt);
logger.info("Search text: " + txt);
}
public static void clickSearchBtn(WebDriver driver) throws Exception{
WebElement searchBtn = findElementByXpath("//input[@type='submit' and @id='su']",driver);
searchBtn.click();
logger.info("Click the search button.");
}
private static WebElement findElementByXpath(String objXpath, WebDriver driver) throws Exception{
WebElement wele = null;
long start = System.currentTimeMillis();
long now = System.currentTimeMillis();
while(((now - start) < waitShot * 1000) && (wele == null)){
wait(1);
wele = driver.findElement(By.xpath(objXpath));
now = System.currentTimeMillis();
}
if(wele == null){
throw new Exception("Can not find out the element: " + objXpath);
}
return wele;
}
protected static void wait(int sec){
try {
Thread.sleep(sec * 1000);
} catch (InterruptedException e) {
}
}
}