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.
49 lines
1.6 KiB
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) {
|
|
|
|
}
|
|
}
|
|
}
|