天天看点

Java-Selenium-UI-自动化代码功能模块汇总

代码块:

// 刷新页面
public void ReflshPage() {
driver.navigate().refresh();
this.waitime2(1000);
}
           
// 处理Alert提示框
public void DelAlete(boolean iscancel) {
Alert alt = driver.switchTo().alert();
if (iscancel != false) {
this.waitime2(2000);
alt.accept();
} else {
alt.dismiss();
}
}
           
// 处理模态框
public void Del_MoTai_Alter() {
driver.switchTo().activeElement();
}
           
// 处理提示框里的输入框
public void DelAlterSendcase(String text, boolean iscancel) {
Alert prompt = driver.switchTo().alert();
prompt.sendKeys(text);
if (iscancel != false) {
prompt.accept();
} else {
prompt.dismiss();
}
}
           
// 多个窗口切换
public void getWindows() {
Set winHandels = driver.getWindowHandles();
List it = new ArrayList(winHandels);
driver.switchTo().window(it.get(1));
this.waitime2(1500);
driver.close();
this.waitime2(1000);
driver.switchTo().window(it.get(0));
this.waitime2(1000);
}
           
// 处理ifream
public void swichTo(WebElement element) {
driver.switchTo().frame(element);
}
           
处理时间控件(1.删除元素,2.设置元素)
/
public void SetAttribute(WebElement local, String Attribute, String new_value) {
/
String js =
“document.getElementById(‘actdate_1’).removeAttribute(‘readonly’)”;
((JavascriptExecutor) driver).executeScript(js);
*/
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript(“aeguments[0].setAttribute(arguments[1],arguments[2])”, local, Attribute, new_value);
}
public void removeAttribute(WebElement local, String Attribute) {
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript(“aeguments[0].remove(arguments[0],arguments[1])”, local, Attribute);
}
           
// 截图操作
public void cutScreamPicture(String SavePicturePath) {
try {
File srcFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(srcFile, new File(SavePicturePath));
} catch (IOException e) {
e.printStackTrace();
}
}
           
// 滚动到最下方
public void OperitionScrollDown() {
((JavascriptExecutor) driver).executeScript(“window.scrollTo(0,document.body.scrollHeight)”);
this.waitime2(3000);
}
           
// 滚动到指定元素位置
public void OperitionScrollToElement(WebElement element) {
((JavascriptExecutor) driver).executeScript(“arguments[0].scrollIntoView();”, element);
this.waitime2(3000);
}
           
// 向下滑动800像素
public void OperitionScrollTo() {
((JavascriptExecutor) driver).executeScript(“window…scrollBy(0,800);”);
this.waitime2(3000);
}
           
*封装BasePage介绍
public class Base_Page {
Base_Driver driver;

public Base_Page(Base_Driver driver) {
this.driver = driver;
}

public WebElement getElement(String key) {
return driver.findElement(GetLoctions.Loction(key));
}

public List getElements(String key) {
return driver.findElements(GetLoctions.Loction(key));
}

public void Click(WebElement element) {
try {
element.click();
} catch (ElementNotVisibleException e) {
System.out.println(“传入的元素” + element + “有误!请检查元素是否正确!”);
}
}

public void Sendkeys(WebElement element, String key) {
try {
element.sendKeys(key);
} catch (Exception e) {
System.out.println(“传入的元素:” + element + “,传入的Key值:” + key + “,有错误!请检查”);
}
}

// 层级定位
public List getFathElement(WebElement element, String key) {
return element.findElements(GetLoctions.Loction(key));
}

public WebElement getSonElement(List elements, int index) {
return elements.get(index);
}

// 清除之前输入框的内容
public void ClearTest(WebElement element) {
if (element != null) {
driver.waitime(5);
element.clear();
} else {
System.out.println(element + “有错误!请检查”);
}
}

// 等待时间
public void waitimes(long time) {
driver.waitime2(time);
}

// 处理提示框输入字符
public void AlterSendCase(String text, boolean iscancel) {
driver.DelAlterSendcase(text, iscancel);
}

// 多窗口切换
public void ChangeWindows() {
driver.getWindows();
}

// 处理时间输入框–时间输入框的元素
public WebElement SendTime(String key) {
return driver.findElement(GetLoctions.Loction(key));
}

// 处理模态框
public void MoTaiBox() {
driver.Del_MoTai_Alter();
}

caseDriver介绍
public class Case_Driver {
public Base_Driver initDriver(String browser){
Base_Driver driver=new Base_Driver(browser);
return driver;
}
}