1.Alert框
//判断是否存在弹出提示框,如果存在,点击"确定",否则跳过
public boolean isAlertPresent(){
try{
driver.switchTo().alert();
System.out.println("存在alert框");
//driver.switchTo().alert().accept();
return true;
}catch (NoAlertPresentException ex) {
System.out.println("不存在alert框");
return false;
}
}
//提示框点击"确定"
public void comfirm_Alert(){
Alert alert = driver.switchTo().alert();
alert.accept();
}
//提示框点击"取消"
public void cancel_Alert(){
Alert alert = driver.switchTo().alert();
alert.dismiss();
}
2.检查元素是否存在
public static boolean checkexist(WebDriver driver,By by){
try{
return driver.findElement(by).isDisplayed();
}catch (Exception e) {
return false;
}
}
public static boolean checkexist(WebDriver driver,WebElement WebElement){
try{
return WebElement.isDisplayed();
}catch (Exception e) {
return false;
}
}
public static boolean checkexist(WebDriver driver,WebElement WebElement,int x){
try{
for(int i=0;i<x;i++){
if(WebElement.isDisplayed()){
return true;
}
else{
Thread.sleep(3000);
}
}
}catch (Exception e) {
return false;
}
return false;
}
3.鼠标操作
//右键鼠标
public void right_mouse(WebDriver driver,WebElement cc){
Actions ac = new Actions(driver);
ac.contextClick(cc).perform();
}
//双击鼠标
public void double_mouse(WebDriver driver,WebElement cc){
Actions ac = new Actions(driver);
ac.doubleClick(cc).perform();
}
//鼠标悬浮操作
public void move_mouse(WebDriver driver,WebElement cc){
Actions ac = new Actions(driver);
ac.moveToElement(cc).perform();
}
4.截图方法
public static void screenShot(WebDriver driver) {
String dir_name = "screenshot"; // 这里定义了截图存放目录名,存放在当前项目的路径下,并会生成"screenshot"目录
if (!(new File(dir_name).isDirectory())) { // 判断是否存在该目录
new File(dir_name).mkdir(); // 如果不存在则新建一个目录
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd-HHmmss");
String time = sdf.format(new Date()); // 这里格式化当前时间,例如20120406-165210,后面用的着
try {
File source_file = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); // 关键代码,执行屏幕截图,默认会把截图保存到temp目录
FileUtils.copyFile(source_file, new File(dir_name + File.separator + time + ".jpg")); // 这里将截图另存到我们需要保存的目录,例如screenshot\20120406-165210.jpg
} catch (IOException e) {
e.printStackTrace();
}
}
5.等待元素
public static void waitelement(WebDriver driver,final WebElement webelement){
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(new ExpectedCondition<WebElement>() {
@Override
public WebElement apply(WebDriver arg0) {
return webelement;
}
});
}
6.键盘操作
public static void keyboard(WebDriver driver,Keys key){
Actions actionObject = new Actions(driver);
actionObject.sendKeys(key).perform();
//如果需要按组合键,并且恢复初始状态。需要先keyDown再keyUp
// actionObject.keyDown(Keys.CONTROL).sendKeys(Keys.F5).keyUp(Keys.CONTROL).perform();
//如果单独对某个元素模拟键盘操作
// WebElement password=driver.findElement(By.cssSelector("input#EmployeePassWord"));
// password.sendKeys("123456",Keys.ENTER);
}