selenium java封装_selenium-java常用方法封装:

本文档展示了如何使用Java封装Selenium的一些常用方法,包括元素存在性检查、元素查找、元素列表操作、弹出框处理、窗口切换以及键盘模拟等,方便在自动化测试中使用。
摘要由CSDN通过智能技术生成

1、判断一个元素是否存在

public boolean isElementExist(By by){

try {

driver.findElement(by);

return true;

} catch (NoSuchElementException e) {

return false;

}

}

2、查找元素

public WebElement findById(String id){

WebElement element = null;

if(this.isElementExist(By.id(id))){

element = driver.findElement(By.id(id));

}

return element;

}

3、判断元素列表是否存在

public boolean elementsExists(By by){

return (driver.findElements(by).size()>0)?true:false;

}

4、获取元素列表中指定的元素

public WebElement FindByElements(By by,int index){

WebElement element = null;

if(this.elementsExists(by)){

element = driver.findElements(by).get(index);

}

return element;

}

5、判断弹出框

public boolean isAlertPresent(){

try {

alert = driver.switchTo().alert();

return true;

} catch (NoAlertPresentException Ex) {

return false;

}

}

6、接受弹出框

public void acceptAlert(){

if(this.isAlertPresent()){

alert.accept();

}

}

7、取消弹出框

public void dimissAlert(){

if(this.isAlertPresent()){

alert.dismiss();

}

}

8、获取弹出内容

public String getAlertText(){

String text = null ;

if(this.isAlertPresent()){

text = alert.getText();

}else{

//todo:log;

}

return text;

}

切换窗口

public void switchToWindow(String windowTtitle){

Set windowHandles = driver.getWindowHandles();

for(String handler:windowHandles){

driver.switchTo().window(handler);

String title = driver.getTitle();

if(windowTtitle.equals(title)){

break;

}

}

}

切换窗口-根据frameid

public void switchToFrame(String frameId){

driver.switchTo().frame(frameId);

}

public void switchToFrame(int index){

driver.switchTo().frame(index);

}

根据元素切换窗口

public void switchToframe(WebElement element){

driver.switchTo().frame(elemenet);

}

判断是否加载有JQuery

public Boolean JQueryLoaded(){

Boolean loaded;

JavascriptExecutor js =(JavascriptExecutor)driver;

try{

loaded  =(Boolean)js.executeScript("return"+"JQuery()!=null")

}catch(WebDriverException e){

loaded = false;

}

return loaded;

}

截屏

public void screenShot(WebDriver driver){

String dir_name ="screenshot";

if(!(new File(dir_name).isDirectory)){

new File(dir_name).mkdir();

}

SimpleDateFormat sdf = new SimpleDataFormat("yyyyMMdd-HHmmss");

String time = sdf.format(new Date());

try{

File source_file=((TakesScreenshot)driver.getScreenshotAs(OutputType.FILE));//执行截屏

FileUtils.copyFile(source_file,new File(dir_name+File.separator+time+".png"));

}catch(IOException e){

e.printStackTrace();

}

}

//获取键盘

public Keyboard getKeyboard(){

return ((HasInputDevices)driver).getKeyboard();

}

//模拟crtrl+F5

public void refreshWithCtrlF5(){

getKeyboard().sendKeys(keys.CONTROL,Keys.F5);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值